diff options
Diffstat (limited to 'xsd')
1391 files changed, 3382 insertions, 217363 deletions
diff --git a/xsd/FLOSSE b/xsd/FLOSSE deleted file mode 100644 index cbf8b2c..0000000 --- a/xsd/FLOSSE +++ /dev/null @@ -1,89 +0,0 @@ -1. Intent - -We want specified Free/Libre and Open Source Software ("FLOSS") to be -able to use the specified GPL-licensed XSD runtime library (libxsd) and -XSD generated code (collectively called the "Program") despite the fact -that not all FLOSS licenses are compatible with version 2 of the GNU -General Public License (the "GPL"). - -It is our intent to allow distribution of the entire Derivative Work -(including the Program) under one or more of the FLOSS licenses listed -in section 3 (section 2.a). It is also our intent to disallow simple -relicensing of the Program for the sole purpose of using it in -proprietary applications (section 2.b and 2.c). As an example, consider -two hypothetical scenarios: - - a) You created a program that uses the XSD generated code and the XSD - runtime library to access information in XML instance documents. - Your program performs useful computations based on this information - (sections 2.b and 2.c are satisfied). You distribute your program, - including the XSD generated code and the XSD runtime library under - the BSD license and make it available at no charge to all third - parties (section 2.a is satisfied). Later you (or someone else) may - choose to base their proprietary application on your code since the - BSD license does not prohibit it. - - This scenario falls under this FLOSS Exception. - - - b) You created a library that uses the XSD generated code and the XSD - runtime library to access information in XML instance documents. You - did not add to the library any other useful code that uses the XSD - generated code or the XSD runtime library (neither section 2.b nor - 2.c is satisfied). You distribute your library, including the XSD - generated code and the XSD runtime library under the BSD license and - make it available at no charge to all third parties (section 2.a - is satisfied). Later you base your proprietary application on this - library since the BSD license does not prohibit it. - - This scenario does not fall under this FLOSS Exception (neither - section 2.b nor 2.c is satisfied). You created the library for the - sole purpose of making the XSD generated code and the XSD runtime - library available to your proprietary application. - - -2. Legal Terms and Conditions - -As a special exception to the terms and conditions of version 2 of -the GPL you are free to distribute a verbatim copy of the Program -as part of the Derivative Work that is formed from the Program or -any part thereof and one or more works (each, a "FLOSS Work") as -long as you also meet all of these conditions: - - a) You must cause the Derivative Work that in whole or in part - contains or is derived from the Program or any part thereof, - to be licensed as a whole at no charge to all third parties - under the terms of one or more of the licenses listed in - section 3. - - b) The Derivative Work should contain one or more FLOSS Work that - can be reasonably considered as derived from the Program or some - part thereof. - - c) The Derivative Work should not contain any part of the Program - that cannot be reasonably considered as a base of one or more - FLOSS Work. - - -3. FLOSS License List - - a) Any license listed in the "GPL-Compatible Free Software Licenses" - and the "GPL-Incompatible Free Software Licenses" sections of the - License List as published by the Free Software Foundation (FSF): - - http://www.gnu.org/licenses/license-list.html - - -4. Definitions - -Terms used, but not defined, herein shall have the meaning provided in -the GPL. - -Derivative Work means a derivative work under copyright law. - - -5. Applicability - -You may choose to redistribute a copy of the Program exclusively under -the terms of the GPL by removing the FLOSS Exception notice from that -copy of the Program. diff --git a/xsd/GPLv2 b/xsd/GPLv2 deleted file mode 100644 index 3912109..0000000 --- a/xsd/GPLv2 +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/INSTALL b/xsd/INSTALL deleted file mode 100644 index 96e63f9..0000000 --- a/xsd/INSTALL +++ /dev/null @@ -1,71 +0,0 @@ -Compiler Prerequisites - - build-time: - - - g++ >= 3.4.3 http://gcc.gnu.org - - build >= 0.3.10 http://www.codesynthesis.com/projects/build/ - - cli >= 1.2.0 http://www.codesynthesis.com/projects/cli/ - - run-time: - - - libxerces-c >= 3.0.0 http://xerces.apache.org/xerces-c/ - - libcutl >= 1.8.0 http://www.codesynthesis.com/projects/libcutl/ - - libxsd-frontend >= 2.0.0 http://www.codesynthesis.com/projects/libxsd-frontend/ - - -Generated Code Prerequisites - - build-time: - - - libxsd (header-only XSD runtime library, part of the XSD distribution) - - run-time: - - - libxerces-c >= 3.0.0 (C++/Tree and C++/Parser mappings) - http://xerces.apache.org/xerces-c/ - - - libexpat >= 1.95.8 (C++/Parser mapping, alternative to libxerces-c) - http://www.libexpat.org - - -Building XSD - - First build (and optionally install) all the prerequisites listed above. - Alternatively, you can use the xsd+dep package that includes all the - prerequisites (except g++ and libxerces-c) and can be built with a - single 'make' invocation. - - Once the prerequisites are ready, to build the XSD compiler in source - directory simply run 'make'. You can also build in a separate directory, - for example: - - $ mkdir xsd-i686-pc-linux-gnu - $ cd xsd-i686-pc-linux-gnu - $ make -f ../xsd-x.y.z/makefile - - -Installing XSD - - To install XSD, run 'make install'. Use the install_prefix command - line variable to specify installation location (default is /usr/local), - for example: - - $ make install_prefix=/usr install - - You can fine-tune the installation locations with the following make - variables: - - install_prefix default is /usr/local - install_data_prefix default is install_prefix - install_exec_prefix default is install_prefix - - install_bin_dir default is install_exec_prefix/bin - install_sbin_dir default is install_exec_prefix/sbin - install_lib_dir default is install_exec_prefix/lib - - install_data_dir default is install_data_prefix/share - install_inc_dir default is install_data_prefix/include - - install_doc_dir default is install_data_dir/doc - install_man_dir default is install_data_dir/man - install_info_dir default is install_data_dir/info diff --git a/xsd/LICENSE b/xsd/LICENSE deleted file mode 100644 index 42346bf..0000000 --- a/xsd/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -In addition, as a special exception, Code Synthesis Tools CC gives -permission to link this program with the Xerces-C++ library (or with -modified versions of Xerces-C++ that use the same license as Xerces-C++), -and distribute linked combinations including the two. You must obey -the GNU General Public License version 2 in all respects for all of -the code used other than Xerces-C++. If you modify this copy of the -program, you may extend this exception to your version of the program, -but you are not obligated to do so. If you do not wish to do so, delete -this exception statement from your version. - -In addition, Code Synthesis Tools CC makes a special exception for -the Free/Libre and Open Source Software (FLOSS) which is described -in the accompanying FLOSSE file. diff --git a/xsd/NEWS b/xsd/NEWS deleted file mode 100644 index 5bb59d7..0000000 --- a/xsd/NEWS +++ /dev/null @@ -1,1208 +0,0 @@ -Version 4.0.0 - - * Xerces-C++ 2-series (2.8.0 and earlier) is no longer supported. - - * Visual Studio 2003 (7.1) is no longer supported. - - * HP aCC3 (HP-UX/PA-RISC) is no longer supported. - - * Oracle/Berkeley DB XML support has been removed since it no longer - supports the Xerces-C++-based document access. - - * New option, --std, specifies the C++ standard that the generated code - should conform to. Valid values are c++98 (default) and c++11. - - The C++ standard affects various aspects of the generated code that are - discussed in more detail in mapping-specific documentation (guides and - manuals). Overall, when C++11 is selected, the generated code relies on - the move semantics and uses std::unique_ptr instead of deprecated - std::auto_ptr. See also the documentation for the --std option in the - XSD compiler command line manual (man pages). - - * New option, --fat-type-file, triggers the placement of code corresponding - to global elements into type files instead of schema files in the file- - per-type mode. This option is primarily useful when trying to minimize - the amount of object code that is linked to an executable by packaging - compiled generated code into a static (archive) library. - -C++/Tree - - * Support for ordered types. C++/Tree flattens nested compositors which - sometimes can result in the loss of element ordering information that - could be significant to the application. Ordered types address this - problem. For more information, refer to Section 2.8.4, "Element Order" - in the C++/Tree Mapping User Manual. - - * Support for mixed content in ordered types. For more information, refer - to Section 2.13, "Mapping for Mixed Content Models" in the C++/Tree - Mapping User Manual. - - * xml_schema::type represents anyType content as a DOM fragment, similar - to wildcards. For more information, refer to Section 2.5.2, "Mapping - for anyType" in the C++/Tree Mapping User Manual. - - * xml_schema::simple_type represents anySimpleType content as a text - string. For more information, refer to Section 2.5.3, "Mapping for - anySimpleType" in the C++/Tree Mapping User Manual. - - * New option, --generate-dep, triggers the generation of the make - dependency files (.d) for the generated C++ files. Other options - controlling dependency generation are: --generate-dep-only, - --dep-phony, --dep-target, --dep-suffix, and --dep-regex. For - details on this functionality, refer to the XSD compiler command - line manual (man pages). - - * New option, --suppress-assignment, suppresses the generation of copy - assignment operators for complex types. If this option is specified, - the copy assignment operators for such types are declared private and - left unimplemented. - - * Binary representation now stores string-based enumerations as integer - values corresponding to C++ enumerators instead of string literals. - - * Binary representation now pools polymorphic type-id strings in an - implicit string pool. The string pool support can also be used to - pool strings in other situations. For example, you can implement - string insertion/extraction operators for your stream to pool all - strings. This can be useful if your documents contain a large number - of repetitive strings. - - * New option, --polymorphic-plate, allows the creation of multiple - polymorphic map plates in the same application. For details, refer - to the XSD compiler command line manual (man pages). - - * To get the DOM association in the copy of an object model tree one - now needs to explicitly pass the xml_schema::flags::keep_dom flag as - the second argument to the copy constructor or clone() function. - -Version 3.3.0 - - * New option, --char-encoding, allows you to specify the character encoding - that should be used in the generated code. Valid values for the 'char' - character type are 'utf8' (default), 'iso8859-1' (new), 'lcp' (Xerces-C++ - local code page), and 'custom' (provides support for custom encodings). - Note that if you use a non-default character encoding and include some - libxsd headers (e.g., xsd/cxx/xml/string.hxx) directly, then you will - need to first include the correct xsd/cxx/xml/char-<enc>.hxx header, - where <enc> is iso8859-1, lcp, etc. This mechanism replaces the - XSD_USE_LCP macro. - - For the wchar_t character type the only valid value for this option is - 'auto' and the encoding is automatically selected between UTF-16 and - UTF-32, depending on the wchar_t type size. - - * When the XSD compiler is built with Xerces-C++ 3.1.0 or later, the - handling of multiple imports for the same namespace is enabled. Before, - all subsequent imports for a namespace were ignored which caused errors - in some schemas. Note that if your application has XML Schema validation - enabled, then you will also need to build it with Xerces-C++ 3.1.0 or - later to take advantage of this feature. - - * Automatic mapping for the urn-style XML namespaces. The last component - in the urn name is used to derive the C++ namespace name. - - * New option, --schema-file-regex, in combination with the existing - --type-file-regex, can be used to place the generated files into - subdirectories or to resolve file name conflicts in the file-per- - type mode (--file-per-type). - - * Warning id's have changed to start with a letter identifying the - component issuing the warning. F - compiler frontend, D - compiler - driver, P - C++/Parser mapping, T - C++/Tree mapping. - - * Strings used to match regular expressions supplied with the - --namespace-regex and --anonymous-regex options now include the file - component for the schema being compiled. - - * The XSD_NO_EXPORT macro can be used to omit code generated with the - --export/import-maps and, for C++/Tree, --generate-xml-schema options - during C++ compilation. This may be useful if you would like to use - the same generated code across multiple platforms. - - C++/Tree - - * New option, --generate-element-type, triggers the generation of types - instead of parsing/serialization functions for root elements. This - is primarily useful to distinguish object models with the same root - type but with different root elements. For more information, refer - to the messaging example and Section 2.9.1, "Element Types" in the - C++/Tree Mapping User Manual. To support the customization of the - element type naming the --element-type-regex option has been added. - See the NAMING CONVENTION section in the compiler command line manual - (man pages) for details. - - * New option, --generate-element-map, triggers the generation of a root - element map. The element map allows uniform parsing and serialization - of multiple root elements. This option can only be used together with - --generate-element-type. For more information, refer to the messaging - example and Section 2.9.2, "Element Map" in the C++/Tree Mapping - User Manual. - - * Prior to this version, if the --generate-polymorphic option is - specified, the compiler treats all types as potentially polymorphic. - Now by default only type hierarchies used in substitution groups and - those explicitly declared polymorphic with the new --polymorphic-type - option are treated as polymorphic. This results in smaller and faster - generated code. If you would like to continue using the old behavior, - you will need to specify --polymorphic-type-all. For more information, - on this change see Section 2.11, "Mapping for xsi:type and Substitution - Groups" in the C++/Tree Mapping User Manual. - - * New option, --generate-detach, triggers the generation of detach - functions for required elements and attributes. For optional and - sequence cardinalities the detach functions are now provided by the - respective containers even without this option. These functions, for - example, allow one to move sub-trees in the object model either within - the same tree or between different trees without copying. For more - information, refer to Section 2.8 "Mapping for Local Elements and - Attributes" in the C++/Tree Mapping User Manual. - - * New option, --export-xml-schema, causes the compiler to export/import - types in the XML Schema namespace using the export symbol provided - with the --export-symbol option. - - * New example, embedded, shows how to embed the binary representation of - the schema grammar into an application and then use it to parse and - validate XML documents. - - * New example, compression, shows how to compress an XML document during - serialization and decompress it during parsing using the zlib library. - - * New example, custom/mixed, shows how to use type customization to parse - and serialize mixed content. - - * The streaming example has been extended to show how to perform stream- - oriented, partially in-memory XML processing using the C++/Tree mapping. - With the partially in-memory parsing and serialization only a part of - the object model is in memory at any given time. With this approach one - can process parts of the document as they become available as well as - handle documents that are too large to fit into memory. - - * New default/fixed value initialization code. Now the default/fixed values - are parsed by the XSD compiler at compile time instead of the standard - parsing code at runtime. This will allow the compilation of schemas that - use the default/fixed values without support for XML parsing - (--suppress-parsing option). - - * Empty XML Schema enumeration values are now mapped to the 'empty' C++ - enumerator name instead of 'cxx'. - - * XML Schema union types with members that are enumeration types are - automatically converted to equivalent enumeration types with a union - of all the members' enumerators. - -Version 3.2.0 - - * New option, --disable-warning, disables printing of a warning with - the specified id. Specifying 'all' for the warning id disables all - warnings. - - * New options, --export-maps and --import-maps, provide support for - splitting a polymorphic type hierarchy across several Win32 DLLs. - See the compiler command line manual (man pages) for details. - - C++/Tree - - * During serialization the generated code automatically assigns - generic prefixes (p1, p2, etc) to XML namespaces used in the - vocabulary and for which no custom prefix-namespace mapping - was provided via the xml_schema::namespace_infomap argument. - The xml_schema::namespace_infomap argument in the serialization - functions is now default-initialized to an empty map. The - xml_schema::no_namespace_mapping and xml_schema::xsi_already_in_use - exceptions have been removed. - - * New example, performance, measures the performance of parsing and - serialization. This example also shows how to structure your code - to achieve the maximum performance for these two operations. - - * New example, xpath, shows how to use the C++/Tree mapping together - with XPath. - - * New options, --one-accessor-regex, --opt-accessor-regex, - --seq-accessor-regex, --one-modifier-regex, --opt-modifier-regex, - and --seq-modifier-regex, allow specification of transformations - for accessor and modifier function names for elements and attributes - with specific cardinalities. For more information see the NAMING - CONVENTION section in the compiler command line manual (man pages). - - * Support for comparison (--generate-comparison) and printing - (--generate-ostream) of polymorphic object models. - - * New serialization flag, xml_schema::flags::dont_pretty_print, - disables extra spaces and new lines that make the resulting XML - slightly bigger but easier to read. - - * New example, custom/double, shows how to customize parsing and - serialization code for the xsd:double XML Schema built-in type. - It can be used as a guide on how to customize built-in XML Schema - types that are mapped to fundamental C++ types. - - * Support for fractionDigits and totalDigits facets in serialization - of types derived from xsd:decimal. - - * New set of compile-time macros that control how the xsd:float, - xsd:double, and xsd:decimal types are serialized. The following - macros control the format: - - XSD_CXX_TREE_FLOAT_FIXED - XSD_CXX_TREE_FLOAT_SCIENTIFIC - XSD_CXX_TREE_DOUBLE_FIXED - XSD_CXX_TREE_DOUBLE_SCIENTIFIC - - The following macros control the precision: - - XSD_CXX_TREE_FLOAT_PRECISION_MAX - XSD_CXX_TREE_FLOAT_PRECISION - XSD_CXX_TREE_DOUBLE_PRECISION_MAX - XSD_CXX_TREE_DOUBLE_PRECISION - XSD_CXX_TREE_DECIMAL_PRECISION_MAX - XSD_CXX_TREE_DECIMAL_PRECISION - - If the *_PRECISION_MAX macro is defined then the maximum number of - potentially significant decimal digits that the type can represent - is used. Otherwise, if the *_PRECISION macro is defined then its - value is used. By default the precision is set to the number of - decimal digits that the type can represent without change. For - more information on these options, refer to the following paper: - - http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf - - The old macro, XSD_FP_ALL_DIGITS, that was equivalent to defining - all three *_PRECISION_MAX macros has been removed. - - An alternative to using these macros is to customize the floating - point type as shown in the custom/double example. - - * An additional constructor is generated in situations where a type - contains one or more required element of complex type (that is, - it itself contains elements or attributes). In this constructor, - initializers for such elements are passed as std::auto_ptr and the - newly created instance is directly initialized with and assumes - ownership of the pointed to objects. This constructor is a logical - addition to the non-copying modifiers that were introduced in the - previous version. - - * Extra conversion operators in the fundamental_base class template - which is used to emulate inheritance from fundamental types are now - disabled by default since they cause problems on several compilers. - To enable them compile your code with the XSD_TREE_EXTRA_FUND_CONV - macro defined. - - C++/Parser - - * New options, --generate-xml-schema and --extern-xml-schema, trigger - generation of the mapping for the XML Schema namespace to a separate - header file and inclusion of that header into other generated header - files instead of generating the necessary declarations inline, - respectively. See the compiler command line manual (man pages) for - details. - - * New example, performance, measures the performance of XML parsing. - This example also shows how to structure your code to achieve the - maximum performance for this operation. - - * Type map files can now include comments. A comment starts with # - and ends with a new line or end of file. To specify a name that - contains # enclose it in "". - - * In type map files the optional argument type now defaults to the - return type if the return type ends with * or & (that is, it is - a pointer or a reference) and 'const return type&' otherwise. - - * The interface for polymorphic parsing has been simplified. Calling the - *_parser() functions multiple times to specify several parsers is no - longer supported. Instead you need to pass the xml_schema::parser_map - object which contains the parsers. For more information refer to - Section 5.4, "Support for Polymorphism" in the C++/Parser Mapping - Getting Started Guide. - - * The use of virtual inheritance has been reduced which results in a - much smaller object code size (more than factor of 2 on some tests) - and faster C++ compilation with less RAM used. - - * The low-level Expat-specific parsing API (parse_begin() and parse_end()) - has been extended to provide XML and XML Schema error translation to - exceptions or error handler calls. See Section 7.2, "Expat Document - Parser" in the C++/Parser Mapping Getting Started Guide for more - information. - -Version 3.1.0 - - * New option, --file-per-type, triggers generation of a separate set - of C++ files for each type defined in XML Schema. This compilation - mode is primarily useful when some of your schemas cannot be compiled - separately or have cyclic dependencies which involve inheritance. - Other new options that are useful in this compilation mode are - --type-file-regex, --type-file-regex-trace, and --file-list. See the - compiler command line manual (man pages) for more information. - - * New option, --options-file, allows additional command line options - to be provided in files, with one option per line. - - * New option, --reserved-name, allows insertion of additional names - with optional replacements to the list of names that should not be - used as identifiers. See the compiler command line manual (man pages) - for details. - - * New options, --location-map, --location-regex, and - --location-regex-trace, allow re-mapping of schema locations - specified in the include and import elements without modifying the - schema files. See the compiler command line manual (man pages) for - more information. - - * New option, --guard-prefix, allows specification of a prefix that - should be added to generated header inclusion guards. - - * New option, --file-list, triggers creation of a file with a list of - generated C++ files. This option is primarily useful in the file-per- - type compilation mode (--file-per-type) to create a list of generated - C++ files, for example, as a makefile fragment. Other new options - that are useful with --file-list are --file-list-prologue, - --file-list-epilogue, and --file-list-delim. See the compiler command - line manual (man pages) for more information. - - * Support for the upcoming Xerces-C++ 3.0.0 release. - - C++/Tree - - * New option, --generate-intellisense, triggers generation of workarounds - for IntelliSense bugs in Visual Studio 2005 (8.0). When this option is - used, the resulting code is slightly more verbose. IntelliSense in - Visual Studio 2008 (9.0) does not require these workarounds. Support - for IntelliSense in Visual Studio 2003 (7.1) is improved with this - option but is still incomplete. - - * New options, --type-naming and --function-naming, allow specification - of the type and function naming conventions that should be used in the - generated code. Supported values for --type-naming are: knr (K&R), ucc - (upper-camel-case), and java. Supported values for --function-naming - are: knr (K&R), lcc (lower-camel-case), and java. For more information - see the NAMING CONVENTION section in the compiler command line manual - (man pages). - - * New options, --type-regex, --accessor-regex, --modifier-regex, - --parser-regex, --serializer-regex, and --enumerator-regex, allow - specification of transformations for type, accessor function, - modifier function, parsing function, serialization function, and - enumerator names in order to produce the generated code using a - custom naming convention. For more information see the NAMING - CONVENTION section in the compiler command line manual (man pages). - - * Generated list classes now provide a complete set of constructors and - conform to the standard C++ sequence interface. - - * String-based types now provide two extra constructors that expect a - C string and std::string as their arguments. This allows direct - initialization of string-based types from string literals. - - * New implementations of the XML Schema date/time types (date, dateTime, - duration, gDay, gMonth, gMonthDay, gYear, gYearMonth, and time) that - represent the information in the numerical form. - - * New binary serialization examples: binary/boost, which shows how to - save/load the object model to/from a custom format using the Boost - serialization library as an example, and binary/xdr, which shows how to - save/load the object model to/from XDR (eXternal Data Representation) - binary format using the XDR API provided as part of Sun RPC. - - * The non-copying modifier functions can now be used to assemble object - models from scratch. For more information see Section 4.4, "Creating - the Object Model from Scratch" in the C++/Tree Mapping Getting Started - Guide as well as Section 2.8, "Mapping for Local Elements and Attributes" - in the C++/Tree Mapping User Manual. - - * Doxygen documentation was added to the XSD runtime for the built-in XML - Schema types, exceptions, etc. This allows linking of the generated - documentation to the XSD runtime documentation using the Doxygen tags - mechanism. The Doxygen configuration file for the XSD runtime is - provided in the documentation/cxx/tree/reference/ directory. - - * Support for customization of anyType. Because anyType is a base type - for every generated type, customizing it allows one to implement custom - functionality that spans the entire type system. See the comments - example in the examples/cxx/tree/custom/ directory. - - * New option, --omit-default-attributes, triggers generation of extra - checks that exclude attributes with default and fixed values from the - serialized XML documents. - - * The parsing functions that used to read from DOMInputSource were changed - to use InputSource to ease support of Xerces-C++ 3 and 2 series in the - same code base. - - * The parsing function that used to parse DOMDocument* was changed to - parse xml_schema::dom::auto_ptr<DOMDocument>& instead. If the keep_dom - and own_dom flags are specified then this parsing function resets the - passed automatic pointer and the returned object model assumes - ownership of the DOM document. xml_schema::dom::auto_ptr is a simple - automatic pointer for Xerces-C++ DOM with the same interface as - std::auto_ptr. - - * The xml_schema::tree_node_key DOM user data key was moved to - xml_schema::dom::tree_node_key. - - C++/Parser - - * New option, --generate-polymorphic, triggers generation of polymorphism- - aware code. This option should be used on XML vocabularies which use - xsi:type and/or substitution groups. For more information see Section - 5.4, "Support for Polymorphism" in the C++/Parser Mapping Getting - Started Guide we well as the polymorphism and polyroot examples in the - examples/cxx/parser/ directory. - - * The date/time types (date, dateTime, gDay, gMonth, gMonthDay, gYear, - gYearMonth, and time) now represent time zone in the numerical form. - - * In order to support parsing of polymorphic XML documents, the signatures - of the start_* functions (_start_element, _start_any_element, and - start_root_element) have changed to include a third argument of type - const ro_string<C>*. This argument contains the resolved type name and - namespace in case the xsi:type attribute was specified. - -Version 3.0.0 - - * Anonymous type morphing (automatic type naming) is now performed by - default in both mappings. The --morph-anonymous option does not have - any effect but is preserved for backwards compatibility. A new option, - --preserve-anonymous, disables anonymous type morphing. This option is - useful together with --show-anonymous if you want to make sure your - schemas do not have any anonymous types. - - * A number of bugs fixed in both C++/Tree and C++/Parser mappings. - - C++/Tree - - * The new C++/Tree Mapping Getting Started Guide is available in the - documentation/cxx/tree/guide/ directory. - - * The type definitions for local elements and attributes in the form - name::type have been changed to name_type. For example, an element - bar in type foo with maxOccurs="unbounded" used to have its iterator - type defined as foo::bar::iterator. With this change it becomes - foo::bar_iterator. Furthermore, the container type name for sequence - elements has changed from foo::bar::container to foo::bar_sequence - and for optional elements and attributes from foo::bar::container - to foo::bar_optional. This is a backwards incompatible change and - may require application code adjustments (the C++ compiler will - pinpoint the affected places). - - * New option, --generate-doxygen, triggers generation of documentation - comments suitable for extraction by the Doxygen documentation system. - Documentation from annotations is added to the comments if present in - the schema. - - * New option, --generate-wildcard, triggers generation of the new - wildcard (any and anyAttribute) mapping. This mapping represents the - content matched by wildcards as DOM fragments. For more information on - the new mapping see Section 2.12, "Mapping for any and anyAttribute" - in the C++/Tree Mapping User Manual as well as the wildcard example in - the examples/cxx/tree/ directory. - - * New option, --generate-comparison, triggers generation of comparison - operators (== and !=) for complex types. Comparison is performed - memberwise. - - * Support for the RPC XDR binary stream in addition to ACE CDR. - - * New constructor is generated for complex types with ultimate bases - that are simple types and can be default-initialized. This constructor - includes initializers for all required members but omits the initializer - for the base type. See Section 2.7, "Mapping for Complex Types" in the - C++/Tree Mapping User Manual for more information. - - * Support for polymorphic binary serialization and extraction. Note that - the semantics of the --generate-insertion and --generate-extraction - options has changed. See the the compiler command line manual (man - pages) for details. - - * New parsing function with the DOMDocument* argument and the own_dom - flag allow the tree to assume the ownership of the DOM document - being parsed when DOM association is requested (keep_dom flag). - See the C++/Tree Mapping User Manual for more information. - - * New example, multiroot, shows how to handle XML vocabularies with - multiple root elements. - - * New example, caching, shows how to parse several XML documents while - reusing the underlying XML parser and caching the schemas used for - validation. - - * The mapping of built-in XML Schema type decimal has changed from - long double to double. The old mapping can be obtained by providing - a custom mapping for this type. - - * The xml_schema::errors type which is used in the xml_schema::parsing - and xml_schema::serialization exceptions has been renamed to - xml_schema::diagnostics and extended to include warnings in addition - to errors. - - * Serialization operators now clear the element being serialized to from - existing child nodes and attributes (except for special attributes such - as prefix-namespace mappings, etc.). - - * Improved built-in type parsing, including support for normalization and - whitespace collapsing. - - * Optimizations for the generated code size and compilation time, - including space optimizations for polymorphic parsing and - serialization. Optimizations for XML parsing speed. - - C++/Parser - - * The C++/Parser mapping have been significantly redesigned. See the new - Getting Started Guide in documentation/cxx/parser/guide/ for details. - - * The new C++/Parser Mapping Getting Started Guide is available in the - documentation/cxx/parser/guide/ directory. - - * The mapping now provides parser implementations for all built-in XML - Schema types. See Chapter 6, "Built-In XML Schema Type Parsers" in - the C++/Parser Mapping Getting Started Guide for more information. - - * The mapping now supports automatic generation of sample parser - implementations and a test driver. The --generate-noop-impl option - triggers generation of a sample implementation with empty function - bodies. The --generate-print-impl option triggers generation of a - sample implementation that prints the data stored in XML to STDOUT. - The --generate-test-driver option trigger generation of a test driver. - For more information on this feature see the compiler command line - manual (man pages) and the generated example in the examples/cxx/parser/ - directory. Other relevant options include: --force-overwrite, - --root-element-first, --root-element-last, and --root-element. - - * New example, wildcard, shows how to parse the XML data matched by - XML Schema wildcards (any and anyAttribute). - - * The xml_schema::document parser has been extended with overridable - virtual functions start_root_element and end_root_element to support - parsing of XML vocabularies with multiple document roots. See the - multiroot example in the examples/cxx/parser/ directory for more - information. - - * The xml_schema::errors type which is used in the xml_schema::parsing - exception has been renamed to xml_schema::diagnostics and extended to - include warnings in addition to errors. - -Version 2.3.1 - - * The compiler is now capable of translating multiple schemas with - one invocation. - - * New option, --sloc-limit, allows one to limit the amount of the - generated code. - - * New option, --proprietary-license, instructs the compiler not to - include the GPL banner in each generated file. Instead a short - notice about a required proprietary license is generated. You - should not use this option unless you have obtained a proprietary - license from Code Synthesis Tools CC. - - * The default encoding for the 'char' character type is now UTF-8. - To get the previous behavior (local code page via the Xerces-C++ - transcode functions) define the XSD_USE_LCP preprocessor macro - when compiling your source code. - - C++/Tree - - * The --parts option has been improved to split generated code more - evenly by analyzing the complexity of the generated schema constructs. - - * Ability to customize serialization, std::ostream, and binary - insertion/extraction operators. See examples/cxx/tree/custom/wildcard - for an example on how to handle XML Schema wildcards (xsd:any and - xsd:anyAttribute) by customizing the parsing constructor and - serialization operators. - - * Optimizations for the run-time memory consumption. - - * Optimizations for space in the generated code. - - * Number of bug fixes. - - C++/Parser - - * Proper handling of an xsd:any nested content. Nested elements, - attributes, and text are reported via _any_* hooks of the current - parser. - - * Number of bug fixes, mostly in the generated validation code. - - -Version 2.3.0 - - * Name conflicts across type inheritance hierarchies are now detected - and resolved via name escaping. - - C++/Tree - - * New option, --suppress-parsing, suppresses generation of the parsing - constructors and functions. This can be used to minimize the generated - code footprint when parsing from XML is not used. - - * New option, --generate-forward, triggers generation of a forward - declaration header file for types defined in the schema. A set of - --fwd-* options that control the resulting file name as well as - prologue and epilogue code are available. - - * New option, --generate-xml-schema, triggers generation of the mapping - for the XML Schema namespace to a separate header file. See the man - pages for details and examples/cxx/tree/custom/calendar for an example. - - * New option, --extern-xml-schema, triggers inclusion of a header - file for the XML Schema namespace instead of generating the - necessary declarations inline. See the man pages for details and - examples/cxx/tree/custom/calendar for an example. - - * New options, --custom-type and --custom-type-regex, instruct the - compiler to use custom C++ type for a type defined in the schema. - The standard mapping can still be generated (with a different name) - usually to be used as a base. Built-in XML Schema types can be - customized using this mechanism. See the man pages for details and - examples/cxx/tree/custom/* for examples. - - * The generated parsing constructors and serialization operators have - been changed to use the Xerces-C++ DOM elements and attributes - instead of the internal wrapper types. This should provide easier - integration with other code and libraries that use the Xerces-C++ - DOM types such as Berkeley DB XML. - - * New example, examples/cxx/tree/dbxml, shows how to use the C++/Tree - mapping on top of the Berkeley DB XML database. - - C++/Parser - - * Validation of the attribute structure in the generated code. - - * Validation of the character content models including mixed content in - the generated code. - - * Validation of the built-in XML Schema types. - - * Optimizations for space and time in the generated code. In particular - data coping during parsing and validation was significantly reduced. - - -Version 2.2.0 - - * Detection of a version mismatch between the generated code and - the runtime. - - C++/Tree - - * Escaping of a global element name that conflicts with a global type - name. This is a backwards-incompatible change. Previous versions - map them to the same name. - - * New options, --generate--insertion and --generate-extraction, - trigger generation of (binary) data representation stream - insertion and extraction operators, respectively. This allows - one to serialize/deserialize in-memory representation to/from - data representation streams such as XSD, CDR, etc. ACE CDR - streams are supported out of the box (see the binary example). - User-supplied streams can be used via an adaptation layer. - - * New serialization flag, no_xml_declaration, instructs the XML - serialization functions to omit an XML declaration. This is useful - for streaming serialization (see the streaming example). - - * Optimizations to reduce generated code size. - - - C++/Parser - - * New options, --generate-validation and --suppress-validation, - trigger and suppress generation of the validation code, - respectively. The validation code is the implementation of the - XML Schema validation in the generated code (also known as - "perfect" parser). In this version validation of the element - structure has been implemented. - - * New architecture for underlying XML parsers. This is a backwards- - incompatible change. Existing applications will have to be - modified. See examples for details. - - -Version 2.1.1 - - C++/Tree - - * New option, --namespace-map, allows direct mapping of XML Schema - namespaces to C++ namespaces without the use of regular expressions. - - * Further optimizations in the container code and enum mapping to - reduce generated code size. - - * Number of bug fixes in the generated code. - - - C++/Parser - - * New option, --namespace-map, allows direct mapping of XML Schema - namespaces to C++ namespaces without the use of regular expressions. - - -Version 2.1.0 - - * Automatic handling of forward inheritance. XML Schema allows - inheritance from yet undefined types while it is illegal to do - so in C++. Now the translator automatically handles forward - inheritance by re-arranging the schema during compilation. - - - C++/Tree - - * New enum mapping with support for inheritance. Enumerators are - now parsed using binary search instead of linear search. - - * Associated DOM nodes now retain "back" pointers to tree nodes. - - * Optimizations to reduce generated code size. - - - C++/Parser - - * Specialization for void. You can now use void as a hook argument - type if you don't want to pass any data between parsers. - - * Support for re-use of implementations of base parsers in derived - parsers using the mixin C++ idiom. See the examples/cxx/parser/mixin - for more information. - - * Support for uninitialized parser. If you don't provide a parser - for element/attribute, that element/attribute will be ignored - during parsing. - - -Version 2.0.0 - - * New cardinality calculator. This improves support for schemas that - use complex structures with repeated elements, e.g., - - <complexType name="Type"> - <choice> - <sequence> - <element name="a" type="string"/> - <element name="c" type="string"/> - </sequence> - <sequence> - <element name="b" type="string"/> - <element name="c" type="string"/> - </sequence> - </choice> - </complexType> - - - * New identifier escaping code. With this feature xsd generates proper - code for schemas that use the same name for an element and an attribute - in the same type or use several elements/attributes with different - qualified names but with the same local name, e.g., - - <!-- base.xsd --> - <schema xmlns="http://codesynthesis.com/xmlns/test/foo" - targetNamespace="http://codesynthesis.com/xmlns/test/foo"> - - <element name="foo" type="int"/> - </schema> - - <schema xmlns="http://codesynthesis.com/xmlns/test/bar" - xmlns:f="http://codesynthesis.com/xmlns/test/foo" - targetNamespace="http://codesynthesis.com/xmlns/test/bar"> - - <import namespace="http://codesynthesis.com/xmlns/test/foo" - schemaLocation="base.xsd"/> - - <element name="foo" type="string"/> - - <complexType name="Foo"> - <sequence> - <element ref="foo"/> - <element name="foo" type="long"/> - <element ref="f:foo"/> - <element ref="f:foo"/> - </sequence> - <attribute name="foo" type="string"/> - </complexType> - </schema> - - - C++/Tree - - * New option, --generate-polymorphic, triggers generation of - polymorphism-aware code. Before this release xsd used to always - generate polymorphism-aware code. However, it appears to be quite - wasteful in terms of the generated code size (up to 40%). You will - now need to explicitly specify this option if you use substitution - groups or xsi:type. A warning is issued if this option is not - specified but the schema makes use of substitution groups. - - * New options, --root-element-first, --root-element-last, - --root-element-all, --root-element-none, and --root-element, control - generation of parsing and serialization functions. With these options - you can avoid generating extra code for global elements that are not - document roots. See the man pages for details. - - * New options, --parts and -parts-suffix, allows you to split generated - source code into a number of parts. This is useful when translating - large, monolithic schemas and a C++ compiler is not able to compile - the resulting source code at once (usually due to insufficient memory). - - * New option, --generate-default-ctor, triggers generation of default - constructors even for types that have required members. Required - members of an instance constructed using such a constructor are not - initialized and accessing them results in undefined behavior. Thanks - to Jean-Francois Dube <jf at magnu.polymtl.ca> for suggesting this - feature. - - * New option, --generate-from-base-ctor, triggers generation of - constructors that expect an instance of a base type followed by all - required members. Thanks to Jean-Francois Dube <jf at magnu.polymtl.ca> - for suggesting this feature. - - * Information scopes for attributes and elements with default/fixed values - now define the public static default_value function which allows one to - obtain the default/fixed value for the element/attribute. Thanks to - Dave Moss <david.r.moss at selex-comm.com> for suggesting this feature. - - * MSVC 7.1 has a limit on the length of the "if else if" chain. This - results in ICE when compiling generated code for enumerations with - a large number of values. This version addresses this issue. Thanks - to Cyrille Chépélov <cyrille at chepelov.org> for reporting this and - suggesting a fix. - - - C++/Parser - - * The parser construction API has changed. Now, for element 'foo', - the name of the parser modifier function is 'foo_parser'. Likewise, - operator() for setting all parsers at once has been changed to the - 'parsers' function. - - -Version 1.9.0 - - C++/Tree - - * The size modifier function in the base64_binary and hex_binary - built-in types automatically adjusts capacity if needed. - - * More internal names (names that start with _xsd_) were made - private or protected. - - C++/Parser - - * Typedef for the parser base in the xml_schema namespace. - - C++/Parser-E - - * C++/Parser mapping optimized for embedded systems. For now it - is equivalent to 'cxx-parser --xml-parser expat'. - - -Version 1.8.0 - - * Moved to the build 0.2 series. - - C++/Tree - - * Support for default and fixed values in attributes. An optional - attribute with a default or fixed value is mapped to the One - cardinality class instead of the Optional cardinality class. - - * Mapping for base64Binary and hexBinary has improved. Now these - types support a basic buffer abstraction and perform automatic - encoding and decoding. - - * Internal names are protected. We've noticed (via bug reports) a - wide use of internal names (names that start with _xsd_) in user - code. This is not portable and instead you should use public - names. To prevent this from happening in the future we've made - all internal names protected. - - C++/Parser - - * Support for Expat as the underlying XML parser in addition to - Xerces-C++. This allows one to use the C++/Parser mapping in - memory-constrained environments such as embedded systems. To - select Expat instead of Xerces-C++ (default) add - '--xml-parser expat' to the command line. At the moment only - 'char' (UTF-8) is supported as the base character type when - Expat is selected. - - * The invalid_instance exception has been renamed to parsing. - - * Generic error_handler interface has been added in addition - to Xerces-C++-specific DOMErrorHandler. It allows you to - handle parsing errors and warnings without having to deal - with Xerces-C++ specifics. - - * The default error handling behavior has changed in parsing - functions. Instead of printing errors and warnings to STDERR, - the errors are now collected and thrown as part of the parsing - exception. - - * In parsing functions, the name, namespace arguments order has - been reversed to be consistent with the one used in parsing - hooks. - -Version 1.7.0 - - * Number of bug fixes in libxsd and the generated code. - - C++/Tree - - * Comprehensive XML Schema C++/Tree Mapping User Manual. - - * Basic support for union. A simple type that is defined using - derivation by union is mapped to a C++ class that derives from - string. - - * The _clone function has its arguments default-initialized. - - * The invalid_instance exception has been renamed to parsing. - - * Generic error_handler interface has been added in addition - to Xerces-C++-specific DOMErrorHandler. It allows you to - handle parsing/serialization errors and warnings without - having to deal with Xerces-C++ specifics. See the user - manual for more information. - - * The default error handling behavior has changed in parsing - and serialization functions. Instead of printing errors and - warnings to STDERR, the errors are now collected and thrown - as part of the parsing/serialization exception. See the user - manual for more information. - - * The optional and sequence containers now support operators ==, - !=, <, >, <=, and >=. - - * Flags argument has been added to serialization functions. The - only flag that is currently supported is dont_initialize. - - * Generated code cleanups. - - C++/Parser - - * Basic support for union. A simple type that is defined using - derivation by union is mapped to a C++ class template that - is just an alias for the generic parser. You are expected to - override the _characters function in your implementation. - - * Properties argument to parsing functions which allows to - programmatically specify schemas for instance document - validation. - - * Flags argument to parsing functions. The following flags - are supported: - - dont_validate - do not validate instance documents - dont_initialize - do not initialize the Xerces-C++ runtime - -Version 1.6.0 - - * Number of bug fixes in libxsd and the generated code. - - C++/Tree - - * Support for xsi:type and substitution groups in parsing and - serialization. See examples/cxx/tree/polymorphism for a code - sample. - - * Properties argument to parsing functions which allows to - programmatically specify schemas for instance document - validation. - - * Extra checks in parsing code which prevents construction - of inconsistent in-memory representation from invalid - instance documents. Should be useful when validation is - disabled. - - * Accessors and modifier were made normal member functions. - Before they were implemented via functors. - - * Workaround for g++-3.3 bug# 16650: - - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16650 - - C++/Parser - - * All "service" functions were renamed to start with '_'. - This should prevent hiding of service functions by - elements/attributes with the same names. - -Version 1.5.0 - - * Number of bug fixes in libxsd and the generated code. - - C++/Tree - - * Basic support for inheritance-by-restriction in complex types. - - * The following parsing flags have been introduced: - - keep_dom - keep association with underlying DOM nodes - dont_validate - do not validate instance documents - dont_initialize - do not initialize the Xerces-C++ runtime - - * "Type-less content" such as mixed content models, xsd:anyType/ - xsd:anySimpleType, and xsd:any/xsd:anyAttribute is supported by - exposing corresponding DOM nodes (see the keep_dom parsing flag). - Note that only a subset of XML Schema xsd:any functionality is - supported. The compiler will issue diagnostics for unsupported - cases. See examples/cxx/tree/mixed for a code sample. - - C++/Parser - - * Support for inheritance-by-restriction in complex types. - - * "Type-less content" such as mixed content models, xsd:anyType/ - xsd:anySimpleType, and xsd:any/xsd:anyAttribute is supported - by forwarding parsing events to a set of "unexpected" hooks. - Note that only a subset of XML Schema xsd:any functionality is - supported. The compiler will issue diagnostics for unsupported - cases. See examples/cxx/parser/mixed for a code sample. - -Version 1.4.0 - - * Number of improvements and bug fixes in the diagnostics code. - - * libxsd has been reorganized to provide a clean split of code with - regards to char/wchar_t use. It should be possible to use libxsd - and the xsd-generated code on platforms that lack wchar_t support, - such as mingw. - - C++/Tree - - * Work around for g++ bug# 23206. - - * Support for xsd:list. - - * Type/member name conflicts are auto-resolved. Such conflicts - occur when a type and an element or attribute withing this type - share the same name. - - * XML Schema extension, the 'refType' attribute, allows one to - specify referenced type for xsd:IDREF and xsd:IDREFS data types. - See examples/cxx/tree/library for details. - - * New option, --morph-anonymous, allows automatic morphing - of anonymous types to named ones. See the man pages for - details. - - * New option, --namespace-regex-trace, allows one to trace the - namespace mapping process. See the man pages for details. - - * Mapping for optional elements/attributes (cardinality 0..1) - has changed in a backwards-incompatible way. In the previous - version you would write: - - Bar& bar = ... - - if (bar.foo.present ()) // test - { - Foo& foo (bar.foo ()); // get - - bar.foo (Foo (...)); // set - - bar.foo.reset (); // reset - } - - Now you would write it like this: - - if (bar.foo ().present ()) // test - { - Foo& foo (bar.foo ().get ()); // get - - bar.foo (Foo (...)); // set - - bar.foo ().reset (); // reset - } - - Or using the pointer notation: - - if (bar.foo ()) // test - { - Foo& foo (*bar.foo ()); // get - - bar.foo (Foo (...)); // set - - bar.foo ().reset (); // reset - } - - C++/Parser - - * Support for xsd:list. - - * Type/member name conflicts are auto-resolved. Such conflicts - occur when a type and an element or attribute withing this type - share the same name. - - * New option, --namespace-regex-trace, allows one to trace the - namespace mapping process. See the man pages for details. - -Version 1.3.0 - - * Numerous bug fixes. - - * The XML subsystem of libxsd has been reorganized to provide - a clean split of DOM and SAX functionalities. - - C++/Parser - - * New option, --morph-anonymous, allows automatic morphing - of anonymous types to named ones. See the man pages for - details. - - C++/Tree - - * Additional parser functions provide support for reading - from std::istream. - -Version 1.2.0 - - C++/Parser - - * New backend that generates the C++/Parser mapping. - -Version 1.1.1 - - all backends - - * Bug fixes in the filesystem path handling logic. - -Version 1.1.0 - - C++/Tree - - * New option, --generate-serialization, triggers generation of - serialization functions. Serialization functions convert an in-memory - representation back to XML. - - * xsd::cxx::tree::vector has been extended to closely follow std::vector - API. This allows you to access and modify element sequences as if they - were of type std::vector. - - * Generated constructors from xml::attribute and xml::element are made - explicit. - - * The library example was extended to showcase modification and - serialization of the in-memory representation. - - * New "XML Schema C++/Tree Mapping Serialization Guide" has an in-depth - treatment of the serialization mechanisms provided by xsd. - -Version 1.0.1 - - all backends - - * Improved diagnostics. - - * Bug fixes in the schema inclusion/importing logic. - - C++/Tree - - * Two new options: --include-with-brackets and --include-prefix - -Version 1.0.0 - - * First public release. diff --git a/xsd/README b/xsd/README deleted file mode 100644 index ee60cce..0000000 --- a/xsd/README +++ /dev/null @@ -1,27 +0,0 @@ -CodeSynthesis XSD is a W3C XML Schema to C++ data binding compiler. -It generates vocabulary-specific, statically-typed C++ mappings (also -called bindings) from XML Schema definitions. XSD supports two C++ -mappings: in-memory C++/Tree and event-driven C++/Parser. - -The C++/Tree mapping consists of types that represent the given -vocabulary, a set of parsing functions that convert XML instance -documents to a tree-like in-memory object model, and a set of -serialization functions that convert the object model back to XML. - -The C++/Parser mapping provides parser templates for data types -defined in XML Schema. Using these parser templates you can build -your own in-memory representations or perform immediate processing -of XML instance documents. - -See the NEWS file for the user-visible changes from the previous release. - -See the LICENSE file for distribution conditions. - -See the INSTALL file for prerequisites and installation instructions. - -See the doc/ directory for documentation. - -The project page is at http://www.codesynthesis.com/projects/xsd/. - -Send bug reports or any other feedback to the xsd-users@codesynthesis.com -mailing list. diff --git a/xsd/build/bootstrap.make b/xsd/build/bootstrap.make deleted file mode 100644 index 56c20b3..0000000 --- a/xsd/build/bootstrap.make +++ /dev/null @@ -1,102 +0,0 @@ -# file : build/bootstrap.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -project_name := xsd - -# 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 - -def_goal := $(.DEFAULT_GOAL) - -# Configuration -# -$(call include,$(scf_root)/configuration.make) - -# Include C++ configuration. We need to know if we are using the generic -# C++ compiler in which case we need to compensate for missing dependency -# auto-generation (see below). -# -$(call include,$(bld_root)/cxx/configuration.make) - -# Aliases -# -.PHONY: $(out_base)/ \ - $(out_base)/.test \ - $(out_base)/.install \ - $(out_base)/.dist \ - $(out_base)/.dist-win \ - $(out_base)/.dist-common \ - $(out_base)/.clean - -ifdef %interactive% - -.PHONY: test install dist dist-win clean - -test: $(out_base)/.test -install: $(out_base)/.install -dist: $(out_base)/.dist -dist-win: $(out_base)/.dist-win -clean: $(out_base)/.clean - -endif - - -# Make sure the distribution prefix is set if the goal is dist or dist-win. -# -ifneq ($(filter $(MAKECMDGOALS),dist dist-win),) -ifeq ($(dist_prefix),) -$(error dist_prefix is not set) -endif -endif - -# If we don't have dependency auto-generation then we need to manually -# make sure that generated files are generated before C++ file are -# compiler. To do this we make the object files ($2) depend in order- -# only on generated files ($3). -# -ifeq ($(cxx_id),generic) - -define include-dep -$(if $2,$(eval $2: | $3)) -endef - -else - -define include-dep -$(call -include,$1) -endef - -endif - -# Don't include dependency info for certain targets. -# -ifneq ($(filter $(MAKECMDGOALS),clean disfigure),) -include-dep = -endif - - -# For dist, install don't include dependencies in examples, and tests -# since we might be cross-compiling. -# -ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) - -ifneq ($(subst $(src_root)/tests/,,$(src_base)),$(src_base)) -include-dep = -endif - -ifneq ($(subst $(src_root)/examples/,,$(src_base)),$(src_base)) -include-dep = -endif - -endif - -.DEFAULT_GOAL := $(def_goal) diff --git a/xsd/build/configuration-dynamic.make b/xsd/build/configuration-dynamic.make deleted file mode 100644 index 8bebd90..0000000 --- a/xsd/build/configuration-dynamic.make +++ /dev/null @@ -1,8 +0,0 @@ -xsd_with_zlib := n -xsd_with_ace := n -xsd_with_xdr := n -xsd_with_xqilla := n -xsd_with_boost_date_time := n -xsd_with_boost_serialization := n - -xsd_clean_gen := n diff --git a/xsd/build/configuration-rules.make b/xsd/build/configuration-rules.make deleted file mode 100644 index 1cf21d0..0000000 --- a/xsd/build/configuration-rules.make +++ /dev/null @@ -1,17 +0,0 @@ -# file : build/configuration-rules.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -$(dcf_root)/configuration-dynamic.make: | $(dcf_root)/. - $(call message,,$(scf_root)/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $$1,rm -f $$1,$(dcf_root)/configuration-dynamic.make) - -endif - -ifeq ($(.DEFAULT_GOAL),$(dcf_root)/configuration-dynamic.make) -.DEFAULT_GOAL := -endif diff --git a/xsd/build/configuration.make b/xsd/build/configuration.make deleted file mode 100644 index 3d739b9..0000000 --- a/xsd/build/configuration.make +++ /dev/null @@ -1,31 +0,0 @@ -# file : build/configuration.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -$(call include-once,$(scf_root)/configuration-rules.make,$(dcf_root)) - -# Dynamic configuration. -# -xsd_with_zlib := -xsd_with_ace := -xsd_with_xdr := -xsd_with_xqilla := -xsd_with_boost_date_time := -xsd_with_boost_serialization := - -$(call -include,$(dcf_root)/configuration-dynamic.make) - -ifdef xsd_with_zlib - -$(out_root)/%: xsd_with_zlib := $(xsd_with_zlib) -$(out_root)/%: xsd_with_ace := $(xsd_with_ace) -$(out_root)/%: xsd_with_xdr := $(xsd_with_xdr) -$(out_root)/%: xsd_with_xqilla := $(xsd_with_xqilla) -$(out_root)/%: xsd_with_boost_date_time := $(xsd_with_boost_date_time) -$(out_root)/%: xsd_with_boost_serialization := $(xsd_with_boost_serialization) - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/configure b/xsd/build/configure deleted file mode 100755 index df57f07..0000000 --- a/xsd/build/configure +++ /dev/null @@ -1,70 +0,0 @@ -#! /usr/bin/env bash - -# file : build/configure -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# 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 -$echo "configuring '$project_name'" -$echo -$echo - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the 'zlib' library?" -$echo - -with_zlib=`read_y_n n` - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the 'ACE' library?" -$echo - -with_ace=`read_y_n n` - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the 'XDR' library (part of the system in most GNU/Linux and" -$echo "UNIX distributions)?" -$echo - -with_xdr=`read_y_n n` - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the boost 'serialization' library?" -$echo - -with_boost_serialization=`read_y_n n` - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the boost 'date_time' library?" -$echo - -with_boost_date_time=`read_y_n n` - -$echo -$echo "Would you like to build optional parts of '$project_name' that require" -$echo "the XQilla library?" -$echo - -with_xqilla=`read_y_n n` - -echo "xsd_with_zlib := $with_zlib" >$1 -echo "xsd_with_ace := $with_ace" >>$1 -echo "xsd_with_xdr := $with_xdr" >>$1 -echo "xsd_with_xqilla := $with_xqilla" >>$1 -echo "xsd_with_boost_date_time := $with_boost_date_time" >>$1 -echo "xsd_with_boost_serialization := $with_boost_serialization" >>$1 diff --git a/xsd/build/cxx/configuration-dynamic.make b/xsd/build/cxx/configuration-dynamic.make deleted file mode 100644 index 83cf860..0000000 --- a/xsd/build/cxx/configuration-dynamic.make +++ /dev/null @@ -1,11 +0,0 @@ -cxx_id := generic -cxx_pp_extra_options := $(CPPFLAGS) -cxx_extra_options := $(CXXFLAGS) -cxx_ld_extra_options := $(LDFLAGS) -cxx_extra_libs := $(LIBS) - -r := $(shell echo $(LDFLAGS) | sed -e 's/-L *\([^ ]*\)/-L\1/g') -r := $(patsubst -L%,%,$(filter -L%,$(r))) -r := $(shell echo $(r) | sed -e 's/ /:/g') - -cxx_extra_lib_paths := $(r) diff --git a/xsd/build/cxx/generic/configuration-dynamic.make b/xsd/build/cxx/generic/configuration-dynamic.make deleted file mode 100644 index f35ea66..0000000 --- a/xsd/build/cxx/generic/configuration-dynamic.make +++ /dev/null @@ -1,16 +0,0 @@ -ifeq ($(filter $(origin CXX),undefined default),) -cxx_generic := $(CXX) -else -cxx_generic := g++ -endif - -r := $(shell $(cxx_generic) $(cxx_extra_options) $(cxx_ld_extra_options) \ --print-search-dirs 2>&1 | sed -e 's/libraries: =//p' -e d) - -ifneq ($r,) - ifeq ($(cxx_extra_lib_paths),) - cxx_extra_lib_paths := $r - else - cxx_extra_lib_paths := $(cxx_extra_lib_paths):$r - endif -endif diff --git a/xsd/build/import/cli/LICENSE b/xsd/build/import/cli/LICENSE deleted file mode 100644 index 57ee246..0000000 --- a/xsd/build/import/cli/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2009-2012 Code Synthesis Tools CC. - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/xsd/build/import/cli/cli-cxx.make b/xsd/build/import/cli/cli-cxx.make deleted file mode 100644 index cd009d9..0000000 --- a/xsd/build/import/cli/cli-cxx.make +++ /dev/null @@ -1,48 +0,0 @@ -# file : build/import/cli/cli-cxx.make -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# license : MIT; see accompanying LICENSE file - -# Here we are operating in the importing project's space, not in -# cli's. -# - -# Get the C++ file extensions. -# -$(call include,$(bld_root)/cxx/configuration-static.make) - -cli_pattern := \ -$(out_base)/%.$(cxx_s_suffix) \ -$(out_base)/%.$(cxx_h_suffix) \ -$(out_base)/%.$(cxx_i_suffix) - -$(cli_pattern): cli_options := \ ---hxx-suffix .$(cxx_h_suffix) \ ---ixx-suffix .$(cxx_i_suffix) \ ---cxx-suffix .$(cxx_s_suffix) - -.PRECIOUS: $(cli_pattern) - -ifeq ($(out_base),$(src_base)) - -$(cli_pattern): $(src_base)/%.cli - $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) - -else - -$(cli_pattern): $(src_base)/%.cli | $$(dir $$@). - $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) - -$(cli_pattern): $(out_base)/%.cli | $$(dir $$@). - $(call message,cli $<,$(cli) $(cli_options) --output-dir $(dir $@) $<) -endif - -.PHONY: $(out_base)/%.cxx.cli.clean - -$(out_base)/%.cxx.cli.clean: cxx_s_suffix := $(cxx_s_suffix) -$(out_base)/%.cxx.cli.clean: cxx_h_suffix := $(cxx_h_suffix) -$(out_base)/%.cxx.cli.clean: cxx_i_suffix := $(cxx_i_suffix) - -$(out_base)/%.cxx.cli.clean: - $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_s_suffix))) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_h_suffix))) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.cli.clean=.$(cxx_i_suffix))) diff --git a/xsd/build/import/cli/configuration-dynamic.make b/xsd/build/import/cli/configuration-dynamic.make deleted file mode 100644 index 908d979..0000000 --- a/xsd/build/import/cli/configuration-dynamic.make +++ /dev/null @@ -1,3 +0,0 @@ -# We ship up-to-date generated files so cli normally won't be invoked. -# -cli_installed := y diff --git a/xsd/build/import/cli/configuration-rules.make b/xsd/build/import/cli/configuration-rules.make deleted file mode 100644 index 5fb2485..0000000 --- a/xsd/build/import/cli/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/cli/configuration-rules.make -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# license : MIT; see accompanying LICENSE file - -$(dcf_root)/import/cli/configuration-dynamic.make: | $(dcf_root)/import/cli/. - $(call message,,$(scf_root)/import/cli/configure $@) - -ifndef %foreign% - -$(dcf_root)/.disfigure:: - $(call message,rm $(dcf_root)/import/cli/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/cli/configuration-dynamic.make) - -endif diff --git a/xsd/build/import/cli/configure b/xsd/build/import/cli/configure deleted file mode 100755 index ae1e512..0000000 --- a/xsd/build/import/cli/configure +++ /dev/null @@ -1,54 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/cli/configure -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# 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 'cli' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed " -$echo "version of 'cli' 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 'cli'." -$echo - -src_root=`read_path --directory --exist` - -$echo -$echo "Please enter the out_root for 'cli'." -$eche - -out_root=`read_path --directory $src_root` - -fi - -echo cli_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/xsd/build/import/cli/stub.make b/xsd/build/import/cli/stub.make deleted file mode 100644 index 3704723..0000000 --- a/xsd/build/import/cli/stub.make +++ /dev/null @@ -1,29 +0,0 @@ -# file : build/import/cli/stub.make -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# license : MIT; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/cli/configuration-rules.make,$(dcf_root)) - -cli_installed := - -$(call -include,$(dcf_root)/import/cli/configuration-dynamic.make) - -ifdef cli_installed - -ifeq ($(cli_installed),y) - -$(call export,cli: cli,cli-rules: $(scf_root)/import/cli/cli-cxx.make) - -else - -# Include export stub. -# -$(call include,$(scf_root)/export/cli/stub.make) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libace/LICENSE b/xsd/build/import/libace/LICENSE deleted file mode 100644 index 3912109..0000000 --- a/xsd/build/import/libace/LICENSE +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/build/import/libace/configuration-rules.make b/xsd/build/import/libace/configuration-rules.make deleted file mode 100644 index 9073dc5..0000000 --- a/xsd/build/import/libace/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libace/configuration-rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libace/configuration-dynamic.make: | $(dcf_root)/import/libace/. - $(call message,,$(scf_root)/import/libace/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libace/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libace/configuration-dynamic.make) - -endif diff --git a/xsd/build/import/libace/configure b/xsd/build/import/libace/configure deleted file mode 100755 index 5f35228..0000000 --- a/xsd/build/import/libace/configure +++ /dev/null @@ -1,57 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libace/configure -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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 'ACE' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'ACE' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= -type= - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'ACE' root directory (ACE_ROOT)." - $echo - - root=`read_path --directory --exist` - - $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 libace_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - - echo libace_root := $root >>$1 - echo libace_type := $type >>$1 - -fi diff --git a/xsd/build/import/libace/rules.make b/xsd/build/import/libace/rules.make deleted file mode 100644 index c04724d..0000000 --- a/xsd/build/import/libace/rules.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libace/rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libace/%: root := $(libace_root) - -ifeq ($(libace_type),archive) - -$(dcf_root)/import/libace/ace.l: $(libace_root)/lib/libACE.a - @echo $< >$@ -else - -$(dcf_root)/import/libace/ace.l: $(libace_root)/lib/libACE.so - @echo $< >$@ - @echo rpath:$(root)/lib >>$@ -endif - -$(dcf_root)/import/libace/ace.l.cpp-options: - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libace/ace.l,\ -rm -f $(dcf_root)/import/libace/ace.l) - $(call message,,rm -f $(dcf_root)/import/libace/ace.l.cpp-options) - -endif diff --git a/xsd/build/import/libace/stub.make b/xsd/build/import/libace/stub.make deleted file mode 100644 index ba4946d..0000000 --- a/xsd/build/import/libace/stub.make +++ /dev/null @@ -1,31 +0,0 @@ -# file : build/import/libace/stub.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libace/configuration-rules.make,$(dcf_root)) - -libace_installed := - -$(call -include,$(dcf_root)/import/libace/configuration-dynamic.make) - -ifdef libace_installed - -ifeq ($(libace_installed),y) - -$(call export,l: -lACE,cpp-options: ) - -else - -$(call include-once,$(scf_root)/import/libace/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libace/ace.l,\ - cpp-options: $(dcf_root)/import/libace/ace.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libace/version b/xsd/build/import/libace/version deleted file mode 100644 index 0d91a54..0000000 --- a/xsd/build/import/libace/version +++ /dev/null @@ -1 +0,0 @@ -0.3.0 diff --git a/xsd/build/import/libboost/LICENSE b/xsd/build/import/libboost/LICENSE deleted file mode 100644 index 3912109..0000000 --- a/xsd/build/import/libboost/LICENSE +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/build/import/libboost/configuration-rules.make b/xsd/build/import/libboost/configuration-rules.make deleted file mode 100644 index 88a3b38..0000000 --- a/xsd/build/import/libboost/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libboost/configuration-rules.make -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/configuration-dynamic.make: | $(dcf_root)/import/libboost/. - $(call message,,$(scf_root)/import/libboost/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libboost/configuration-dynamic.make) - -endif diff --git a/xsd/build/import/libboost/configure b/xsd/build/import/libboost/configure deleted file mode 100755 index 361be81..0000000 --- a/xsd/build/import/libboost/configure +++ /dev/null @@ -1,73 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libboost/configure -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# 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 'boost libraries' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'boost libraries' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'boost' root directory." - $echo - - root=`read_path --directory --exist` - - $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 -$echo "Link explicitly to the boost system library? This library" -$echo "is available since boost 1.35.0 and linking to it explicitly" -$echo "may be required by newer linkers." -$echo - -link_system=`read_y_n y` - -$echo -$echo "Please enter optional suffix that may be embedded into the" -$echo "boost library names. For example, if your library names are in" -$echo "the libboost_regex-gcc41-mt-d.so form, then enter -gcc41-mt-d" -$echo "Otherwise leave this field blank." -$echo - -suffix= -read -e -p "[]: " suffix - -echo libboost_installed := $installed >$1 -echo libboost_suffix := $suffix >>$1 -echo libboost_system := $link_system >>$1 - -if [ "$installed" = "n" ]; then - - echo libboost_root := $root >>$1 - echo libboost_type := $type >>$1 - -fi diff --git a/xsd/build/import/libboost/date-time/rules.make b/xsd/build/import/libboost/date-time/rules.make deleted file mode 100644 index 7f862f5..0000000 --- a/xsd/build/import/libboost/date-time/rules.make +++ /dev/null @@ -1,50 +0,0 @@ -# file : build/import/libboost/date-time/rules.make -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/%: root := $(libboost_root) - -$(dcf_root)/import/libboost/date-time/date-time.l: \ - | $(dcf_root)/import/libboost/date-time/. - -ifeq ($(libboost_type),archive) - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).a \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).a -else -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).a -endif - @echo $^ >$@ - -else - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).so \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).so -else -$(dcf_root)/import/libboost/date-time/date-time.l: \ - $(libboost_root)/stage/lib/libboost_date_time$(libboost_suffix).so -endif - @echo $^ >$@ - @echo rpath:$(root)/stage/lib >>$@ - -endif - - -$(dcf_root)/import/libboost/date-time/date-time.l.cpp-options: \ - | $(dcf_root)/import/libboost/date-time/. - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/date-time/date-time.l,\ -rm -f $(dcf_root)/import/libboost/date-time/date-time.l) - $(call message,,\ -rm -f $(dcf_root)/import/libboost/date-time/date-time.l.cpp-options) - -endif diff --git a/xsd/build/import/libboost/date-time/stub.make b/xsd/build/import/libboost/date-time/stub.make deleted file mode 100644 index 64deb54..0000000 --- a/xsd/build/import/libboost/date-time/stub.make +++ /dev/null @@ -1,35 +0,0 @@ -# file : build/import/libboost/date-time/stub.make -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libboost/configuration-rules.make,$(dcf_root)) - -libboost_installed := - -$(call -include,$(dcf_root)/import/libboost/configuration-dynamic.make) - -ifdef libboost_installed - -ifeq ($(libboost_installed),y) - -ifeq ($(libboost_system),y) -$(call export,l: -lboost_date_time$(libboost_suffix) -lboost_system$(libboost_suffix),cpp_options: ) -else -$(call export,l: -lboost_date_time$(libboost_suffix),cpp_options: ) -endif - -else - -$(call include-once,$(scf_root)/import/libboost/date-time/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libboost/date-time/date-time.l,\ - cpp-options: $(dcf_root)/import/libboost/date-time/date-time.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libboost/serialization/rules.make b/xsd/build/import/libboost/serialization/rules.make deleted file mode 100644 index 6d02b86..0000000 --- a/xsd/build/import/libboost/serialization/rules.make +++ /dev/null @@ -1,49 +0,0 @@ -# file : build/import/libboost/serialization/rules.make -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libboost/%: root := $(libboost_root) - -$(dcf_root)/import/libboost/serialization/serialization.l: \ - | $(dcf_root)/import/libboost/serialization/. - -ifeq ($(libboost_type),archive) - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/serialization/serialization.l: \ - $(libboost_root)/stage/lib/libboost_serialization$(libboost_suffix).a \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).a -else -$(dcf_root)/import/libboost/serialization/serialization.l: \ - $(libboost_root)/stage/lib/libboost_serialization$(libboost_suffix).a -endif - @echo $^ >$@ - -else - -ifeq ($(libboost_system),y) -$(dcf_root)/import/libboost/serialization/serialization.l: \ - $(libboost_root)/stage/lib/libboost_serialization$(libboost_suffix).so \ - $(libboost_root)/stage/lib/libboost_system$(libboost_suffix).so -else -$(dcf_root)/import/libboost/serialization/serialization.l: \ - $(libboost_root)/stage/lib/libboost_serialization$(libboost_suffix).so -endif - @echo $^ >$@ - @echo rpath:$(root)/stage/lib >>$@ - -endif - - -$(dcf_root)/import/libboost/serialization/serialization.l.cpp-options: \ - | $(dcf_root)/import/libboost/serialization/. - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libboost/serialization/serialization.l,\ -rm -f $(dcf_root)/import/libboost/serialization/serialization.l) - $(call message,,rm -f $(dcf_root)/import/libboost/serialization/serialization.l.cpp-options) - -endif diff --git a/xsd/build/import/libboost/serialization/stub.make b/xsd/build/import/libboost/serialization/stub.make deleted file mode 100644 index b63db81..0000000 --- a/xsd/build/import/libboost/serialization/stub.make +++ /dev/null @@ -1,35 +0,0 @@ -# file : build/import/libboost/serialization/stub.make -# copyright : Copyright (c) 2005-2011 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libboost/configuration-rules.make,$(dcf_root)) - -libboost_installed := - -$(call -include,$(dcf_root)/import/libboost/configuration-dynamic.make) - -ifdef libboost_installed - -ifeq ($(libboost_installed),y) - -ifeq ($(libboost_system),y) -$(call export,l: -lboost_serialization$(libboost_suffix) -lboost_system$(libboost_suffix),cpp_options: ) -else -$(call export,l: -lboost_serialization$(libboost_suffix),cpp_options: ) -endif - -else - -$(call include-once,$(scf_root)/import/libboost/serialization/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libboost/serialization/serialization.l,\ - cpp-options: $(dcf_root)/import/libboost/serialization/serialization.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libboost/version b/xsd/build/import/libboost/version deleted file mode 100644 index faef31a..0000000 --- a/xsd/build/import/libboost/version +++ /dev/null @@ -1 +0,0 @@ -0.7.0 diff --git a/xsd/build/import/libcutl/LICENSE b/xsd/build/import/libcutl/LICENSE deleted file mode 100644 index 6b90d44..0000000 --- a/xsd/build/import/libcutl/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Code found in the cutl/details/boost/ directory is distributed under -the Boost Software License (see the accompanying LICENSE file). - -The rest is Copyright (c) 2009-2011 Code Synthesis Tools CC and is -distributed under the following license (MIT License): - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be included -in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/xsd/build/import/libcutl/configuration-dynamic.make b/xsd/build/import/libcutl/configuration-dynamic.make deleted file mode 100644 index 4e4bb83..0000000 --- a/xsd/build/import/libcutl/configuration-dynamic.make +++ /dev/null @@ -1,8 +0,0 @@ -ifeq ($(EXTERNAL_LIBCUTL),y) -libcutl_installed := y -else -libcutl_installed := n -src_root := $(abspath $(src_root)/../libcutl) -scf_root := $(src_root)/build -out_root := $(src_root) -endif diff --git a/xsd/build/import/libcutl/configuration-rules.make b/xsd/build/import/libcutl/configuration-rules.make deleted file mode 100644 index b9fcabc..0000000 --- a/xsd/build/import/libcutl/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libcutl/configuration-rules.make -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# 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/xsd/build/import/libcutl/configure b/xsd/build/import/libcutl/configure deleted file mode 100755 index 8adb631..0000000 --- a/xsd/build/import/libcutl/configure +++ /dev/null @@ -1,54 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libcutl/configure -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# 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/xsd/build/import/libcutl/stub.make b/xsd/build/import/libcutl/stub.make deleted file mode 100644 index 1ec4716..0000000 --- a/xsd/build/import/libcutl/stub.make +++ /dev/null @@ -1,29 +0,0 @@ -# file : build/import/libcutl/stub.make -# copyright : Copyright (c) 2009-2012 Code Synthesis Tools CC -# 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/xsd/build/import/libxerces-c/LICENSE b/xsd/build/import/libxerces-c/LICENSE deleted file mode 100644 index 3912109..0000000 --- a/xsd/build/import/libxerces-c/LICENSE +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/build/import/libxerces-c/configuration-dynamic.make b/xsd/build/import/libxerces-c/configuration-dynamic.make deleted file mode 100644 index 91f61b2..0000000 --- a/xsd/build/import/libxerces-c/configuration-dynamic.make +++ /dev/null @@ -1 +0,0 @@ -libxerces_c_installed := y diff --git a/xsd/build/import/libxerces-c/configuration-rules.make b/xsd/build/import/libxerces-c/configuration-rules.make deleted file mode 100644 index 995e6bd..0000000 --- a/xsd/build/import/libxerces-c/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libxerces-c/configuration-rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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/xsd/build/import/libxerces-c/configure b/xsd/build/import/libxerces-c/configure deleted file mode 100755 index 45cd3da..0000000 --- a/xsd/build/import/libxerces-c/configure +++ /dev/null @@ -1,72 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libxerces-c/configure -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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/xsd/build/import/libxerces-c/rules.make b/xsd/build/import/libxerces-c/rules.make deleted file mode 100644 index 21ac145..0000000 --- a/xsd/build/import/libxerces-c/rules.make +++ /dev/null @@ -1,51 +0,0 @@ -# file : build/import/libxerces-c/rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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/xsd/build/import/libxerces-c/stub.make b/xsd/build/import/libxerces-c/stub.make deleted file mode 100644 index 745200d..0000000 --- a/xsd/build/import/libxerces-c/stub.make +++ /dev/null @@ -1,31 +0,0 @@ -# file : build/import/libxerces-c/stub.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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/xsd/build/import/libxerces-c/version b/xsd/build/import/libxerces-c/version deleted file mode 100644 index a918a2a..0000000 --- a/xsd/build/import/libxerces-c/version +++ /dev/null @@ -1 +0,0 @@ -0.6.0 diff --git a/xsd/build/import/libxqilla/LICENSE b/xsd/build/import/libxqilla/LICENSE deleted file mode 100644 index 3912109..0000000 --- a/xsd/build/import/libxqilla/LICENSE +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/build/import/libxqilla/configuration-rules.make b/xsd/build/import/libxqilla/configuration-rules.make deleted file mode 100644 index 1c5578e..0000000 --- a/xsd/build/import/libxqilla/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libxqilla/configuration-rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libxqilla/configuration-dynamic.make: | $(dcf_root)/import/libxqilla/. - $(call message,,$(scf_root)/import/libxqilla/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libxqilla/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libxqilla/configuration-dynamic.make) - -endif diff --git a/xsd/build/import/libxqilla/configure b/xsd/build/import/libxqilla/configure deleted file mode 100755 index 1105838..0000000 --- a/xsd/build/import/libxqilla/configure +++ /dev/null @@ -1,56 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libxqilla/configure -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# 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 'libxqilla' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'libxqilla' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= -type= - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'libxqilla' root directory." - $echo - - root=`read_path --directory --exist` - - $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 libxqilla_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - - echo libxqilla_root := $root >>$1 - echo libxqilla_type := $type >>$1 - -fi diff --git a/xsd/build/import/libxqilla/rules.make b/xsd/build/import/libxqilla/rules.make deleted file mode 100644 index 11f442d..0000000 --- a/xsd/build/import/libxqilla/rules.make +++ /dev/null @@ -1,29 +0,0 @@ -# file : build/import/libxqilla/rules.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libxqilla/%: root := $(libxqilla_root) - -ifeq ($(libxqilla_type),archive) - -$(dcf_root)/import/libxqilla/xqilla.l: $(libxqilla_root)/.libs/libxqilla.a - @echo $< >$@ -else - -$(dcf_root)/import/libxqilla/xqilla.l: $(libxqilla_root)/.libs/libxqilla.so - @echo $< >$@ - @echo rpath:$(root)/.libs >>$@ -endif - -$(dcf_root)/import/libxqilla/xqilla.l.cpp-options: - @echo include: -I$(root)/include >$@ - - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libxqilla/xqilla.l,\ -rm -f $(dcf_root)/import/libxqilla/xqilla.l) - $(call message,,rm -f $(dcf_root)/import/libxqilla/xqilla.l.cpp-options) - -endif diff --git a/xsd/build/import/libxqilla/stub.make b/xsd/build/import/libxqilla/stub.make deleted file mode 100644 index b7ee956..0000000 --- a/xsd/build/import/libxqilla/stub.make +++ /dev/null @@ -1,31 +0,0 @@ -# file : build/import/libxqilla/stub.make -# copyright : Copyright (c) 2005-2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libxqilla/configuration-rules.make,$(dcf_root)) - -libxqilla_installed := - -$(call -include,$(dcf_root)/import/libxqilla/configuration-dynamic.make) - -ifdef libxqilla_installed - -ifeq ($(libxqilla_installed),y) - -$(call export,l: -lxqilla,cpp-options: ) - -else - -$(call include-once,$(scf_root)/import/libxqilla/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libxqilla/xqilla.l,\ - cpp-options: $(dcf_root)/import/libxqilla/xqilla.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libxqilla/version b/xsd/build/import/libxqilla/version deleted file mode 100644 index 6e8bf73..0000000 --- a/xsd/build/import/libxqilla/version +++ /dev/null @@ -1 +0,0 @@ -0.1.0 diff --git a/xsd/build/import/libxsd-frontend/LICENSE b/xsd/build/import/libxsd-frontend/LICENSE deleted file mode 100644 index 33b4cbc..0000000 --- a/xsd/build/import/libxsd-frontend/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -In addition, as a special exception, Code Synthesis Tools CC gives -permission to link this program with the Xerces-C++ library (or with -modified versions of Xerces-C++ that use the same license as Xerces-C++), -and distribute linked combinations including the two. You must obey -the GNU General Public License version 2 in all respects for all of -the code used other than Xerces-C++. If you modify this copy of the -program, you may extend this exception to your version of the program, -but you are not obligated to do so. If you do not wish to do so, delete -this exception statement from your version. diff --git a/xsd/build/import/libxsd-frontend/configuration-dynamic.make b/xsd/build/import/libxsd-frontend/configuration-dynamic.make deleted file mode 100644 index 5033ade..0000000 --- a/xsd/build/import/libxsd-frontend/configuration-dynamic.make +++ /dev/null @@ -1,4 +0,0 @@ -libxsd_frontend_installed := n -src_root := $(abspath $(src_root)/../libxsd-frontend) -scf_root := $(src_root)/build -out_root := $(src_root) diff --git a/xsd/build/import/libxsd-frontend/configuration-rules.make b/xsd/build/import/libxsd-frontend/configuration-rules.make deleted file mode 100644 index 05a312a..0000000 --- a/xsd/build/import/libxsd-frontend/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libxsd-frontend/configuration-rules.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# 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/xsd/build/import/libxsd-frontend/configure b/xsd/build/import/libxsd-frontend/configure deleted file mode 100755 index 0c34062..0000000 --- a/xsd/build/import/libxsd-frontend/configure +++ /dev/null @@ -1,54 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libxsd-frontend/configure -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# 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/xsd/build/import/libxsd-frontend/stub.make b/xsd/build/import/libxsd-frontend/stub.make deleted file mode 100644 index cb57cef..0000000 --- a/xsd/build/import/libxsd-frontend/stub.make +++ /dev/null @@ -1,29 +0,0 @@ -# file : build/import/libxsd-frontend/stub.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# 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/xsd/build/import/libz/LICENSE b/xsd/build/import/libz/LICENSE deleted file mode 100644 index 3912109..0000000 --- a/xsd/build/import/libz/LICENSE +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/build/import/libz/configuration-rules.make b/xsd/build/import/libz/configuration-rules.make deleted file mode 100644 index 180d3f3..0000000 --- a/xsd/build/import/libz/configuration-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : build/import/libz/configuration-rules.make -# copyright : Copyright (c) 2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libz/configuration-dynamic.make: | $(dcf_root)/import/libz/. - $(call message,,$(scf_root)/import/libz/configure $@) - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libz/configuration-dynamic.make,\ -rm -f $(dcf_root)/import/libz/configuration-dynamic.make) - -endif diff --git a/xsd/build/import/libz/configure b/xsd/build/import/libz/configure deleted file mode 100755 index b937a6c..0000000 --- a/xsd/build/import/libz/configure +++ /dev/null @@ -1,57 +0,0 @@ -#! /usr/bin/env bash - -# file : build/import/libz/configure -# copyright : Copyright (c) 2009 Boris Kolpackov -# 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 'zlib' for '$project_name'." -$echo - -$echo -$echo "Would you like to configure dependency on the installed version" -$echo "of 'zlib' as opposed to the development build?" -$echo - -installed=`read_y_n y` - -path= -type= - -if [ "$installed" = "n" ]; then - - $echo - $echo "Please enter the 'zlib' root directory." - $echo - - root=`read_path --directory --exist` - - $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 libz_installed := $installed >$1 - -if [ "$installed" = "n" ]; then - - echo libz_root := $root >>$1 - echo libz_type := $type >>$1 - -fi diff --git a/xsd/build/import/libz/rules.make b/xsd/build/import/libz/rules.make deleted file mode 100644 index f28a280..0000000 --- a/xsd/build/import/libz/rules.make +++ /dev/null @@ -1,28 +0,0 @@ -# file : build/import/libz/rules.make -# copyright : Copyright (c) 2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(dcf_root)/import/libz/%: root := $(libz_root) - -ifeq ($(libz_type),archive) - -$(dcf_root)/import/libz/z.l: $(libz_root)/libz.a - @echo $< >$@ -else - -$(dcf_root)/import/libz/z.l: $(libz_root)/libz.so - @echo $< >$@ - @echo rpath:$(root) >>$@ -endif - -$(dcf_root)/import/libz/z.l.cpp-options: - @echo include: -I$(root) >$@ - -ifndef %foreign% - -disfigure:: - $(call message,rm $(dcf_root)/import/libz/z.l,\ -rm -f $(dcf_root)/import/libz/z.l) - $(call message,,rm -f $(dcf_root)/import/libz/z.l.cpp-options) - -endif diff --git a/xsd/build/import/libz/stub.make b/xsd/build/import/libz/stub.make deleted file mode 100644 index 8d0f8fb..0000000 --- a/xsd/build/import/libz/stub.make +++ /dev/null @@ -1,31 +0,0 @@ -# file : build/import/libz/stub.make -# copyright : Copyright (c) 2009 Boris Kolpackov -# license : GNU GPL v2; see accompanying LICENSE file - -$(call include-once,$(scf_root)/import/libz/configuration-rules.make,$(dcf_root)) - -libz_installed := - -$(call -include,$(dcf_root)/import/libz/configuration-dynamic.make) - -ifdef libz_installed - -ifeq ($(libz_installed),y) - -$(call export,l: -lz,cpp-options: ) - -else - -$(call include-once,$(scf_root)/import/libz/rules.make,$(dcf_root)) - -$(call export,\ - l: $(dcf_root)/import/libz/z.l,\ - cpp-options: $(dcf_root)/import/libz/z.l.cpp-options) - -endif - -else - -.NOTPARALLEL: - -endif diff --git a/xsd/build/import/libz/version b/xsd/build/import/libz/version deleted file mode 100644 index 6e8bf73..0000000 --- a/xsd/build/import/libz/version +++ /dev/null @@ -1 +0,0 @@ -0.1.0 diff --git a/xsd/build/xsd/parser/xsd-cxx.make b/xsd/build/xsd/parser/xsd-cxx.make deleted file mode 100644 index 185718f..0000000 --- a/xsd/build/xsd/parser/xsd-cxx.make +++ /dev/null @@ -1,76 +0,0 @@ -# file : build/xsd/parser/xsd-cxx.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#@@ Need to use extensions from cxx config. -# - -# C++/Parser mapping. -# -ifeq ($(xsd_parser_skel_suffix),) -xsd_parser_skel_suffix := -pskel -endif - -xsd_parser_pattern := \ -$(out_base)/%$(xsd_parser_skel_suffix).cxx \ -$(out_base)/%$(xsd_parser_skel_suffix).hxx \ -$(out_base)/%$(xsd_parser_skel_suffix).ixx - -ifneq ($(xsd_parser_impl_suffix),) -xsd_parser_pattern += \ -$(out_base)/%$(xsd_parser_impl_suffix).cxx \ -$(out_base)/%$(xsd_parser_impl_suffix).hxx \ -$(out_base)/%-driver.cxx -endif - - -$(xsd_parser_pattern): xsd := xsd -$(xsd_parser_pattern): xsd_command := cxx-parser - -ops := --generate-inline --skel-file-suffix $(xsd_parser_skel_suffix) - -ifneq ($(xsd_pimpl_suffix),) -ops += --impl-file-suffix $(xsd_parser_impl_suffix) -endif - -$(xsd_parser_pattern): xsd_options := $(ops) - - -.PRECIOUS: $(xsd_parser_pattern) - -ifeq ($(out_base),$(src_base)) - -$(xsd_parser_pattern): $(src_base)/%.xsd - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -else - -$(xsd_parser_pattern): $(src_base)/%.xsd | $$(dir $$@). - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -$(xsd_parser_pattern): $(out_base)/%.xsd | $$(dir $$@). - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -endif - - -.PHONY: $(out_base)/%$(xsd_parser_skel_suffix).cxx.xsd.clean - -$(out_base)/%$(xsd_parser_skel_suffix).cxx.xsd.clean: - $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.cxx)) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.hxx)) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.ixx)) - -ifneq ($(xsd_parser_impl_suffix),) -.PHONY: $(out_base)/%$(xsd_parser_impl_suffix).cxx.xsd.clean - -$(out_base)/%$(xsd_parser_impl_suffix).cxx.xsd.clean: - $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.cxx)) - $(call message,rm $$1,rm -f $$1,$(@:.cxx.xsd.clean=.hxx)) - $(call message,rm $$1,rm -f $$1,$(out_base)/$*-driver.cxx) -endif - -# Reset the config variables so they won't take effect in other places. -# -xsd_parser_skel_suffix := -xsd_parser_impl_suffix := diff --git a/xsd/build/xsd/tree/xsd-cxx.make b/xsd/build/xsd/tree/xsd-cxx.make deleted file mode 100644 index 0411820..0000000 --- a/xsd/build/xsd/tree/xsd-cxx.make +++ /dev/null @@ -1,47 +0,0 @@ -# file : build/xsd/tree/xsd-cxx.make -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#@@ Need to use extensions from cxx config. -# - -# C++/Tree mapping. -# -xsd_tree_pattern := \ -$(out_base)/%$(xsd_tree_suffix).cxx \ -$(out_base)/%$(xsd_tree_suffix).hxx \ -$(out_base)/%$(xsd_tree_suffix).ixx \ -$(out_base)/%$(xsd_tree_suffix)-fwd.hxx - -$(xsd_tree_pattern): xsd := xsd -$(xsd_tree_pattern): xsd_command := cxx-tree -$(xsd_tree_pattern): xsd_options := --generate-inline - -.PRECIOUS: $(xsd_tree_pattern) - -ifeq ($(out_base),$(src_base)) - -$(xsd_tree_pattern): $(src_base)/%.xsd - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -else - -$(xsd_tree_pattern): $(src_base)/%.xsd | $$(dir $$@). - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -$(xsd_tree_pattern): $(out_base)/%.xsd | $$(dir $$@). - $(call message,xsd $<,$(xsd) $(xsd_command) $(xsd_options) --output-dir $(dir $@) $<) - -endif - -.PHONY: $(out_base)/%$(xsd_tree_suffix).cxx.xsd.clean - -$(out_base)/%$(xsd_tree_suffix).cxx.xsd.clean: - $(call message,rm $(@:.cxx.xsd.clean=.cxx),rm -f $(@:.cxx.xsd.clean=.cxx)) - $(call message,rm $(@:.cxx.xsd.clean=.hxx),rm -f $(@:.cxx.xsd.clean=.hxx)) - $(call message,rm $(@:.cxx.xsd.clean=.ixx),rm -f $(@:.cxx.xsd.clean=.ixx)) - $(call message,rm $(@:.cxx.xsd.clean=-fwd.hxx),rm -f $(@:.cxx.xsd.clean=-fwd.hxx)) - -# Reset the config variables so they won't take effect in other places. -# -xsd_tree_suffix := diff --git a/xsd/buildfile b/xsd/buildfile new file mode 100644 index 0000000..d4e7af5 --- /dev/null +++ b/xsd/buildfile @@ -0,0 +1,121 @@ +# file : xsd/buildfile +# license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +import libs = libxsd-frontend%lib{xsd-frontend} +import libs += libcutl%lib{cutl} +import libs += libxerces-c%lib{xerces-c} + +ops = options cxx/options cxx/parser/options cxx/tree/options + +./: exe{xsd}: {hxx ixx txx cxx}{** -version -{$ops} -pregenerated/**} \ + {hxx}{version} \ + $libs + +# Target metadata, see also --build2-metadata in xsd.cxx. +# +# Note that xsd does not query any environment variables. +# +exe{xsd}: +{ + export.metadata = 1 xsd + xsd.name = [string] xsd + xsd.version = [string] $version + xsd.checksum = [string] $version +} + +hxx{version}: in{version} $src_root/manifest + +## Consumption build ($develop == false). +# + +# Use pregenerated versions in the consumption build. +# +exe{xsd}: pregenerated/{hxx ixx cxx}{**}: include = (!$develop) + +if! $develop + cxx.poptions =+ "-I($src_base/pregenerated)" # Note: must come first. + +# Distribute pregenerated versions only in the consumption build. +# +pregenerated/{hxx ixx cxx}{*}: dist = (!$develop) + +# +## + +## Development build ($develop == true). +# + +exe{xsd}: {hxx ixx cxx}{$ops}: include = $develop + +if $develop + import! [metadata] cli = cli%exe{cli} + +# In the development build distribute regenerated {hxx ixx cxx}{options}, +# remapping their locations to the paths of the pregenerated versions (which +# are only distributed in the consumption build; see above). This way we make +# sure that the distributed files are always up-to-date. +# +for f: $ops +{ + d = $directory($f) # empty, cxx/, etc. + + <{hxx ixx cxx}{$f}>: cli{$f} + { + dist = ($develop ? $relative([dir_path] "pregenerated/xsd/$d", $d) : false) + + # Symlink the generated code in src for convenience of development. + # + backlink = true + } +} + +<hxx{~'/(.*)/'} ixx{~'/\1/'} cxx{~'/\1/'}>: cli{~'/\1/'} $cli +% +if $develop +{{ + t = $path($>[0]).t + + depdb dyndep --byproduct --file $t + + h = $path($>[0]) + i = $path($>[1]) + c = $path($>[2]) + + d = $directory($h) + p = $string($leaf($d, $out_root)) # xsd, xsd/cxx, etc + + options = --std c++11 -I $src_root --include-prefix $p \ + --guard-prefix $regex.replace($ucase($p), '[/\\]', '_') \ + --generate-specifier --generate-file-scanner \ + --suppress-undocumented --ostream-type ::std::wostream \ + --exclude-base --include-with-brackets --option-length 28 \ + --cxx-prologue '#include <xsd/options-parser.hxx>' + + $cli $options --generate-dep --dep-file $t -o $d $path($<[0]) + + # If the result differs from the pregenerated version, copy it over. + # + d = [dir_path] $src_base/pregenerated/$p + + dh = $d/$leaf($h) + di = $d/$leaf($i) + dc = $d/$leaf($c) + + if diff $dh $h >- && \ + diff $di $i >- && \ + diff $dc $c >- + exit + end + + cp $h $dh + cp $i $di + cp $c $dc +}} + +# +## + +# Pass the copyright notice extracted from the LICENSE file. +# +obj{xsd cxx/parser/generator cxx/tree/generator}: \ + cxx.poptions += -DXSD_COPYRIGHT=\"$copyright\" diff --git a/xsd/xsd/cxx/elements.cxx b/xsd/cxx/elements.cxx index dfa2f38..02a768e 100644 --- a/xsd/xsd/cxx/elements.cxx +++ b/xsd/cxx/elements.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/elements.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/elements.hxx> +#include <xsd/cxx/elements.hxx> #include <cctype> // std::toupper #include <memory> @@ -103,6 +102,36 @@ namespace CXX L"xor", L"xor_eq" }; + + // Note: excluding "identifiers with special meaning" in certain contexts + // ("final", "override") since they shouldn't cause any issues. + // + wchar_t const* keywords_cxx11[] = { + L"alignas", + L"alignof", + L"char16_t", + L"char32_t", + L"constexpr", + L"decltype", + L"noexcept", + L"nullptr", + L"static_assert", + L"thread_local" + }; + + // Note: excluding "identifiers with special meaning" in certain contexts + // ("import", "module") since they shouldn't cause any issues. + // + wchar_t const* keywords_cxx20[] = { + L"char8_t", + L"concept", + L"consteval", + L"constinit", + L"co_await", + L"co_return", + L"co_yield", + L"requires" + }; } // Context @@ -269,8 +298,21 @@ namespace CXX // Populate the keyword set. // - for (size_t i (0); i < sizeof (keywords) / sizeof (char*); ++i) + for (size_t i (0); i < sizeof (keywords) / sizeof (wchar_t*); ++i) keyword_set_.insert (keywords[i]); + + if (std >= cxx_version::cxx11) + { + for (size_t i (0); i < sizeof (keywords_cxx11) / sizeof (wchar_t*); ++i) + keyword_set_.insert (keywords_cxx11[i]); + } + + if (std >= cxx_version::cxx20) + { + for (size_t i (0); i < sizeof (keywords_cxx20) / sizeof (wchar_t*); ++i) + keyword_set_.insert (keywords_cxx20[i]); + } + } String Context:: @@ -878,16 +920,19 @@ namespace CXX tmp[3] = (u | 0x80UL) & 0xBFUL; u >>= 6; } + // Fall through. case 3: { tmp[2] = (u | 0x80UL) & 0xBFUL; u >>= 6; } + // Fall through. case 2: { tmp[1] = (u | 0x80UL) & 0xBFUL; u >>= 6; } + // Fall through. case 1: { tmp[0] = u | utf8_first_char_mask[count]; diff --git a/xsd/xsd/cxx/elements.hxx b/xsd/cxx/elements.hxx index 4b36da9..62ba97c 100644 --- a/xsd/xsd/cxx/elements.hxx +++ b/xsd/cxx/elements.hxx @@ -1,25 +1,24 @@ // file : xsd/cxx/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_ELEMENTS_HXX -#define CXX_ELEMENTS_HXX +#ifndef XSD_CXX_ELEMENTS_HXX +#define XSD_CXX_ELEMENTS_HXX #include <set> #include <map> #include <vector> #include <ostream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <types.hxx> -#include <elements.hxx> +#include <xsd/types.hxx> +#include <xsd/elements.hxx> -#include <cxx/options.hxx> -#include <cxx/literal-map.hxx> +#include <xsd/cxx/options.hxx> +#include <xsd/cxx/literal-map.hxx> namespace CXX { @@ -624,4 +623,4 @@ namespace CXX }; } -#endif // CXX_TREE_ELEMENTS_HXX +#endif // XSD_CXX_TREE_ELEMENTS_HXX diff --git a/xsd/xsd/cxx/literal-map.cxx b/xsd/cxx/literal-map.cxx index 24bfc52..b81f249 100644 --- a/xsd/xsd/cxx/literal-map.cxx +++ b/xsd/cxx/literal-map.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/literal-map.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <memory> // std::auto_ptr +#include <memory> // std::unique_ptr #include <cstddef> // std::size_t #include <fstream> #include <iostream> @@ -17,9 +16,9 @@ #include <xercesc/sax2/SAX2XMLReader.hpp> #include <xercesc/sax2/XMLReaderFactory.hpp> -#include <xsd-frontend/xml.hxx> +#include <libxsd-frontend/xml.hxx> -#include <cxx/literal-map.hxx> +#include <xsd/cxx/literal-map.hxx> using namespace std; using namespace xercesc; @@ -238,7 +237,7 @@ namespace CXX LocalFileInputSource is (XML::XMLChString (wfile).c_str ()); Handler h (wfile, map); - auto_ptr<SAX2XMLReader> parser ( + unique_ptr<SAX2XMLReader> parser ( XMLReaderFactory::createXMLReader ()); parser->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); diff --git a/xsd/xsd/cxx/literal-map.hxx b/xsd/cxx/literal-map.hxx index 987a531..bc8fabb 100644 --- a/xsd/xsd/cxx/literal-map.hxx +++ b/xsd/cxx/literal-map.hxx @@ -1,13 +1,12 @@ // file : xsd/cxx/literal-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_LITERAL_MAP_HXX -#define CXX_LITERAL_MAP_HXX +#ifndef XSD_CXX_LITERAL_MAP_HXX +#define XSD_CXX_LITERAL_MAP_HXX #include <map> -#include <types.hxx> +#include <xsd/types.hxx> namespace CXX { @@ -17,4 +16,4 @@ namespace CXX read_literal_map (NarrowString const& file, StringLiteralMap& map); } -#endif // CXX_LITERAL_MAP_HXX +#endif // XSD_CXX_LITERAL_MAP_HXX diff --git a/xsd/xsd/cxx/option-types.cxx b/xsd/cxx/option-types.cxx index 78424f0..8744d7f 100644 --- a/xsd/xsd/cxx/option-types.cxx +++ b/xsd/cxx/option-types.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/option-types.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <istream> #include <ostream> -#include <cxx/option-types.hxx> +#include <xsd/cxx/option-types.hxx> using namespace std; @@ -18,7 +17,11 @@ namespace CXX static const char* cxx_version_[] = { "c++98", - "c++11" + "c++11", + "c++14", + "c++17", + "c++20", + "c++23", }; string cxx_version:: @@ -39,6 +42,14 @@ namespace CXX v = cxx_version::cxx98; else if (s == "c++11") v = cxx_version::cxx11; + else if (s == "c++14") + v = cxx_version::cxx14; + else if (s == "c++17") + v = cxx_version::cxx17; + else if (s == "c++20") + v = cxx_version::cxx20; + else if (s == "c++23") + v = cxx_version::cxx23; else is.setstate (istream::failbit); } diff --git a/xsd/xsd/cxx/option-types.hxx b/xsd/cxx/option-types.hxx index b2377ba..98a493a 100644 --- a/xsd/xsd/cxx/option-types.hxx +++ b/xsd/cxx/option-types.hxx @@ -1,9 +1,8 @@ // file : xsd/cxx/option-types.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef XSD_OPTION_TYPES_HXX -#define XSD_OPTION_TYPES_HXX +#ifndef XSD_XSD_OPTION_TYPES_HXX +#define XSD_XSD_OPTION_TYPES_HXX #include <iosfwd> #include <string> @@ -15,10 +14,14 @@ namespace CXX enum value { cxx98, - cxx11 + cxx11, + cxx14, + cxx17, + cxx20, + cxx23 }; - cxx_version (value v = value (0)) : v_ (v) {} + cxx_version (value v) : v_ (v) {} operator value () const {return v_;} std::string @@ -32,4 +35,4 @@ namespace CXX operator>> (std::istream&, cxx_version&); } -#endif // XSD_OPTION_TYPES_HXX +#endif // XSD_XSD_OPTION_TYPES_HXX diff --git a/xsd/xsd/cxx/options.cli b/xsd/cxx/options.cli index 8133b25..1be7607 100644 --- a/xsd/xsd/cxx/options.cli +++ b/xsd/cxx/options.cli @@ -1,14 +1,13 @@ // file : xsd/cxx/options.cli -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file include <cstddef>; // std::size_t -include <types.hxx>; // NarrowString, NarrowStrings +include <xsd/types.hxx>; // NarrowString, NarrowStrings -include <cxx/option-types.hxx>; +include <xsd/cxx/option-types.hxx>; -include <options.cli>; +include <xsd/options.cli>; namespace CXX { @@ -16,17 +15,19 @@ namespace CXX { // Language. // - cxx_version --std = cxx_version::cxx98 + cxx_version --std = cxx_version::cxx11 { "<version>", "Specify the C++ standard that the generated code should conform to. - Valid values are \cb{c++98} (default) and \cb{c++11}. + Valid values are \cb{c++98}, \cb{c++11} (default), \cb{c++14}, + \cb{c++17}, \cb{c++20}, and \cb{c++23}. The C++ standard affects various aspects of the generated code that are discussed in more detail in various mapping-specific documentation. Overall, when C++11 is selected, the generated code relies on the move semantics and uses \cb{std::unique_ptr} - instead of deprecated \cb{std::auto_ptr}. + instead of deprecated \cb{std::auto_ptr}. Currently, there is no + difference between the C++11 and the later standards modes. When the C++11 mode is selected, you normally don't need to perform any extra steps other than enable C++11 in your C++ @@ -127,7 +128,7 @@ namespace CXX Schema namespace names to C++ namespace names. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. Any character can be - used as a delimiter instead of \cb{/}. Escaping of the delimiter + used as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. All the regular expressions are pushed into a stack with the last @@ -153,7 +154,7 @@ namespace CXX 1. The expression is applied and if the result is empty the next expression is considered. - 2. All \cb{/} are replaced with \cb{::}. + 2. All '\cb{/}' are replaced with '\cb{::}'. 3. The result is verified to be a valid C++ scope name (e.g., \cb{foo::bar}). If this test succeeds, the result is used as a @@ -215,7 +216,7 @@ namespace CXX "Add <regex> to the list of regular expressions used to transform \cb{#include} directive paths. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. - Any character can be used as a delimiter instead of \cb{/}. Escaping + Any character can be used as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. @@ -499,7 +500,7 @@ namespace CXX generated files on the main schema file as well as all the schema files that it includes/imports, transitively. This dependency file is then normally included into the main \cb{makefile} to implement - automatic dependency tracking. + automatic dependency tracking. See also the \cb{--dep-*} options. Note also that automatic dependency generation is not supported in the file-per-type mode (\cb{--file-per-type}). In this case, all @@ -535,8 +536,16 @@ namespace CXX NarrowString --dep-suffix = ".d" { "<suffix>", - "Use the provided <suffix> instead of the default \cb{.d} to - construct the name of the dependency file." + "Use <suffix> instead of the default \cb{.d} to construct the name of + the dependency file. See also \cb{--dep-file}." + }; + + NarrowString --dep-file + { + "<path>", + "Use <path> as the generated dependency file path instead of deriving + it from the input file name. Write the dependency information to + \cb{stdout} if <path> is \cb{-}. See also \cb{--dep-regex}." }; NarrowString --dep-regex diff --git a/xsd/xsd/cxx/parser/attribute-validation-source.cxx b/xsd/cxx/parser/attribute-validation-source.cxx index 7ed54e4..1c873fd 100644 --- a/xsd/xsd/cxx/parser/attribute-validation-source.cxx +++ b/xsd/cxx/parser/attribute-validation-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/attribute-validation-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/attribute-validation-source.hxx> +#include <xsd/cxx/parser/attribute-validation-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/cxx/parser/attribute-validation-source.hxx b/xsd/cxx/parser/attribute-validation-source.hxx new file mode 100644 index 0000000..1f19bed --- /dev/null +++ b/xsd/cxx/parser/attribute-validation-source.hxx @@ -0,0 +1,18 @@ +// file : xsd/cxx/parser/attribute-validation-source.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX +#define XSD_CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX + +#include <xsd/cxx/parser/elements.hxx> + +namespace CXX +{ + namespace Parser + { + void + generate_attribute_validation_source (Context&); + } +} + +#endif // XSD_CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/characters-validation-source.cxx b/xsd/cxx/parser/characters-validation-source.cxx index ddecc70..749a4cc 100644 --- a/xsd/xsd/cxx/parser/characters-validation-source.cxx +++ b/xsd/cxx/parser/characters-validation-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/characters-validation-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/characters-validation-source.hxx> +#include <xsd/cxx/parser/characters-validation-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/cxx/parser/characters-validation-source.hxx b/xsd/cxx/parser/characters-validation-source.hxx new file mode 100644 index 0000000..909901b --- /dev/null +++ b/xsd/cxx/parser/characters-validation-source.hxx @@ -0,0 +1,18 @@ +// file : xsd/cxx/parser/characters-validation-source.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX +#define XSD_CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX + +#include <xsd/cxx/parser/elements.hxx> + +namespace CXX +{ + namespace Parser + { + void + generate_characters_validation_source (Context&); + } +} + +#endif // XSD_CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/driver-source.cxx b/xsd/cxx/parser/driver-source.cxx index 510c965..d1e6b7f 100644 --- a/xsd/xsd/cxx/parser/driver-source.cxx +++ b/xsd/cxx/parser/driver-source.cxx @@ -1,16 +1,15 @@ // file : xsd/cxx/parser/driver-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> #include <map> #include <sstream> -#include <cxx/parser/driver-source.hxx> -#include <cxx/parser/print-impl-common.hxx> +#include <xsd/cxx/parser/driver-source.hxx> +#include <xsd/cxx/parser/print-impl-common.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/xsd/cxx/parser/driver-source.hxx b/xsd/cxx/parser/driver-source.hxx index 53e19d8..154091f 100644 --- a/xsd/xsd/cxx/parser/driver-source.hxx +++ b/xsd/cxx/parser/driver-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/driver-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_DRIVER_SOURCE_HXX -#define CXX_PARSER_DRIVER_SOURCE_HXX +#ifndef XSD_CXX_PARSER_DRIVER_SOURCE_HXX +#define XSD_CXX_PARSER_DRIVER_SOURCE_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_DRIVER_SOURCE_HXX +#endif // XSD_CXX_PARSER_DRIVER_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/element-validation-source.cxx b/xsd/cxx/parser/element-validation-source.cxx index b2c244e..b5e1e9d 100644 --- a/xsd/xsd/cxx/parser/element-validation-source.cxx +++ b/xsd/cxx/parser/element-validation-source.cxx @@ -1,13 +1,12 @@ // file : xsd/cxx/parser/element-validation-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <vector> -#include <cxx/parser/element-validation-source.hxx> +#include <xsd/cxx/parser/element-validation-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; @@ -711,9 +710,9 @@ namespace CXX os << "count = 0;" << "state = " << next_state_ << "UL;" - << "// Fall through." << endl - << "}" // else - << "}"; // case + << "}" // else + << "}" // case + << "// Fall through." << endl; } virtual void @@ -832,9 +831,9 @@ namespace CXX os << "count = 0;" << "state = " << next_state_ << "UL;" - << "// Fall through." << endl - << "}" // else - << "}"; // case + << "}" // else + << "}" // case + << "// Fall through." << endl; } private: diff --git a/xsd/cxx/parser/element-validation-source.hxx b/xsd/cxx/parser/element-validation-source.hxx new file mode 100644 index 0000000..b358aee --- /dev/null +++ b/xsd/cxx/parser/element-validation-source.hxx @@ -0,0 +1,18 @@ +// file : xsd/cxx/parser/element-validation-source.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX +#define XSD_CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX + +#include <xsd/cxx/parser/elements.hxx> + +namespace CXX +{ + namespace Parser + { + void + generate_element_validation_source (Context&); + } +} + +#endif // XSD_CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/elements.cxx b/xsd/cxx/parser/elements.cxx index 889eea4..63fb3d5 100644 --- a/xsd/xsd/cxx/parser/elements.cxx +++ b/xsd/cxx/parser/elements.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/parser/elements.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/elements.hxx b/xsd/cxx/parser/elements.hxx index 31f5d87..0015923 100644 --- a/xsd/xsd/cxx/parser/elements.hxx +++ b/xsd/cxx/parser/elements.hxx @@ -1,19 +1,18 @@ // file : xsd/cxx/parser/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_ELEMENTS_HXX -#define CXX_PARSER_ELEMENTS_HXX +#ifndef XSD_CXX_PARSER_ELEMENTS_HXX +#define XSD_CXX_PARSER_ELEMENTS_HXX #include <sstream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/elements.hxx> +#include <xsd/cxx/elements.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/parser/options.hxx> namespace CXX { @@ -313,4 +312,4 @@ namespace CXX } } -#endif // CXX_PARSER_ELEMENTS_HXX +#endif // XSD_CXX_PARSER_ELEMENTS_HXX diff --git a/xsd/xsd/cxx/parser/generator.cxx b/xsd/cxx/parser/generator.cxx index e17986b..b1acdbb 100644 --- a/xsd/xsd/cxx/parser/generator.cxx +++ b/xsd/cxx/parser/generator.cxx @@ -1,47 +1,46 @@ // file : xsd/cxx/parser/generator.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <algorithm> #include <iostream> #include <fstream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <cutl/compiler/code-stream.hxx> -#include <cutl/compiler/cxx-indenter.hxx> -#include <cutl/compiler/sloc-counter.hxx> +#include <libcutl/compiler/code-stream.hxx> +#include <libcutl/compiler/cxx-indenter.hxx> +#include <libcutl/compiler/sloc-counter.hxx> -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <type-map/lexer.hxx> -#include <type-map/parser.hxx> -#include <type-map/type-map.hxx> +#include <xsd/version.hxx> -#include <cxx/parser/elements.hxx> -#include <cxx/parser/generator.hxx> +#include <xsd/type-map/lexer.hxx> +#include <xsd/type-map/parser.hxx> +#include <xsd/type-map/type-map.hxx> -#include <cxx/parser/validator.hxx> -#include <cxx/parser/name-processor.hxx> -#include <cxx/parser/state-processor.hxx> -#include <cxx/parser/type-processor.hxx> +#include <xsd/cxx/parser/elements.hxx> +#include <xsd/cxx/parser/generator.hxx> -#include <cxx/parser/parser-header.hxx> -#include <cxx/parser/parser-inline.hxx> -#include <cxx/parser/parser-source.hxx> -#include <cxx/parser/parser-forward.hxx> +#include <xsd/cxx/parser/validator.hxx> +#include <xsd/cxx/parser/name-processor.hxx> +#include <xsd/cxx/parser/state-processor.hxx> +#include <xsd/cxx/parser/type-processor.hxx> -#include <cxx/parser/impl-header.hxx> -#include <cxx/parser/impl-source.hxx> -#include <cxx/parser/driver-source.hxx> +#include <xsd/cxx/parser/parser-header.hxx> +#include <xsd/cxx/parser/parser-inline.hxx> +#include <xsd/cxx/parser/parser-source.hxx> +#include <xsd/cxx/parser/parser-forward.hxx> -#include <cxx/parser/element-validation-source.hxx> -#include <cxx/parser/attribute-validation-source.hxx> -#include <cxx/parser/characters-validation-source.hxx> +#include <xsd/cxx/parser/impl-header.hxx> +#include <xsd/cxx/parser/impl-source.hxx> +#include <xsd/cxx/parser/driver-source.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/parser/element-validation-source.hxx> +#include <xsd/cxx/parser/attribute-validation-source.hxx> +#include <xsd/cxx/parser/characters-validation-source.hxx> -#include "../../../libxsd/xsd/cxx/version.hxx" +#include <xsd/cxx/parser/options.hxx> using std::endl; using std::wcerr; @@ -60,7 +59,7 @@ namespace CXX namespace { char const copyright_gpl[] = - "// Copyright (c) 2005-2014 Code Synthesis Tools CC\n" + "// Copyright (c) " XSD_COPYRIGHT ".\n" "//\n" "// This program was generated by CodeSynthesis XSD, an XML Schema to\n" "// C++ data binding compiler.\n" @@ -78,29 +77,28 @@ namespace CXX "// along with this program; if not, write to the Free Software\n" "// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" "//\n" - "// In addition, as a special exception, Code Synthesis Tools CC gives\n" - "// permission to link this program with the Xerces-C++ library (or with\n" - "// modified versions of Xerces-C++ that use the same license as Xerces-C++),\n" - "// and distribute linked combinations including the two. You must obey\n" - "// the GNU General Public License version 2 in all respects for all of\n" - "// the code used other than Xerces-C++. If you modify this copy of the\n" - "// program, you may extend this exception to your version of the program,\n" - "// but you are not obligated to do so. If you do not wish to do so, delete\n" - "// this exception statement from your version.\n" + "// In addition, as a special exception, Code Synthesis gives permission\n" + "// to link this program with the Xerces-C++ library (or with modified\n" + "// versions of Xerces-C++ that use the same license as Xerces-C++), and\n" + "// distribute linked combinations including the two. You must obey the GNU\n" + "// General Public License version 2 in all respects for all of the code\n" + "// used other than Xerces-C++. If you modify this copy of the program, you\n" + "// may extend this exception to your version of the program, but you are\n" + "// not obligated to do so. If you do not wish to do so, delete this\n" + "// exception statement from your version.\n" "//\n" - "// Furthermore, Code Synthesis Tools CC makes a special exception for\n" - "// the Free/Libre and Open Source Software (FLOSS) which is described\n" - "// in the accompanying FLOSSE file.\n" + "// Furthermore, Code Synthesis makes a special exception for the Free/Libre\n" + "// and Open Source Software (FLOSS) which is described in the accompanying\n" + "// FLOSSE file.\n" "//\n\n"; char const copyright_proprietary[] = - "// Copyright (c) 2005-2014 Code Synthesis Tools CC\n" + "// Copyright (c) " XSD_COPYRIGHT ".\n" "//\n" "// This program was generated by CodeSynthesis XSD, an XML Schema\n" "// to C++ data binding compiler, in the Proprietary License mode.\n" "// You should have received a proprietary license from Code Synthesis\n" - "// Tools CC prior to generating this code. See the license text for\n" - "// conditions.\n" + "// prior to generating this code. See the license text for conditions.\n" "//\n\n"; char const copyright_impl[] = @@ -233,8 +231,11 @@ namespace CXX throw Failed (); } + bool gen_cxx (!ops.file_list_only ()); + // Process names. // + if (gen_cxx) { NameProcessor proc; proc.process (ops, schema, file_path, string_literal_map); @@ -246,7 +247,7 @@ namespace CXX // Compute state machine info. // - if (validation) + if (gen_cxx && validation) { StateProcessor proc; proc.process (schema, file_path); @@ -255,6 +256,7 @@ namespace CXX // Read-in type maps. // TypeMap::Namespaces type_map; + if (gen_cxx) { using namespace TypeMap; @@ -377,6 +379,7 @@ namespace CXX // Process types. // + if (gen_cxx) { TypeProcessor proc; proc.process (ops, schema, gen_driver, type_map); @@ -560,135 +563,165 @@ namespace CXX if (impl) { - if (!ops.force_overwrite ()) + if (gen_cxx) { - WideInputFileStream tmp ( - hxx_impl_path.string ().c_str (), ios_base::in); + if (!ops.force_overwrite ()) + { + WideInputFileStream tmp ( + hxx_impl_path.string ().c_str (), ios_base::in); - if (tmp.is_open ()) + if (tmp.is_open ()) + { + wcerr << hxx_impl_path << ": error: cowardly refusing to " << + "overwrite an existing file" << endl; + throw Failed (); + } + + tmp.close (); + } + + hxx_impl.open (hxx_impl_path.string ().c_str (), ios_base::out); + + if (!hxx_impl.is_open ()) { - wcerr << hxx_impl_path << ": error: cowardly refusing to " << - "overwrite an existing file" << endl; + wcerr << hxx_impl_path << ": error: unable to open in write mode" + << endl; throw Failed (); } - tmp.close (); + unlinks.add (hxx_impl_path); } - hxx_impl.open (hxx_impl_path.string ().c_str (), ios_base::out); + file_list.push_back (hxx_impl_path.string ()); - if (!hxx_impl.is_open ()) + if (gen_cxx) { - wcerr << hxx_impl_path << ": error: unable to open in write mode" - << endl; - throw Failed (); - } + if (!ops.force_overwrite ()) + { + WideInputFileStream tmp ( + cxx_impl_path.string ().c_str (), ios_base::in); - unlinks.add (hxx_impl_path); - file_list.push_back (hxx_impl_path.string ()); + if (tmp.is_open ()) + { + wcerr << cxx_impl_path << ": error: cowardly refusing to " << + "overwrite an existing file" << endl; + throw Failed (); + } - if (!ops.force_overwrite ()) - { - WideInputFileStream tmp ( - cxx_impl_path.string ().c_str (), ios_base::in); + tmp.close (); + } - if (tmp.is_open ()) + cxx_impl.open (cxx_impl_path.string ().c_str (), ios_base::out); + + if (!cxx_impl.is_open ()) { - wcerr << cxx_impl_path << ": error: cowardly refusing to " << - "overwrite an existing file" << endl; + wcerr << cxx_impl_path << ": error: unable to open in write mode" + << endl; throw Failed (); } - tmp.close (); - } - - cxx_impl.open (cxx_impl_path.string ().c_str (), ios_base::out); - - if (!cxx_impl.is_open ()) - { - wcerr << cxx_impl_path << ": error: unable to open in write mode" - << endl; - throw Failed (); + unlinks.add (cxx_impl_path); } - unlinks.add (cxx_impl_path); file_list.push_back (cxx_impl_path.string ()); } if (driver) { - if (!ops.force_overwrite ()) + if (gen_cxx) { - WideInputFileStream tmp ( - cxx_driver_path.string ().c_str (), ios_base::in); - - if (tmp.is_open ()) + if (!ops.force_overwrite ()) { - wcerr << cxx_driver_path << ": error: cowardly refusing to " << - "overwrite an existing file" << endl; - throw Failed (); + WideInputFileStream tmp ( + cxx_driver_path.string ().c_str (), ios_base::in); + + if (tmp.is_open ()) + { + wcerr << cxx_driver_path << ": error: cowardly refusing to " << + "overwrite an existing file" << endl; + throw Failed (); + } + + tmp.close (); } - tmp.close (); - } + cxx_driver.open (cxx_driver_path.string ().c_str (), ios_base::out); - cxx_driver.open (cxx_driver_path.string ().c_str (), ios_base::out); + if (!cxx_driver.is_open ()) + { + wcerr << cxx_driver_path << ": error: unable to open in write " << + "mode" << endl; + throw Failed (); + } - if (!cxx_driver.is_open ()) - { - wcerr << cxx_driver_path << ": error: unable to open in write " << - "mode" << endl; - throw Failed (); + unlinks.add (cxx_driver_path); } - unlinks.add (cxx_driver_path); file_list.push_back (cxx_driver_path.string ()); } // Open the skel files. // - WideOutputFileStream hxx (hxx_path.string ().c_str (), ios_base::out); + WideOutputFileStream hxx; WideOutputFileStream ixx; WideOutputFileStream cxx; - if (!hxx.is_open ()) + if (gen_cxx) { - wcerr << hxx_path << ": error: unable to open in write mode" << endl; - throw Failed (); + hxx.open (hxx_path.string ().c_str (), ios_base::out); + + if (!hxx.is_open ()) + { + wcerr << hxx_path << ": error: unable to open in write mode" << endl; + throw Failed (); + } + + unlinks.add (hxx_path); } - unlinks.add (hxx_path); file_list.push_back (hxx_path.string ()); if (inline_) { - ixx.open (ixx_path.string ().c_str (), ios_base::out); - - if (!ixx.is_open ()) + if (gen_cxx) { - wcerr << ixx_path << ": error: unable to open in write mode" << endl; - throw Failed (); + ixx.open (ixx_path.string ().c_str (), ios_base::out); + + if (!ixx.is_open ()) + { + wcerr << ixx_path << ": error: unable to open in write mode" + << endl; + throw Failed (); + } + + unlinks.add (ixx_path); } - unlinks.add (ixx_path); file_list.push_back (ixx_path.string ()); } - if (source) { - cxx.open (cxx_path.string ().c_str (), ios_base::out); - - if (!cxx.is_open ()) + if (gen_cxx) { - wcerr << cxx_path << ": error: unable to open in write mode" << endl; - throw Failed (); + cxx.open (cxx_path.string ().c_str (), ios_base::out); + + if (!cxx.is_open ()) + { + wcerr << cxx_path << ": error: unable to open in write mode" + << endl; + throw Failed (); + } + + unlinks.add (cxx_path); } - unlinks.add (cxx_path); file_list.push_back (cxx_path.string ()); } + if (!gen_cxx) + return 0; + // Print copyright and license. // char const* copyright ( @@ -802,7 +835,7 @@ namespace CXX // hxx << "#include <xsd/cxx/config.hxx>" << endl << endl - << "#if (XSD_INT_VERSION != " << XSD_INT_VERSION << "L)" << endl + << "#if (LIBXSD_VERSION != " << XSD_VERSION << "L)" << endl << "#error XSD runtime version mismatch" << endl << "#endif" << endl << endl; diff --git a/xsd/xsd/cxx/parser/generator.hxx b/xsd/cxx/parser/generator.hxx index 784ca9d..150cd74 100644 --- a/xsd/xsd/cxx/parser/generator.hxx +++ b/xsd/cxx/parser/generator.hxx @@ -1,18 +1,17 @@ // file : xsd/cxx/parser/generator.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_GENERATOR_HXX -#define CXX_PARSER_GENERATOR_HXX +#ifndef XSD_CXX_PARSER_GENERATOR_HXX +#define XSD_CXX_PARSER_GENERATOR_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> -#include <xsd.hxx> -#include <types.hxx> +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> -#include <cxx/literal-map.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/literal-map.hxx> +#include <xsd/cxx/parser/options.hxx> namespace CXX { @@ -43,4 +42,4 @@ namespace CXX } } -#endif // CXX_PARSER_GENERATOR_HXX +#endif // XSD_CXX_PARSER_GENERATOR_HXX diff --git a/xsd/xsd/cxx/parser/impl-header.cxx b/xsd/cxx/parser/impl-header.cxx index a3d47a4..be14dfa 100644 --- a/xsd/xsd/cxx/parser/impl-header.cxx +++ b/xsd/cxx/parser/impl-header.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/impl-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/impl-header.hxx> +#include <xsd/cxx/parser/impl-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/impl-header.hxx b/xsd/cxx/parser/impl-header.hxx index 273201b..1939e05 100644 --- a/xsd/xsd/cxx/parser/impl-header.hxx +++ b/xsd/cxx/parser/impl-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/impl-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_IMPL_HEADER_HXX -#define CXX_PARSER_IMPL_HEADER_HXX +#ifndef XSD_CXX_PARSER_IMPL_HEADER_HXX +#define XSD_CXX_PARSER_IMPL_HEADER_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_IMPL_HEADER_HXX +#endif // XSD_CXX_PARSER_IMPL_HEADER_HXX diff --git a/xsd/xsd/cxx/parser/impl-source.cxx b/xsd/cxx/parser/impl-source.cxx index ad85f81..80a9644 100644 --- a/xsd/xsd/cxx/parser/impl-source.cxx +++ b/xsd/cxx/parser/impl-source.cxx @@ -1,12 +1,11 @@ // file : xsd/cxx/parser/impl-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/impl-source.hxx> -#include <cxx/parser/print-impl-common.hxx> +#include <xsd/cxx/parser/impl-source.hxx> +#include <xsd/cxx/parser/print-impl-common.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/impl-source.hxx b/xsd/cxx/parser/impl-source.hxx index b6f9b3d..0fc8060 100644 --- a/xsd/xsd/cxx/parser/impl-source.hxx +++ b/xsd/cxx/parser/impl-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/impl-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_IMPL_SOURCE_HXX -#define CXX_PARSER_IMPL_SOURCE_HXX +#ifndef XSD_CXX_PARSER_IMPL_SOURCE_HXX +#define XSD_CXX_PARSER_IMPL_SOURCE_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_IMPL_SOURCE_HXX +#endif // XSD_CXX_PARSER_IMPL_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/name-processor.cxx b/xsd/cxx/parser/name-processor.cxx index 219a3c9..73710ba 100644 --- a/xsd/xsd/cxx/parser/name-processor.cxx +++ b/xsd/cxx/parser/name-processor.cxx @@ -1,5 +1,4 @@ // file : xsd/cxx/parser/name-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> @@ -7,10 +6,10 @@ #include <sstream> #include <iostream> -#include <cxx/parser/name-processor.hxx> +#include <xsd/cxx/parser/name-processor.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/xsd/cxx/parser/name-processor.hxx b/xsd/cxx/parser/name-processor.hxx index 0460ea4..f8ac28c 100644 --- a/xsd/xsd/cxx/parser/name-processor.hxx +++ b/xsd/cxx/parser/name-processor.hxx @@ -1,16 +1,15 @@ // file : xsd/cxx/parser/name-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_NAME_PROCESSOR_HXX -#define CXX_PARSER_NAME_PROCESSOR_HXX +#ifndef XSD_CXX_PARSER_NAME_PROCESSOR_HXX +#define XSD_CXX_PARSER_NAME_PROCESSOR_HXX -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/elements.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/elements.hxx> +#include <xsd/cxx/parser/options.hxx> namespace CXX { @@ -28,4 +27,4 @@ namespace CXX } } -#endif // CXX_PARSER_NAME_PROCESSOR_HXX +#endif // XSD_CXX_PARSER_NAME_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/parser/options.cli b/xsd/cxx/parser/options.cli index 227bb51..e430333 100644 --- a/xsd/xsd/cxx/parser/options.cli +++ b/xsd/cxx/parser/options.cli @@ -1,12 +1,11 @@ // file : xsd/cxx/parser/options.cli -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file include <cstddef>; // std::size_t -include <types.hxx>; // NarrowString, NarrowStrings +include <xsd/types.hxx>; // NarrowString, NarrowStrings -include <cxx/options.cli>; +include <xsd/cxx/options.cli>; namespace CXX { diff --git a/xsd/xsd/cxx/parser/parser-forward.cxx b/xsd/cxx/parser/parser-forward.cxx index faf427a..65603fd 100644 --- a/xsd/xsd/cxx/parser/parser-forward.cxx +++ b/xsd/cxx/parser/parser-forward.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-forward.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/parser-forward.hxx> +#include <xsd/cxx/parser/parser-forward.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/parser-forward.hxx b/xsd/cxx/parser/parser-forward.hxx index 53c7049..b5345a5 100644 --- a/xsd/xsd/cxx/parser/parser-forward.hxx +++ b/xsd/cxx/parser/parser-forward.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-forward.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_PARSER_FORWARD_HXX -#define CXX_PARSER_PARSER_FORWARD_HXX +#ifndef XSD_CXX_PARSER_PARSER_FORWARD_HXX +#define XSD_CXX_PARSER_PARSER_FORWARD_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_PARSER_FORWARD_HXX +#endif // XSD_CXX_PARSER_PARSER_FORWARD_HXX diff --git a/xsd/xsd/cxx/parser/parser-header.cxx b/xsd/cxx/parser/parser-header.cxx index 800a4b9..327bb07 100644 --- a/xsd/xsd/cxx/parser/parser-header.cxx +++ b/xsd/cxx/parser/parser-header.cxx @@ -1,13 +1,12 @@ // file : xsd/cxx/parser/parser-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> -#include <cxx/parser/parser-header.hxx> +#include <xsd/cxx/parser/parser-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; @@ -1190,7 +1189,7 @@ namespace CXX names (ns); - os << "// Exceptions. See libxsd/xsd/cxx/parser/exceptions.hxx " << + os << "// Exceptions. See xsd/cxx/parser/exceptions.hxx " << "for details." << endl << "//" << endl << "typedef ::xsd::cxx::parser::exception< " << @@ -1206,7 +1205,7 @@ namespace CXX << endl; os << "// Error handler. See " << - "libxsd/xsd/cxx/xml/error-handler.hxx for details." << endl + "xsd/cxx/xml/error-handler.hxx for details." << endl << "//" << endl << "typedef ::xsd::cxx::xml::error_handler< " << c << " > error_handler;" @@ -1220,14 +1219,14 @@ namespace CXX if (xml_parser == L"xerces") { os << "// Parsing flags. See " << - "libxsd/xsd/cxx/parser/xerces/elements.hxx" << endl + "xsd/cxx/parser/xerces/elements.hxx" << endl << "// for details." << endl << "//" << endl << "typedef ::xsd::cxx::parser::xerces::flags flags;" << endl; os << "// Parsing properties. See " << - "libxsd/xsd/cxx/parser/xerces/elements.hxx" << endl + "xsd/cxx/parser/xerces/elements.hxx" << endl << "// for details." << endl << "//" << endl << "typedef ::xsd::cxx::parser::xerces::properties< " << c << @@ -1235,7 +1234,7 @@ namespace CXX << endl; os << "// Document type. See " << - "libxsd/xsd/cxx/parser/xerces/elements.hxx" << endl + "xsd/cxx/parser/xerces/elements.hxx" << endl << "// for details." << endl << "//" << endl << "typedef ::xsd::cxx::parser::xerces::document< " << c << @@ -1246,7 +1245,7 @@ namespace CXX else if (xml_parser == L"expat") { os << "// Document type. See " << - "libxsd/xsd/cxx/parser/expat/elements.hxx" << endl + "xsd/cxx/parser/expat/elements.hxx" << endl << "// for details." << endl << "//" << endl << "typedef ::xsd::cxx::parser::expat::document< " << c << diff --git a/xsd/xsd/cxx/parser/parser-header.hxx b/xsd/cxx/parser/parser-header.hxx index 467dcb5..642da40 100644 --- a/xsd/xsd/cxx/parser/parser-header.hxx +++ b/xsd/cxx/parser/parser-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_PARSER_HEADER_HXX -#define CXX_PARSER_PARSER_HEADER_HXX +#ifndef XSD_CXX_PARSER_PARSER_HEADER_HXX +#define XSD_CXX_PARSER_PARSER_HEADER_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_PARSER_HEADER_HXX +#endif // XSD_CXX_PARSER_PARSER_HEADER_HXX diff --git a/xsd/xsd/cxx/parser/parser-inline.cxx b/xsd/cxx/parser/parser-inline.cxx index 87ba92c..6705d5b 100644 --- a/xsd/xsd/cxx/parser/parser-inline.cxx +++ b/xsd/cxx/parser/parser-inline.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-inline.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/parser-inline.hxx> +#include <xsd/cxx/parser/parser-inline.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/parser-inline.hxx b/xsd/cxx/parser/parser-inline.hxx index aff2ad2..aee0cdf 100644 --- a/xsd/xsd/cxx/parser/parser-inline.hxx +++ b/xsd/cxx/parser/parser-inline.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-inline.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_PARSER_INLINE_HXX -#define CXX_PARSER_PARSER_INLINE_HXX +#ifndef XSD_CXX_PARSER_PARSER_INLINE_HXX +#define XSD_CXX_PARSER_PARSER_INLINE_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_PARSER_INLINE_HXX +#endif // XSD_CXX_PARSER_PARSER_INLINE_HXX diff --git a/xsd/xsd/cxx/parser/parser-source.cxx b/xsd/cxx/parser/parser-source.cxx index 2ee5273..2887f96 100644 --- a/xsd/xsd/cxx/parser/parser-source.cxx +++ b/xsd/cxx/parser/parser-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/parser/parser-source.hxx> +#include <xsd/cxx/parser/parser-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/parser/parser-source.hxx b/xsd/cxx/parser/parser-source.hxx index 6e206b4..3598a00 100644 --- a/xsd/xsd/cxx/parser/parser-source.hxx +++ b/xsd/cxx/parser/parser-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/parser/parser-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_PARSER_SOURCE_HXX -#define CXX_PARSER_PARSER_SOURCE_HXX +#ifndef XSD_CXX_PARSER_PARSER_SOURCE_HXX +#define XSD_CXX_PARSER_PARSER_SOURCE_HXX -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_PARSER_PARSER_SOURCE_HXX +#endif // XSD_CXX_PARSER_PARSER_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/print-impl-common.hxx b/xsd/cxx/parser/print-impl-common.hxx index 516273a..14bfbc2 100644 --- a/xsd/xsd/cxx/parser/print-impl-common.hxx +++ b/xsd/cxx/parser/print-impl-common.hxx @@ -1,14 +1,13 @@ // file : xsd/cxx/parser/print-impl-common.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_PRINT_IMPL_COMMON_HXX -#define CXX_PARSER_PRINT_IMPL_COMMON_HXX +#ifndef XSD_CXX_PARSER_PRINT_IMPL_COMMON_HXX +#define XSD_CXX_PARSER_PRINT_IMPL_COMMON_HXX -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> namespace CXX { @@ -639,4 +638,4 @@ namespace CXX } } -#endif // CXX_PARSER_PRINT_IMPL_COMMON_HXX +#endif // XSD_CXX_PARSER_PRINT_IMPL_COMMON_HXX diff --git a/xsd/xsd/cxx/parser/state-processor.cxx b/xsd/cxx/parser/state-processor.cxx index 86f97ce..a2b8fbf 100644 --- a/xsd/xsd/cxx/parser/state-processor.cxx +++ b/xsd/cxx/parser/state-processor.cxx @@ -1,16 +1,15 @@ // file : xsd/cxx/parser/state-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <vector> #include <iostream> -#include <cxx/parser/state-processor.hxx> +#include <xsd/cxx/parser/state-processor.hxx> -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; @@ -157,8 +156,8 @@ namespace CXX depth_ = depth; prefixes_.insert (prefixes_.end (), - t.prefixes_.begin ().base (), - t.prefixes_.end ().base ()); + t.prefixes_.begin (), + t.prefixes_.end ()); if (min == 1 && p.context ().get<size_t> ("effective-min") == 0) @@ -232,8 +231,8 @@ namespace CXX if (prefix) { prefixes_.insert (prefixes_.end (), - t.prefixes_.begin ().base (), - t.prefixes_.end ().base ()); + t.prefixes_.begin (), + t.prefixes_.end ()); if (p.context ().get<size_t> ("effective-min") != 0) min = 1; diff --git a/xsd/xsd/cxx/parser/state-processor.hxx b/xsd/cxx/parser/state-processor.hxx index de5af69..eacc14a 100644 --- a/xsd/xsd/cxx/parser/state-processor.hxx +++ b/xsd/cxx/parser/state-processor.hxx @@ -1,13 +1,12 @@ // file : xsd/cxx/parser/state-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_STATE_PROCESSOR_HXX -#define CXX_PARSER_STATE_PROCESSOR_HXX +#ifndef XSD_CXX_PARSER_STATE_PROCESSOR_HXX +#define XSD_CXX_PARSER_STATE_PROCESSOR_HXX -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <types.hxx> +#include <xsd/types.hxx> namespace CXX { @@ -23,4 +22,4 @@ namespace CXX } } -#endif // CXX_PARSER_STATE_PROCESSOR_HXX +#endif // XSD_CXX_PARSER_STATE_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/parser/type-processor.cxx b/xsd/cxx/parser/type-processor.cxx index 2f1132c..6496b2a 100644 --- a/xsd/xsd/cxx/parser/type-processor.cxx +++ b/xsd/cxx/parser/type-processor.cxx @@ -1,14 +1,13 @@ // file : xsd/cxx/parser/type-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> -#include <cxx/parser/elements.hxx> -#include <cxx/parser/type-processor.hxx> +#include <xsd/cxx/parser/elements.hxx> +#include <xsd/cxx/parser/type-processor.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/xsd/cxx/parser/type-processor.hxx b/xsd/cxx/parser/type-processor.hxx index 634bc14..6800024 100644 --- a/xsd/xsd/cxx/parser/type-processor.hxx +++ b/xsd/cxx/parser/type-processor.hxx @@ -1,17 +1,16 @@ // file : xsd/cxx/parser/type-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_TYPE_PROCESSOR_HXX -#define CXX_PARSER_TYPE_PROCESSOR_HXX +#ifndef XSD_CXX_PARSER_TYPE_PROCESSOR_HXX +#define XSD_CXX_PARSER_TYPE_PROCESSOR_HXX -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <types.hxx> +#include <xsd/types.hxx> -#include <type-map/type-map.hxx> +#include <xsd/type-map/type-map.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/parser/options.hxx> namespace CXX { @@ -29,4 +28,4 @@ namespace CXX } } -#endif // CXX_PARSER_TYPE_PROCESSOR_HXX +#endif // XSD_CXX_PARSER_TYPE_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/parser/validator.cxx b/xsd/cxx/parser/validator.cxx index da9f8b0..8e8161a 100644 --- a/xsd/xsd/cxx/parser/validator.cxx +++ b/xsd/cxx/parser/validator.cxx @@ -1,16 +1,15 @@ // file : xsd/cxx/parser/validator.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> #include <iostream> -#include <cxx/parser/validator.hxx> +#include <xsd/cxx/parser/validator.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/parser/elements.hxx> +#include <xsd/cxx/parser/elements.hxx> using namespace std; @@ -256,6 +255,8 @@ namespace CXX Traversal::Element, ValidationContext { + using Schema::traverse; + Traverser (ValidationContext& c) : ValidationContext (c), any_ (c) @@ -396,6 +397,9 @@ namespace CXX Traversal::Attribute, ValidationContext { + using Schema::traverse; + using Complex::traverse; + AnonymousType (ValidationContext& c) : ValidationContext (c), anonymous_error_issued_ (false) @@ -449,7 +453,7 @@ namespace CXX virtual void traverse (SemanticGraph::Element& e) { - if (skip (e)) return; + if (skip (e)) return; if (traverse_common (e)) { diff --git a/xsd/xsd/cxx/parser/validator.hxx b/xsd/cxx/parser/validator.hxx index c67cced..daffdc8 100644 --- a/xsd/xsd/cxx/parser/validator.hxx +++ b/xsd/cxx/parser/validator.hxx @@ -1,15 +1,14 @@ // file : xsd/cxx/parser/validator.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_PARSER_VALIDATOR_HXX -#define CXX_PARSER_VALIDATOR_HXX +#ifndef XSD_CXX_PARSER_VALIDATOR_HXX +#define XSD_CXX_PARSER_VALIDATOR_HXX -#include <xsd.hxx> -#include <types.hxx> +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> -#include <cxx/parser/elements.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/cxx/parser/elements.hxx> +#include <xsd/cxx/parser/options.hxx> namespace CXX { @@ -28,4 +27,4 @@ namespace CXX } } -#endif // CXX_PARSER_VALIDATOR_HXX +#endif // XSD_CXX_PARSER_VALIDATOR_HXX diff --git a/xsd/xsd/cxx/tree/counter.cxx b/xsd/cxx/tree/counter.cxx index 23fc221..3fee0b1 100644 --- a/xsd/xsd/cxx/tree/counter.cxx +++ b/xsd/cxx/tree/counter.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/tree/counter.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/counter.hxx> +#include <xsd/cxx/tree/counter.hxx> #include <iostream> @@ -242,18 +241,23 @@ namespace CXX schema >> sources >> schema; - Traversal::Names schema_names; - Traversal::Namespace ns; - Traversal::Names ns_names; - GlobalType global_type (ctx, counts); - GlobalElement global_element (ctx, counts); + // The GlobalElement object destructor updates the counts, so make sure + // that this object is destroyed before we return the counts. + // + { + Traversal::Names schema_names; + Traversal::Namespace ns; + Traversal::Names ns_names; + GlobalType global_type (ctx, counts); + GlobalElement global_element (ctx, counts); - schema >> schema_names >> ns >> ns_names; + schema >> schema_names >> ns >> ns_names; - ns_names >> global_element; - ns_names >> global_type; + ns_names >> global_element; + ns_names >> global_type; - schema.dispatch (tu); + schema.dispatch (tu); + } return counts; } diff --git a/xsd/xsd/cxx/tree/counter.hxx b/xsd/cxx/tree/counter.hxx index ea1a3c3..bc1dc79 100644 --- a/xsd/xsd/cxx/tree/counter.hxx +++ b/xsd/cxx/tree/counter.hxx @@ -1,12 +1,11 @@ // file : xsd/cxx/tree/counter.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_COUNTER_HXX -#define CXX_TREE_COUNTER_HXX +#ifndef XSD_CXX_TREE_COUNTER_HXX +#define XSD_CXX_TREE_COUNTER_HXX -#include <cxx/tree/elements.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -23,4 +22,4 @@ namespace CXX } } -#endif // CXX_TREE_COUNTER_HXX +#endif // XSD_CXX_TREE_COUNTER_HXX diff --git a/xsd/xsd/cxx/tree/default-value.cxx b/xsd/cxx/tree/default-value.cxx index 4f27d7f..fd1c8c4 100644 --- a/xsd/xsd/cxx/tree/default-value.cxx +++ b/xsd/cxx/tree/default-value.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/tree/default-value.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/default-value.hxx> +#include <xsd/cxx/tree/default-value.hxx> using std::hex; using std::dec; @@ -603,7 +602,7 @@ namespace CXX // Binary. // static unsigned char - base64_decode (unsigned char c) + base64_decode (wchar_t c) { unsigned char r = 0xFF; @@ -801,7 +800,7 @@ namespace CXX } static unsigned char - hex_decode (unsigned char c) + hex_decode (wchar_t c) { unsigned char r = 0xFF; diff --git a/xsd/xsd/cxx/tree/default-value.hxx b/xsd/cxx/tree/default-value.hxx index eb91a8c..149982f 100644 --- a/xsd/xsd/cxx/tree/default-value.hxx +++ b/xsd/cxx/tree/default-value.hxx @@ -1,14 +1,13 @@ // file : xsd/cxx/tree/default-value.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_DEFAULT_VALUE_HXX -#define CXX_TREE_DEFAULT_VALUE_HXX +#ifndef XSD_CXX_TREE_DEFAULT_VALUE_HXX +#define XSD_CXX_TREE_DEFAULT_VALUE_HXX -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,6 +15,8 @@ namespace CXX { struct IsLiteralValue: IsFundamentalType, Traversal::Complex { + using IsFundamentalType::traverse; + IsLiteralValue (bool& r); virtual void @@ -49,6 +50,9 @@ namespace CXX Context { + using Traversal::NodeDispatcher::dispatch; + using Traversal::EdgeDispatcher::dispatch; + LiteralValue (Context&); String @@ -215,6 +219,9 @@ namespace CXX Context { + using Traversal::NodeDispatcher::dispatch; + using Traversal::EdgeDispatcher::dispatch; + InitValue (Context&); void @@ -353,4 +360,4 @@ namespace CXX } } -#endif // CXX_TREE_DEFAULT_VALUE_HXX +#endif // XSD_CXX_TREE_DEFAULT_VALUE_HXX diff --git a/xsd/xsd/cxx/tree/elements.cxx b/xsd/cxx/tree/elements.cxx index 202ab62..fc080c8 100644 --- a/xsd/xsd/cxx/tree/elements.cxx +++ b/xsd/cxx/tree/elements.cxx @@ -1,8 +1,7 @@ // file : xsd/cxx/tree/elements.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -1322,7 +1321,38 @@ namespace CXX } if (t == source && !weak) + { + if (u.user ().context ().count ("type-schema")) + { + // Strong include into a type schema -- this is a base class. + // We have already included its header in our header so it + // would seem we don't need to do anything here. There is one + // subtle issue, however: Our constructors include arguments + // for base members which we simply pass to the base. The base + // header has only forward declarations for its members. This + // is not a problem if we pass references to base members -- + // forward declarations are sufficient for this case. The + // problematic case is when we pass them as auto/unique_ptr. + // Because we pass them by value (which is done to support + // unique_ptr move semantics), the compiler needs to be able + // to destroy the member, presumably if an exception is thrown. + // And for that forward declarations are not enough. + // + // So what we are going to do here is include all the base + // member headers (transitively), just like the base's source + // file does. + // + // Note that we only do this for source since in the inline + // case the necessary files are already pulled via the the + // .ixx file includes. + // + Traversal::Schema schema; + schema >> *this; + schema.dispatch (s); + } + return; + } SemanticGraph::Path path ( s.context ().count ("renamed") diff --git a/xsd/xsd/cxx/tree/elements.hxx b/xsd/cxx/tree/elements.hxx index 6874e6a..4d10def 100644 --- a/xsd/xsd/cxx/tree/elements.hxx +++ b/xsd/cxx/tree/elements.hxx @@ -1,9 +1,8 @@ // file : xsd/cxx/tree/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_ELEMENTS_HXX -#define CXX_TREE_ELEMENTS_HXX +#ifndef XSD_CXX_TREE_ELEMENTS_HXX +#define XSD_CXX_TREE_ELEMENTS_HXX #include <map> #include <set> @@ -11,13 +10,13 @@ #include <vector> #include <sstream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/elements.hxx> +#include <xsd/cxx/elements.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -1617,6 +1616,8 @@ namespace CXX Traversal::Attribute, Context { + using Complex::traverse; + // The second version outputs the argument name and stores // in in the base_arg string. // @@ -1777,6 +1778,8 @@ namespace CXX Traversal::Attribute, Context { + using Complex::traverse; + CtorArgsWithoutBase (Context& c, CtorArgType, bool arg, bool first); virtual void @@ -2116,4 +2119,4 @@ namespace CXX } } -#endif // CXX_TREE_ELEMENTS_HXX +#endif // XSD_CXX_TREE_ELEMENTS_HXX diff --git a/xsd/xsd/cxx/tree/fundamental-header.hxx b/xsd/cxx/tree/fundamental-header.hxx index 925d65e..0ea82cf 100644 --- a/xsd/xsd/cxx/tree/fundamental-header.hxx +++ b/xsd/cxx/tree/fundamental-header.hxx @@ -1,18 +1,17 @@ // file : xsd/cxx/tree/fundamental-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_FUNDAMENTAL_HEADER_HXX -#define CXX_TREE_FUNDAMENTAL_HEADER_HXX +#ifndef XSD_CXX_TREE_FUNDAMENTAL_HEADER_HXX +#define XSD_CXX_TREE_FUNDAMENTAL_HEADER_HXX #include <set> #include <vector> #include <algorithm> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -77,6 +76,8 @@ namespace CXX Traversal::Fundamental::Entities, Context { + using Namespace::traverse; + FundamentalNamespace (Context& c) : DocumentedNamespace (c), Context (c), @@ -1333,4 +1334,4 @@ namespace CXX } } -#endif // CXX_TREE_FUNDAMENTAL_HEADER_HXX +#endif // XSD_CXX_TREE_FUNDAMENTAL_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/generator.cxx b/xsd/cxx/tree/generator.cxx index 7a413bd..9782b4d 100644 --- a/xsd/xsd/cxx/tree/generator.cxx +++ b/xsd/cxx/tree/generator.cxx @@ -1,5 +1,4 @@ // file : xsd/cxx/tree/generator.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <vector> @@ -7,47 +6,47 @@ #include <iostream> #include <fstream> -#include <cutl/re.hxx> -#include <cutl/shared-ptr.hxx> +#include <libcutl/re.hxx> +#include <libcutl/shared-ptr.hxx> -#include <cutl/compiler/code-stream.hxx> -#include <cutl/compiler/cxx-indenter.hxx> -#include <cutl/compiler/sloc-counter.hxx> +#include <libcutl/compiler/code-stream.hxx> +#include <libcutl/compiler/cxx-indenter.hxx> +#include <libcutl/compiler/sloc-counter.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/generators/dependencies.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/generators/dependencies.hxx> -#include <cxx/tree/generator.hxx> +#include <xsd/version.hxx> -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/generator.hxx> -#include <cxx/tree/counter.hxx> -#include <cxx/tree/validator.hxx> -#include <cxx/tree/name-processor.hxx> -#include <cxx/tree/order-processor.hxx> -#include <cxx/tree/polymorphism-processor.hxx> +#include <xsd/cxx/tree/elements.hxx> -#include <cxx/tree/tree-forward.hxx> -#include <cxx/tree/tree-header.hxx> -#include <cxx/tree/tree-inline.hxx> -#include <cxx/tree/tree-source.hxx> +#include <xsd/cxx/tree/counter.hxx> +#include <xsd/cxx/tree/validator.hxx> +#include <xsd/cxx/tree/name-processor.hxx> +#include <xsd/cxx/tree/order-processor.hxx> +#include <xsd/cxx/tree/polymorphism-processor.hxx> -#include <cxx/tree/parser-header.hxx> -#include <cxx/tree/parser-source.hxx> +#include <xsd/cxx/tree/tree-forward.hxx> +#include <xsd/cxx/tree/tree-header.hxx> +#include <xsd/cxx/tree/tree-inline.hxx> +#include <xsd/cxx/tree/tree-source.hxx> -#include <cxx/tree/stream-header.hxx> -#include <cxx/tree/stream-source.hxx> +#include <xsd/cxx/tree/parser-header.hxx> +#include <xsd/cxx/tree/parser-source.hxx> -#include <cxx/tree/serialization-header.hxx> -#include <cxx/tree/serialization-source.hxx> +#include <xsd/cxx/tree/stream-header.hxx> +#include <xsd/cxx/tree/stream-source.hxx> -#include <cxx/tree/stream-insertion-header.hxx> -#include <cxx/tree/stream-insertion-source.hxx> -#include <cxx/tree/stream-extraction-source.hxx> +#include <xsd/cxx/tree/serialization-header.hxx> +#include <xsd/cxx/tree/serialization-source.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/stream-insertion-header.hxx> +#include <xsd/cxx/tree/stream-insertion-source.hxx> +#include <xsd/cxx/tree/stream-extraction-source.hxx> -#include "../../../libxsd/xsd/cxx/version.hxx" +#include <xsd/cxx/tree/options.hxx> using namespace std; using namespace cutl; @@ -55,6 +54,8 @@ using namespace XSDFrontend::SemanticGraph; // // +typedef std::wostream WideOutputStream; + typedef std::wifstream WideInputFileStream; typedef std::wofstream WideOutputFileStream; @@ -63,7 +64,7 @@ namespace CXX namespace { char const copyright_gpl[] = - "// Copyright (c) 2005-2014 Code Synthesis Tools CC\n" + "// Copyright (c) " XSD_COPYRIGHT ".\n" "//\n" "// This program was generated by CodeSynthesis XSD, an XML Schema to\n" "// C++ data binding compiler.\n" @@ -81,29 +82,28 @@ namespace CXX "// along with this program; if not, write to the Free Software\n" "// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" "//\n" - "// In addition, as a special exception, Code Synthesis Tools CC gives\n" - "// permission to link this program with the Xerces-C++ library (or with\n" - "// modified versions of Xerces-C++ that use the same license as Xerces-C++),\n" - "// and distribute linked combinations including the two. You must obey\n" - "// the GNU General Public License version 2 in all respects for all of\n" - "// the code used other than Xerces-C++. If you modify this copy of the\n" - "// program, you may extend this exception to your version of the program,\n" - "// but you are not obligated to do so. If you do not wish to do so, delete\n" - "// this exception statement from your version.\n" + "// In addition, as a special exception, Code Synthesis gives permission\n" + "// to link this program with the Xerces-C++ library (or with modified\n" + "// versions of Xerces-C++ that use the same license as Xerces-C++), and\n" + "// distribute linked combinations including the two. You must obey the GNU\n" + "// General Public License version 2 in all respects for all of the code\n" + "// used other than Xerces-C++. If you modify this copy of the program, you\n" + "// may extend this exception to your version of the program, but you are\n" + "// not obligated to do so. If you do not wish to do so, delete this\n" + "// exception statement from your version.\n" "//\n" - "// Furthermore, Code Synthesis Tools CC makes a special exception for\n" - "// the Free/Libre and Open Source Software (FLOSS) which is described\n" - "// in the accompanying FLOSSE file.\n" + "// Furthermore, Code Synthesis makes a special exception for the Free/Libre\n" + "// and Open Source Software (FLOSS) which is described in the accompanying\n" + "// FLOSSE file.\n" "//\n\n"; char const copyright_proprietary[] = - "// Copyright (c) 2005-2014 Code Synthesis Tools CC\n" + "// Copyright (c) " XSD_COPYRIGHT ".\n" "//\n" "// This program was generated by CodeSynthesis XSD, an XML Schema\n" "// to C++ data binding compiler, in the Proprietary License mode.\n" "// You should have received a proprietary license from Code Synthesis\n" - "// Tools CC prior to generating this code. See the license text for\n" - "// conditions.\n" + "// prior to generating this code. See the license text for conditions.\n" "//\n\n"; } @@ -233,7 +233,7 @@ namespace CXX throw Failed (); } - bool gen_cxx (!ops.generate_dep_only ()); + bool gen_cxx (!ops.generate_dep_only () && !ops.file_list_only ()); // Process ordered types. // @@ -346,9 +346,13 @@ namespace CXX ? "#^(.+?)(\\.[^./\\\\]+)?$#$1" + fwd_suffix + "#" : ops.fwd_regex ()); - Regex dep_expr (ops.dep_regex ().empty () - ? "#^(.+?)(\\.[^./\\\\]+)?$#$1" + dep_suffix + "#" - : ops.dep_regex ()); + // @@ This will blow up if --dep-file value contains backslashes (e.g., + // it's a Windows path). + // + Regex dep_expr ( + ops.dep_regex_specified () ? ops.dep_regex () : + ops.dep_file_specified () ? "#.+#" + ops.dep_file () + "#" : + "#^(.+?)(\\.[^./\\\\]+)?$#$1" + dep_suffix + "#"); if (header && !hxx_expr.match (name)) { @@ -398,7 +402,7 @@ namespace CXX Path hxx_path (hxx_name); Path ixx_path (ixx_name); Path fwd_path (fwd_name); - Path dep_path (dep_name); + Path dep_path (dep_name != "-" ? dep_name : NarrowString ()); Paths cxx_paths; if (source) @@ -459,10 +463,11 @@ namespace CXX if (!out_dir.empty ()) { - hxx_path = out_dir / hxx_path; - ixx_path = out_dir / ixx_path; - fwd_path = out_dir / fwd_path; - dep_path = out_dir / dep_path; + if (!hxx_path.empty ()) hxx_path = out_dir / hxx_path; + if (!ixx_path.empty ()) ixx_path = out_dir / ixx_path; + if (!fwd_path.empty ()) fwd_path = out_dir / fwd_path; + if (!dep_path.empty () && + !dep_path.absolute ()) dep_path = out_dir / dep_path; for (Paths::iterator i (cxx_paths.begin ()); i != cxx_paths.end (); ++i) @@ -474,93 +479,116 @@ namespace CXX WideOutputFileStream hxx; WideOutputFileStream ixx; WideOutputFileStream fwd; - WideOutputFileStream dep; + WideOutputFileStream depf; // See dep below. WideOutputFileStreams cxx; // DEP // if (gen_dep) { - dep.open (dep_path.string ().c_str (), ios_base::out); - - if (!dep.is_open ()) + if (!dep_path.empty ()) { - wcerr << dep_path << ": error: unable to open in write mode" << endl; - throw Failed (); + depf.open (dep_path.string ().c_str (), ios_base::out); + + if (!depf.is_open ()) + { + wcerr << dep_path << ": error: unable to open in write mode" + << endl; + throw Failed (); + } + + unlinks.add (dep_path); } - unlinks.add (dep_path); - file_list.push_back (dep_path.string ()); + // Note: not adding to file_list. } + WideOutputStream& dep (gen_dep && !dep_path.empty () ? depf : wcout); + // FWD // - if (gen_cxx && forward) + if (forward) { - fwd.open (fwd_path.string ().c_str (), ios_base::out); - - if (!fwd.is_open ()) + if (gen_cxx) { - wcerr << fwd_path << ": error: unable to open in write mode" << endl; - throw Failed (); + fwd.open (fwd_path.string ().c_str (), ios_base::out); + + if (!fwd.is_open ()) + { + wcerr << fwd_path << ": error: unable to open in write mode" << endl; + throw Failed (); + } + + unlinks.add (fwd_path); } - unlinks.add (fwd_path); file_list.push_back (fwd_path.string ()); } // HXX // - if (gen_cxx && header) + if (header) { - hxx.open (hxx_path.string ().c_str (), ios_base::out); - - if (!hxx.is_open ()) + if (gen_cxx) { - wcerr << hxx_path << ": error: unable to open in write mode" << endl; - throw Failed (); + hxx.open (hxx_path.string ().c_str (), ios_base::out); + + if (!hxx.is_open ()) + { + wcerr << hxx_path << ": error: unable to open in write mode" << endl; + throw Failed (); + } + + unlinks.add (hxx_path); } - unlinks.add (hxx_path); file_list.push_back (hxx_path.string ()); } // IXX // - if (gen_cxx && inline_) + if (inline_) { - ixx.open (ixx_path.string ().c_str (), ios_base::out); - - if (!ixx.is_open ()) + if (gen_cxx) { - wcerr << ixx_path << ": error: unable to open in write mode" << endl; - throw Failed (); + ixx.open (ixx_path.string ().c_str (), ios_base::out); + + if (!ixx.is_open ()) + { + wcerr << ixx_path << ": error: unable to open in write mode" << endl; + throw Failed (); + } + + unlinks.add (ixx_path); } - unlinks.add (ixx_path); file_list.push_back (ixx_path.string ()); } // CXX // - if (gen_cxx && source) + if (source) { for (Paths::iterator i (cxx_paths.begin ()); i != cxx_paths.end (); ++i) { - shared_ptr<WideOutputFileStream> s ( - new (shared) WideOutputFileStream ( - i->string ().c_str (), ios_base::out)); - - if (!s->is_open ()) + if (gen_cxx) { - wcerr << *i << ": error: unable to open in write mode" << endl; - throw Failed (); + shared_ptr<WideOutputFileStream> s ( + new (shared) WideOutputFileStream ( + i->string ().c_str (), ios_base::out)); + + if (!s->is_open ()) + { + wcerr << *i << ": error: unable to open in write mode" << endl; + throw Failed (); + } + + cxx.push_back (s); + unlinks.add (*i); } - unlinks.add (*i); file_list.push_back (i->string ()); - cxx.push_back (s); } } @@ -669,7 +697,8 @@ namespace CXX i != cxx_paths.end (); ++i) target += " \\\n" + i->string (); - target += " \\\n" + dep_path.string (); + if (!dep_path.empty ()) + target += " \\\n" + dep_path.string (); } dep << target.c_str () << ':'; @@ -770,7 +799,7 @@ namespace CXX // fwd << "#include <xsd/cxx/version.hxx>" << endl << endl - << "#if (XSD_INT_VERSION != " << XSD_INT_VERSION << "L)" << endl + << "#if (LIBXSD_VERSION != " << XSD_VERSION << "L)" << endl << "#error XSD runtime version mismatch" << endl << "#endif" << endl << endl; @@ -895,7 +924,7 @@ namespace CXX // hxx << "#include <xsd/cxx/config.hxx>" << endl << endl - << "#if (XSD_INT_VERSION != " << XSD_INT_VERSION << "L)" << endl + << "#if (LIBXSD_VERSION != " << XSD_VERSION << "L)" << endl << "#error XSD runtime version mismatch" << endl << "#endif" << endl << endl; @@ -929,19 +958,16 @@ namespace CXX } } - if (inline_) - { - hxx << "#ifndef XSD_DONT_INCLUDE_INLINE" << endl - << "#include " << ctx.process_include_path (ixx_name) << endl - << "#endif // XSD_DONT_INCLUDE_INLINE" << endl - << endl; - } - hxx << "#include <xsd/cxx/post.hxx>" << endl << endl; // Copy epilogue. // + // Note that it goes before the inline file in case it defines + // something (such as a custom type) which is needed by this file. + // And if something in the epilogue needs something from the inline + // file, then it should be the inline rather than header epilogue. + // hxx << "// Begin epilogue." << endl << "//" << endl; @@ -952,6 +978,14 @@ namespace CXX << "// End epilogue." << endl << endl; + if (inline_) + { + hxx << "#ifndef XSD_DONT_INCLUDE_INLINE" << endl + << "#include " << ctx.process_include_path (ixx_name) << endl + << "#endif // XSD_DONT_INCLUDE_INLINE" << endl + << endl; + } + hxx << "#endif // " << guard << endl; if (show_sloc) @@ -1000,6 +1034,9 @@ namespace CXX << "// End prologue." << endl << endl; + ixx << "#include <xsd/cxx/pre.hxx>" << endl + << endl; + // Generate. // { @@ -1007,6 +1044,9 @@ namespace CXX generate_tree_inline (ctx, 1, 0); } + ixx << "#include <xsd/cxx/post.hxx>" << endl + << endl; + // Copy epilogue. // ixx << "// Begin epilogue." << endl diff --git a/xsd/xsd/cxx/tree/generator.hxx b/xsd/cxx/tree/generator.hxx index f81f8e3..a9b96fe 100644 --- a/xsd/xsd/cxx/tree/generator.hxx +++ b/xsd/cxx/tree/generator.hxx @@ -1,18 +1,17 @@ // file : xsd/cxx/tree/generator.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_GENERATOR_HXX -#define CXX_TREE_GENERATOR_HXX +#ifndef XSD_CXX_TREE_GENERATOR_HXX +#define XSD_CXX_TREE_GENERATOR_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> -#include <xsd.hxx> -#include <types.hxx> +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> -#include <cxx/literal-map.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/literal-map.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -42,4 +41,4 @@ namespace CXX } } -#endif // CXX_TREE_GENERATOR_HXX +#endif // XSD_CXX_TREE_GENERATOR_HXX diff --git a/xsd/xsd/cxx/tree/name-processor.cxx b/xsd/cxx/tree/name-processor.cxx index 1f3844b..325870a 100644 --- a/xsd/xsd/cxx/tree/name-processor.cxx +++ b/xsd/cxx/tree/name-processor.cxx @@ -1,5 +1,4 @@ // file : xsd/cxx/tree/name-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> @@ -8,10 +7,10 @@ #include <sstream> #include <iostream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <cxx/tree/default-value.hxx> -#include <cxx/tree/name-processor.hxx> +#include <xsd/cxx/tree/default-value.hxx> +#include <xsd/cxx/tree/name-processor.hxx> using namespace std; @@ -130,6 +129,12 @@ namespace CXX accessor_regex.push_back ("/([^,]+),([^,]+),([^,]+)/\\l$1\\u$2\\u$3/"); accessor_regex.push_back ("/([^,]+)/\\l$1/"); } + else if (fn == "ucc") + { + accessor_regex.push_back ("/([^,]+),([^,]+)/\\u$1\\u$2/"); + accessor_regex.push_back ("/([^,]+),([^,]+),([^,]+)/\\u$1\\u$2\\u$3/"); + accessor_regex.push_back ("/([^,]+)/\\u$1/"); + } else { // Java: add get. @@ -170,6 +175,11 @@ namespace CXX modifier_regex.push_back ("/([^,]+),([^,]+)/\\l$1\\u$2/"); modifier_regex.push_back ("/([^,]+)/\\l$1/"); } + else if (fn == "ucc") + { + modifier_regex.push_back ("/([^,]+),([^,]+)/\\u$1\\u$2/"); + modifier_regex.push_back ("/([^,]+)/\\u$1/"); + } else { // Java: add set. @@ -203,6 +213,10 @@ namespace CXX { parser_regex.push_back ("/(.+)/\\l$1/"); } + else if (fn == "ucc") + { + parser_regex.push_back ("/(.+)/\\u$1/"); + } else if (fn == "java") { // Java: add parse. @@ -220,6 +234,10 @@ namespace CXX { serializer_regex.push_back ("/(.+)/\\l$1/"); } + else if (fn == "ucc") + { + serializer_regex.push_back ("/(.+)/\\u$1/"); + } else if (fn == "java") { // Java: add serialize. @@ -245,6 +263,11 @@ namespace CXX const_regex.push_back ("/([^,]+),([^,]+),([^,]+)/\\l$1_\\u$2_\\u$3/"); const_regex.push_back ("/([^,]+),([^,]+)/\\l$1\\u$2/"); } + else if (fn == "ucc") + { + const_regex.push_back ("/([^,]+),([^,]+),([^,]+)/\\u$1_\\u$2_\\u$3/"); + const_regex.push_back ("/([^,]+),([^,]+)/\\u$1\\u$2/"); + } else { // Java: all uppercase. @@ -1809,6 +1832,8 @@ namespace CXX Context { + using Namespace::traverse; + FundamentalNamespace (Context& c) : Context (c) { @@ -2172,6 +2197,8 @@ namespace CXX if (fn == "knr") n.context ().set ("tree-node-key", String ("tree_node_key")); + else if (fn == "ucc") + n.context ().set ("tree-node-key", String ("TreeNodeKey")); else n.context ().set ("tree-node-key", String ("treeNodeKey")); diff --git a/xsd/xsd/cxx/tree/name-processor.hxx b/xsd/cxx/tree/name-processor.hxx index 46ea883..632b05e 100644 --- a/xsd/xsd/cxx/tree/name-processor.hxx +++ b/xsd/cxx/tree/name-processor.hxx @@ -1,14 +1,13 @@ // file : xsd/cxx/tree/name-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_NAME_PROCESSOR_HXX -#define CXX_TREE_NAME_PROCESSOR_HXX +#ifndef XSD_CXX_TREE_NAME_PROCESSOR_HXX +#define XSD_CXX_TREE_NAME_PROCESSOR_HXX -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/tree/elements.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -26,4 +25,4 @@ namespace CXX } } -#endif // CXX_TREE_NAME_PROCESSOR_HXX +#endif // XSD_CXX_TREE_NAME_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/tree/options.cli b/xsd/cxx/tree/options.cli index f1b343a..0230429 100644 --- a/xsd/xsd/cxx/tree/options.cli +++ b/xsd/cxx/tree/options.cli @@ -1,12 +1,11 @@ // file : xsd/cxx/tree/options.cli -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file include <cstddef>; // std::size_t -include <types.hxx>; // NarrowString, NarrowStrings +include <xsd/types.hxx>; // NarrowString, NarrowStrings -include <cxx/options.cli>; +include <xsd/cxx/options.cli>; namespace CXX { @@ -258,9 +257,9 @@ namespace CXX { "<style>", "Specify the function naming convention that should be used in the - generated code. Valid styles are \cb{knr} (default), \cb{lcc}, and - \cb{java}. See the NAMING CONVENTION section below for more - information." + generated code. Valid styles are \cb{knr} (default), \cb{lcc}, + \cb{ucc}, and \cb{java}. See the NAMING CONVENTION section below + for more information." }; NarrowStrings --type-regex diff --git a/xsd/xsd/cxx/tree/order-processor.cxx b/xsd/cxx/tree/order-processor.cxx index 68eee8c..ccc3dc5 100644 --- a/xsd/xsd/cxx/tree/order-processor.cxx +++ b/xsd/cxx/tree/order-processor.cxx @@ -1,14 +1,13 @@ // file : xsde/cxx/tree/order-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <iostream> -#include <cxx/tree/elements.hxx> -#include <cxx/tree/order-processor.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/order-processor.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/xsd/cxx/tree/order-processor.hxx b/xsd/cxx/tree/order-processor.hxx index fa68d21..868547d 100644 --- a/xsd/xsd/cxx/tree/order-processor.hxx +++ b/xsd/cxx/tree/order-processor.hxx @@ -1,16 +1,15 @@ // file : xsde/cxx/tree/order-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_ORDER_PROCESSOR_HXX -#define CXX_TREE_ORDER_PROCESSOR_HXX +#ifndef XSD_CXX_TREE_ORDER_PROCESSOR_HXX +#define XSD_CXX_TREE_ORDER_PROCESSOR_HXX -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <xsd.hxx> -#include <types.hxx> +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -27,4 +26,4 @@ namespace CXX } } -#endif // CXX_TREE_ORDER_PROCESSOR_HXX +#endif // XSD_CXX_TREE_ORDER_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/tree/parser-header.cxx b/xsd/cxx/tree/parser-header.cxx index 8aff44f..9ef9e89 100644 --- a/xsd/xsd/cxx/tree/parser-header.cxx +++ b/xsd/cxx/tree/parser-header.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/parser-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/parser-header.hxx> +#include <xsd/cxx/tree/parser-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/tree/parser-header.hxx b/xsd/cxx/tree/parser-header.hxx index dfe7843..b7860c4 100644 --- a/xsd/xsd/cxx/tree/parser-header.hxx +++ b/xsd/cxx/tree/parser-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/parser-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_PARSER_HEADER_HXX -#define CXX_TREE_PARSER_HEADER_HXX +#ifndef XSD_CXX_TREE_PARSER_HEADER_HXX +#define XSD_CXX_TREE_PARSER_HEADER_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX @@ -17,4 +16,4 @@ namespace CXX } } -#endif // CXX_TREE_PARSER_HEADER_HXX +#endif // XSD_CXX_TREE_PARSER_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/parser-source.cxx b/xsd/cxx/tree/parser-source.cxx index c93368c..cee5ea6 100644 --- a/xsd/xsd/cxx/tree/parser-source.cxx +++ b/xsd/cxx/tree/parser-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/parser-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/parser-source.hxx> +#include <xsd/cxx/tree/parser-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { @@ -28,8 +27,29 @@ namespace CXX if (!doc_root_p (e)) return; - String const& name (eparser (e)); SemanticGraph::Type& t (e.type ()); + + // Check if we need to handle xsi:type and substitution groups. + // If this element's type is anonymous then we don't need to do + // anything. + // + bool poly (polymorphic && polymorphic_p (t) && !anonymous_p (t)); + + // Check if this element is abstract. + // + bool abst; + { + SemanticGraph::Complex* tc; + abst = (tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p (); + } + + // Nothing to do if we are abstract and not polymorphic. + // + if (abst && !polymorphic) + return; + + String const& name (eparser (e)); String type (type_name (e)); String const& error_handler (error_handler_type); @@ -289,12 +309,6 @@ namespace CXX test.dispatch (t); } - // Check if we need to handle xsi:type and substitution groups. - // If this element's type is anonymous then we don't need to do - // anything. - // - bool poly (polymorphic && polymorphic_p (t) && !anonymous_p (t)); - // const DOMDocument& // os << auto_ptr << "< " << type << " >" << endl @@ -324,8 +338,14 @@ namespace CXX << "::xsd::cxx::tree::type_factory_map_instance< " << poly_plate << ", " << char_type << " > ().create (" << endl << strlit (e.name ()) << "," << endl - << strlit (e.namespace_().name ()) << "," << endl - << "&::xsd::cxx::tree::factory_impl< " << type << " >," << endl + << strlit (e.namespace_().name ()) << "," << endl; + + if (abst) + os << "0,"; + else + os << "&::xsd::cxx::tree::factory_impl< " << type << " >,"; + + os << endl << "true, true, e, n, f, 0));" << endl << "if (tmp.get () != 0)" @@ -416,8 +436,14 @@ namespace CXX << "::xsd::cxx::tree::type_factory_map_instance< " << poly_plate << ", " << char_type << " > ().create (" << endl << strlit (e.name ()) << "," << endl - << strlit (e.namespace_().name ()) << "," << endl - << "&::xsd::cxx::tree::factory_impl< " << type << " >," << endl + << strlit (e.namespace_().name ()) << "," << endl; + + if (abst) + os << "0,"; + else + os << "&::xsd::cxx::tree::factory_impl< " << type << " >,"; + + os << endl << "true, true, e, n, f, 0));" << endl << "if (tmp.get () != 0)" diff --git a/xsd/xsd/cxx/tree/parser-source.hxx b/xsd/cxx/tree/parser-source.hxx index a5cd597..1bb70d9 100644 --- a/xsd/xsd/cxx/tree/parser-source.hxx +++ b/xsd/cxx/tree/parser-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/parser-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_PARSER_SOURCE_HXX -#define CXX_TREE_PARSER_SOURCE_HXX +#ifndef XSD_CXX_TREE_PARSER_SOURCE_HXX +#define XSD_CXX_TREE_PARSER_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_PARSER_SOURCE_HXX +#endif // XSD_CXX_TREE_PARSER_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/polymorphism-processor.cxx b/xsd/cxx/tree/polymorphism-processor.cxx index cbd2471..4d07c69 100644 --- a/xsd/xsd/cxx/tree/polymorphism-processor.cxx +++ b/xsd/cxx/tree/polymorphism-processor.cxx @@ -1,14 +1,13 @@ // file : xsde/cxx/tree/polymorphism-processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <iostream> -#include <cxx/tree/elements.hxx> -#include <cxx/tree/polymorphism-processor.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/polymorphism-processor.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/xsd/cxx/tree/polymorphism-processor.hxx b/xsd/cxx/tree/polymorphism-processor.hxx index 7338790..88019a8 100644 --- a/xsd/xsd/cxx/tree/polymorphism-processor.hxx +++ b/xsd/cxx/tree/polymorphism-processor.hxx @@ -1,16 +1,15 @@ // file : xsde/cxx/tree/polymorphism-processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_POLYMORPHISM_PROCESSOR_HXX -#define CXX_TREE_POLYMORPHISM_PROCESSOR_HXX +#ifndef XSD_CXX_TREE_POLYMORPHISM_PROCESSOR_HXX +#define XSD_CXX_TREE_POLYMORPHISM_PROCESSOR_HXX -#include <xsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/semantic-graph.hxx> -#include <xsd.hxx> -#include <types.hxx> +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/options.hxx> namespace CXX { @@ -28,4 +27,4 @@ namespace CXX } } -#endif // CXX_TREE_POLYMORPHISM_PROCESSOR_HXX +#endif // XSD_CXX_TREE_POLYMORPHISM_PROCESSOR_HXX diff --git a/xsd/xsd/cxx/tree/serialization-header.cxx b/xsd/cxx/tree/serialization-header.cxx index 67da857..5434441 100644 --- a/xsd/xsd/cxx/tree/serialization-header.cxx +++ b/xsd/cxx/tree/serialization-header.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/serialization-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/serialization-header.hxx> +#include <xsd/cxx/tree/serialization-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/tree/serialization-header.hxx b/xsd/cxx/tree/serialization-header.hxx index 979bb2e..08c58ab 100644 --- a/xsd/xsd/cxx/tree/serialization-header.hxx +++ b/xsd/cxx/tree/serialization-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/serialization-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_SERIALIZATION_HEADER_HXX -#define CXX_TREE_SERIALIZATION_HEADER_HXX +#ifndef XSD_CXX_TREE_SERIALIZATION_HEADER_HXX +#define XSD_CXX_TREE_SERIALIZATION_HEADER_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_SERIALIZATION_HEADER_HXX +#endif // XSD_CXX_TREE_SERIALIZATION_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/serialization-source.cxx b/xsd/cxx/tree/serialization-source.cxx index 559a3cf..08b81d6 100644 --- a/xsd/xsd/cxx/tree/serialization-source.cxx +++ b/xsd/cxx/tree/serialization-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/serialization-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/serialization-source.hxx> +#include <xsd/cxx/tree/serialization-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { @@ -335,6 +334,10 @@ namespace CXX { // sequence // + // Always pass the sequence element reference to typeid() to + // suppress the Clang's 'expression with side effects will be + // evaluated despite being used as an operand to typeid' warning. + // if (ordered) os << "const " << type << "& x (i." << aname << " ()[b->index]);" @@ -344,13 +347,12 @@ namespace CXX << "b (i." << aname << " ().begin ()), " << "n (i." << aname << " ().end ());" << endl << "b != n; ++b)" - << "{"; - - char const* x (ordered ? "x" : "*b"); + << "{" + << "const " << type << "& x (*b);" << endl; if (poly) { - os << "if (typeid (" << type << ") == typeid (" << x << "))" + os << "if (typeid (" << type << ") == typeid (x))" << "{" << xerces_ns << "::DOMElement& s (" << endl << "::xsd::cxx::xml::dom::create_element (" << endl @@ -358,14 +360,14 @@ namespace CXX << (ns ? strlit (ns) + L",\n" : L"") << "e));" << endl - << "s << " << x << ";" + << "s << x;" << "}" << "else" << endl << "tsm.serialize (" << endl << strlit (e.name ()) << "," << endl << strlit (ns) << "," << endl << (e.global_p () ? "true" : "false") << ", " << - (e.qualified_p () ? "true" : "false") << ", e, " << x << ");"; + (e.qualified_p () ? "true" : "false") << ", e, x);"; } else { @@ -380,17 +382,17 @@ namespace CXX { case st_other: { - os << "s << " << x << ";"; + os << "s << x;"; break; } case st_double: { - os << "s << " << as_double_type << " (" << x << ");"; + os << "s << " << as_double_type << " (x);"; break; } case st_decimal: { - os << "s << " << as_decimal_type << " (" << x << ");"; + os << "s << " << as_decimal_type << " (x);"; break; } } @@ -801,7 +803,7 @@ namespace CXX { bool o (ordered_p (c)); - size_t start, count; + size_t start (0), count (0); if (o) { @@ -956,7 +958,10 @@ namespace CXX // but substitutes, then it will be registered as part of the // substitution registration. // - if (polymorphic && polymorphic_p (c) && !anonymous_p (c)) + if (polymorphic && + polymorphic_p (c) && + !c.abstract_p () && + !anonymous_p (c)) { // Note that we are using the original type name. // @@ -994,8 +999,25 @@ namespace CXX virtual void traverse (Type& e) { + // Similar to parsing, we cannot just omit this element if it's + // abstract because it may serve as a "link" between the root of the + // substitution group and a non-abstract element that uses this + // element as its root (see + // element_serializer_map::find_substitution() for details). + // if (polymorphic && e.substitutes_p ()) { + SemanticGraph::Type& t (e.type ()); + + // Check if this element is abstract. + // + bool abst; + { + SemanticGraph::Complex* tc; + abst = (tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p (); + } + Type& r (e.substitutes ().root ()); String const& name (ename (e)); @@ -1011,7 +1033,18 @@ namespace CXX << strlit (r.name ()) << "," << endl << strlit (r.namespace_ ().name ()) << "," << endl << strlit (e.name ()) << "," << endl - << strlit (e.namespace_ ().name ()) << ");" + << strlit (e.namespace_ ().name ()) << "," << endl; + + if (abst) + os << "0"; + else + { + os << "&::xsd::cxx::tree::serializer_impl< "; + belongs (e, belongs_); + os << " >"; + } + + os << ");" << endl << endl; } diff --git a/xsd/xsd/cxx/tree/serialization-source.hxx b/xsd/cxx/tree/serialization-source.hxx index 1a74126..75e57f3 100644 --- a/xsd/xsd/cxx/tree/serialization-source.hxx +++ b/xsd/cxx/tree/serialization-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/serialization-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_SERIALIZATION_SOURCE_HXX -#define CXX_TREE_SERIALIZATION_SOURCE_HXX +#ifndef XSD_CXX_TREE_SERIALIZATION_SOURCE_HXX +#define XSD_CXX_TREE_SERIALIZATION_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_SERIALIZATION_SOURCE_HXX +#endif // XSD_CXX_TREE_SERIALIZATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/stream-extraction-source.cxx b/xsd/cxx/tree/stream-extraction-source.cxx index ceb56c1..5a5ed66 100644 --- a/xsd/xsd/cxx/tree/stream-extraction-source.cxx +++ b/xsd/cxx/tree/stream-extraction-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-extraction-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/stream-extraction-source.hxx> +#include <xsd/cxx/tree/stream-extraction-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { @@ -337,6 +336,16 @@ namespace CXX // bool poly (polymorphic && polymorphic_p (t) && !anonymous_p (t)); + // Check if this element is abstract. + // + bool abst (false); + if (poly) + { + SemanticGraph::Complex* tc; + abst = (tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p (); + } + char const* r ( (poly || !fund) && std >= cxx_version::cxx11 ? "::std::move (r)" @@ -362,15 +371,18 @@ namespace CXX if (poly) { - os << "bool d;" - << auto_ptr << "< " << type << " > r;" - << "s >> d;" - << endl - << "if (!d)" << endl - << "r.reset (new " << type << " (s, f, this));" - << "else" - << "{" - << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl + os << auto_ptr << "< " << type << " > r;"; + + if (!abst) + os << "bool d;" + << "s >> d;" + << endl + << "if (!d)" << endl + << "r.reset (new " << type << " (s, f, this));" + << "else" + << "{"; + + os << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl << "::xsd::cxx::tree::stream_extraction_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().extract (" << endl @@ -380,8 +392,10 @@ namespace CXX << "tmp.release ();" << "else" << endl << "throw ::xsd::cxx::tree::not_derived< " << char_type << - " > ();" - << "}"; + " > ();"; + + if (!abst) + os << "}"; } else if (fund) { @@ -411,15 +425,18 @@ namespace CXX if (poly) { - os << "bool d;" - << auto_ptr << "< " << type << " > r;" - << "s >> d;" - << endl - << "if (!d)" << endl - << "r.reset (new " << type << " (s, f, this));" - << "else" - << "{" - << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl + os << auto_ptr << "< " << type << " > r;"; + + if (!abst) + os << "bool d;" + << "s >> d;" + << endl + << "if (!d)" << endl + << "r.reset (new " << type << " (s, f, this));" + << "else" + << "{"; + + os << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl << "::xsd::cxx::tree::stream_extraction_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().extract (" << endl @@ -429,8 +446,10 @@ namespace CXX << "tmp.release ();" << "else" << endl << "throw ::xsd::cxx::tree::not_derived< " << char_type << - " > ();" - << "}"; + " > ();"; + + if (!abst) + os << "}"; } else if (fund) { @@ -455,15 +474,18 @@ namespace CXX if (poly) { - os << "bool d;" - << auto_ptr << "< " << type << " > r;" - << "s >> d;" - << endl - << "if (!d)" << endl - << "r.reset (new " << type << " (s, f, this));" - << "else" - << "{" - << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl + os << auto_ptr << "< " << type << " > r;"; + + if (!abst) + os << "bool d;" + << "s >> d;" + << endl + << "if (!d)" << endl + << "r.reset (new " << type << " (s, f, this));" + << "else" + << "{"; + + os << auto_ptr << "< ::xsd::cxx::tree::type > tmp (" << endl << "::xsd::cxx::tree::stream_extraction_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().extract (" << endl @@ -473,8 +495,10 @@ namespace CXX << "tmp.release ();" << "else" << endl << "throw ::xsd::cxx::tree::not_derived< " << char_type << - " > ();" - << "}"; + " > ();"; + + if (!abst) + os << "}"; } else if (fund) { @@ -575,6 +599,8 @@ namespace CXX virtual void traverse (Type& c) { + SemanticGraph::Context& ctx (c.context ()); + String name (ename (c)); // If renamed name is empty then we do not need to generate @@ -583,6 +609,7 @@ namespace CXX if (renamed_type (c, name) && !name) return; + bool ordered (ordered_p (c) && !ctx.count ("order-in-base")); bool has_members (has<Traversal::Member> (c)); bool facets (false); @@ -608,7 +635,6 @@ namespace CXX for (NarrowStrings::const_iterator i (st.begin ()); i != st.end (); ++i) { - os << name << "::" << endl << name << " (" << istream_type << "< " << i->c_str () << " >& s," << endl @@ -646,7 +672,7 @@ namespace CXX // Parse // - if (has_members) + if (ordered || has_members) { os << "void " << name << "::" << endl << unclash (name, "parse") << " (" << @@ -654,6 +680,35 @@ namespace CXX << flags_type << " f)" << "{" << "XSD_UNUSED (f);"; // Can be unused. + + // Read the order sequence. + // + if (ordered) + { + String const& t (ctx.get<String> ("order-type")); + String const& m (ctx.get<String> ("order-member")); + + os << "{" + << "::std::size_t n;" + << "::xsd::cxx::tree::istream_common::as_size< " << + "::std::size_t > na (n);" + << "s >> na;" + << "if (n > 0)" + << "{" + << "this->" << m << ".reserve (n);" + << "while (n--)" + << "{" + << "::std::size_t id, in;" + << "::xsd::cxx::tree::istream_common::as_size< " << + "::std::size_t > ida (id), ina (in);" + << "s >> ida;" + << "s >> ina;" + << "this->" << m << ".push_back (" << t << " (id, in));" + << "}" // while + << "}" // if + << "}"; + } + { Element element (*this, *i); Attribute attribute (*this); @@ -673,6 +728,7 @@ namespace CXX // if (polymorphic && polymorphic_p (c) && + !c.abstract_p () && (!anonymous_p (c) || anonymous_substitutes_p (c))) { // Note that we are using the original type name. diff --git a/xsd/xsd/cxx/tree/stream-extraction-source.hxx b/xsd/cxx/tree/stream-extraction-source.hxx index 9104281..8b58491 100644 --- a/xsd/xsd/cxx/tree/stream-extraction-source.hxx +++ b/xsd/cxx/tree/stream-extraction-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-extraction-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_EXTRACTION_SOURCE_HXX -#define CXX_TREE_EXTRACTION_SOURCE_HXX +#ifndef XSD_CXX_TREE_EXTRACTION_SOURCE_HXX +#define XSD_CXX_TREE_EXTRACTION_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_EXTRACTION_SOURCE_HXX +#endif // XSD_CXX_TREE_EXTRACTION_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/stream-header.cxx b/xsd/cxx/tree/stream-header.cxx index 9ba9b3b..c8243c9 100644 --- a/xsd/xsd/cxx/tree/stream-header.cxx +++ b/xsd/cxx/tree/stream-header.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/stream-header.hxx> +#include <xsd/cxx/tree/stream-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/tree/stream-header.hxx b/xsd/cxx/tree/stream-header.hxx index 36eea87..58481c2 100644 --- a/xsd/xsd/cxx/tree/stream-header.hxx +++ b/xsd/cxx/tree/stream-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_STREAM_HEADER_HXX -#define CXX_TREE_STREAM_HEADER_HXX +#ifndef XSD_CXX_TREE_STREAM_HEADER_HXX +#define XSD_CXX_TREE_STREAM_HEADER_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_STREAM_HEADER_HXX +#endif // XSD_CXX_TREE_STREAM_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/stream-insertion-header.cxx b/xsd/cxx/tree/stream-insertion-header.cxx index e9ee438..9eb4bc4 100644 --- a/xsd/xsd/cxx/tree/stream-insertion-header.cxx +++ b/xsd/cxx/tree/stream-insertion-header.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-insertion-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/stream-insertion-header.hxx> +#include <xsd/cxx/tree/stream-insertion-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/cxx/tree/stream-insertion-header.hxx b/xsd/cxx/tree/stream-insertion-header.hxx new file mode 100644 index 0000000..597bea0 --- /dev/null +++ b/xsd/cxx/tree/stream-insertion-header.hxx @@ -0,0 +1,18 @@ +// file : xsd/cxx/tree/stream-insertion-header.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_CXX_TREE_STREAM_INSERTION_HEADER_HXX +#define XSD_CXX_TREE_STREAM_INSERTION_HEADER_HXX + +#include <xsd/cxx/tree/elements.hxx> + +namespace CXX +{ + namespace Tree + { + void + generate_stream_insertion_header (Context&); + } +} + +#endif // XSD_CXX_TREE_STREAM_INSERTION_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/stream-insertion-source.cxx b/xsd/cxx/tree/stream-insertion-source.cxx index 2c82cfd..08391ef 100644 --- a/xsd/xsd/cxx/tree/stream-insertion-source.cxx +++ b/xsd/cxx/tree/stream-insertion-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-insertion-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/stream-insertion-source.hxx> +#include <xsd/cxx/tree/stream-insertion-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { @@ -269,6 +268,16 @@ namespace CXX // bool poly (polymorphic && polymorphic_p (t) && !anonymous_p (t)); + // Check if this element is abstract. + // + bool abst (false); + if (poly) + { + SemanticGraph::Complex* tc; + abst = (tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p (); + } + if (max (e) != 1) { // sequence @@ -286,12 +295,14 @@ namespace CXX if (poly) { - os << "bool d (typeid (" << type << ") != typeid (*i));" - << "s << d;" - << "if (!d)" << endl - << "s << *i;" - << "else" << endl - << "::xsd::cxx::tree::stream_insertion_map_instance< " << + if (!abst) + os << "bool d (typeid (" << type << ") != typeid (*i));" + << "s << d;" + << "if (!d)" << endl + << "s << *i;" + << "else" << endl; + + os << "::xsd::cxx::tree::stream_insertion_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().insert (s, *i);"; } @@ -313,13 +324,16 @@ namespace CXX if (poly) { os << "{" - << "const " << type << "& i (*x." << aname << " ());" - << "bool d (typeid (" << type << ") != typeid (i));" - << "s << d;" - << "if (!d)" << endl - << "s << i;" - << "else" << endl - << "::xsd::cxx::tree::stream_insertion_map_instance< " << + << "const " << type << "& i (*x." << aname << " ());"; + + if (!abst) + os << "bool d (typeid (" << type << ") != typeid (i));" + << "s << d;" + << "if (!d)" << endl + << "s << i;" + << "else" << endl; + + os << "::xsd::cxx::tree::stream_insertion_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().insert (s, i);" << "}"; @@ -337,13 +351,16 @@ namespace CXX if (poly) { os << "{" - << "const " << type << "& i (x." << aname << " ());" - << "bool d (typeid (" << type << ") != typeid (i));" - << "s << d;" - << "if (!d)" << endl - << "s << i;" - << "else" << endl - << "::xsd::cxx::tree::stream_insertion_map_instance< " << + << "const " << type << "& i (x." << aname << " ());"; + + if (!abst) + os << "bool d (typeid (" << type << ") != typeid (i));" + << "s << d;" + << "if (!d)" << endl + << "s << i;" + << "else" << endl; + + os << "::xsd::cxx::tree::stream_insertion_map_instance< " << poly_plate << ", " << stream << ", " << char_type << " > ().insert (s, i);" << "}"; @@ -398,6 +415,8 @@ namespace CXX virtual void traverse (Type& c) { + SemanticGraph::Context& ctx (c.context ()); + String name (ename (c)); // If renamed name is empty then we do not need to generate @@ -406,7 +425,10 @@ namespace CXX if (renamed_type (c, name) && !name) return; - bool has_body (has<Traversal::Member> (c) || c.inherits_p ()); + bool ordered (ordered_p (c) && !ctx.count ("order-in-base")); + bool has_body (ordered || + has<Traversal::Member> (c) || + c.inherits_p ()); size_t n (0); NarrowStrings const& st (options.generate_insertion ()); @@ -429,6 +451,29 @@ namespace CXX os << "& > (x);"; } + // Write the order sequence. + // + if (ordered) + { + String const& ci (ctx.get<String> ("order-const-iterator")); + String const& an (ctx.get<String> ("order-aname")); + + os << "s << ::xsd::cxx::tree::ostream_common::as_size< " << + "::std::size_t > (" << endl + << "x." << an << " ().size ());" + << endl + << "for (" << name << "::" << ci << endl + << "b (x." << an << " ().begin ()), n (x." << an << + " ().end ());" << endl + << "b != n; ++b)" + << "{" + << "s << ::xsd::cxx::tree::ostream_common::as_size< " << + "::std::size_t > (b->id);" + << "s << ::xsd::cxx::tree::ostream_common::as_size< " << + "::std::size_t > (b->index);" + << "}"; + } + { Traversal::Names names_member; Element element (*this, name, *i); @@ -448,6 +493,7 @@ namespace CXX // if (polymorphic && polymorphic_p (c) && + !c.abstract_p () && (!anonymous_p (c) || anonymous_substitutes_p (c))) { // Note that we are using the original type name. diff --git a/xsd/xsd/cxx/tree/stream-insertion-source.hxx b/xsd/cxx/tree/stream-insertion-source.hxx index d2d5534..ace8bf6 100644 --- a/xsd/xsd/cxx/tree/stream-insertion-source.hxx +++ b/xsd/cxx/tree/stream-insertion-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-insertion-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_INSERTION_SOURCE_HXX -#define CXX_TREE_INSERTION_SOURCE_HXX +#ifndef XSD_CXX_TREE_INSERTION_SOURCE_HXX +#define XSD_CXX_TREE_INSERTION_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_INSERTION_SOURCE_HXX +#endif // XSD_CXX_TREE_INSERTION_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/stream-source.cxx b/xsd/cxx/tree/stream-source.cxx index 935ad40..eeb3ca3 100644 --- a/xsd/xsd/cxx/tree/stream-source.cxx +++ b/xsd/cxx/tree/stream-source.cxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/stream-source.hxx> +#include <xsd/cxx/tree/stream-source.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { @@ -385,6 +384,7 @@ namespace CXX // if (polymorphic && polymorphic_p (c) && + !c.abstract_p () && (!anonymous_p (c) || anonymous_substitutes_p (c))) { // Note that we are using the original type name. diff --git a/xsd/xsd/cxx/tree/stream-source.hxx b/xsd/cxx/tree/stream-source.hxx index f13a23e..b2b4d5d 100644 --- a/xsd/xsd/cxx/tree/stream-source.hxx +++ b/xsd/cxx/tree/stream-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/stream-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_STREAM_SOURCE_HXX -#define CXX_TREE_STREAM_SOURCE_HXX +#ifndef XSD_CXX_TREE_STREAM_SOURCE_HXX +#define XSD_CXX_TREE_STREAM_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_STREAM_SOURCE_HXX +#endif // XSD_CXX_TREE_STREAM_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/tree-forward.cxx b/xsd/cxx/tree/tree-forward.cxx index 5afae3c..b715abe 100644 --- a/xsd/xsd/cxx/tree/tree-forward.cxx +++ b/xsd/cxx/tree/tree-forward.cxx @@ -1,12 +1,11 @@ // file : xsd/cxx/tree/tree-forward.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#include <cxx/tree/tree-forward.hxx> -#include <cxx/tree/fundamental-header.hxx> +#include <xsd/cxx/tree/tree-forward.hxx> +#include <xsd/cxx/tree/fundamental-header.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> namespace CXX { diff --git a/xsd/xsd/cxx/tree/tree-forward.hxx b/xsd/cxx/tree/tree-forward.hxx index 5b08a10..0610999 100644 --- a/xsd/xsd/cxx/tree/tree-forward.hxx +++ b/xsd/cxx/tree/tree-forward.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/tree-forward.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_TREE_FORWARD_HXX -#define CXX_TREE_TREE_FORWARD_HXX +#ifndef XSD_CXX_TREE_TREE_FORWARD_HXX +#define XSD_CXX_TREE_TREE_FORWARD_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_TREE_FORWARD_HXX +#endif // XSD_CXX_TREE_TREE_FORWARD_HXX diff --git a/xsd/xsd/cxx/tree/tree-header.cxx b/xsd/cxx/tree/tree-header.cxx index f0c3560..99a9b17 100644 --- a/xsd/xsd/cxx/tree/tree-header.cxx +++ b/xsd/cxx/tree/tree-header.cxx @@ -1,13 +1,12 @@ // file : xsd/cxx/tree/tree-header.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // 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 <cxx/tree/tree-header.hxx> -#include <cxx/tree/default-value.hxx> -#include <cxx/tree/fundamental-header.hxx> +#include <xsd/cxx/tree/tree-header.hxx> +#include <xsd/cxx/tree/default-value.hxx> +#include <xsd/cxx/tree/fundamental-header.hxx> namespace CXX { @@ -253,6 +252,12 @@ namespace CXX << container << "* c = 0);" << endl; + os << "#ifdef XSD_CXX11" << endl + << name << "&" << endl + << "operator= (const " << name << "&) = default;" + << "#endif" << endl + << endl; + // clone // if (doxygen) @@ -528,6 +533,12 @@ namespace CXX << container << "* c = 0);" << endl; + os << "#ifdef XSD_CXX11" << endl + << name << "&" << endl + << "operator= (const " << name << "&) = default;" + << "#endif" << endl + << endl; + // clone // if (doxygen) @@ -703,7 +714,13 @@ namespace CXX // default c-tor // - if (options.generate_default_ctor ()) + bool list_based ( + ult_base.is_a<SemanticGraph::List> () || + ult_base.is_a<SemanticGraph::Fundamental::NameTokens> () || + ult_base.is_a<SemanticGraph::Fundamental::IdRefs> () || + ult_base.is_a<SemanticGraph::Fundamental::Entities> ()); + + if (options.generate_default_ctor () || list_based) { if (doxygen) { @@ -937,6 +954,12 @@ namespace CXX << container << "* c = 0);" << endl; + os << "#ifdef XSD_CXX11" << endl + << name << "&" << endl + << "operator= (const " << name << "&) = default;" + << "#endif" << endl + << endl; + // clone // if (doxygen) @@ -2342,7 +2365,8 @@ namespace CXX // If renamed name is empty then we do not need to generate // anything for this type. // - if (renamed_type (c, name) && !name) + bool renamed (renamed_type (c, name)); + if (renamed && !name) return; SemanticGraph::Context& ctx (c.context ()); @@ -3296,17 +3320,31 @@ namespace CXX os << "virtual " << name << "*" << endl << "_clone (" << flags_type << " f = 0," << endl - << container << "* c = 0) const;" + << container << "* c = 0) const"; + + // Make the _clone() function pure virtual if the type is + // abstract or we are generating a polymorphic base for a + // custom implementation (in which case the base must be + // inherited from and _clone() overridden). + // + if (c.abstract_p () || + (renamed && polymorphic && polymorphic_p (c))) + os << " = 0"; + + os << ";" << endl; // operator= // bool priv (false); + bool asop (true); if (!simple) { if (options.suppress_assignment ()) { + asop = false; + priv = true; os << "private:" << endl; @@ -3326,6 +3364,8 @@ namespace CXX } else if (has_members || (gen_wildcard && (hae || haa))) { + asop = false; + if (doxygen) { os << "/**" << endl @@ -3354,6 +3394,15 @@ namespace CXX if (priv) os << "public:" << endl; + if (asop) + { + os << "#ifdef XSD_CXX11" << endl + << name << "&" << endl + << "operator= (const " << name << "&) = default;" + << "#endif" << endl + << endl; + } + // d-tor // if (doxygen) @@ -3855,6 +3904,12 @@ namespace CXX flags_type << " f = 0);" << endl; + os << "#ifdef XSD_CXX11" << endl + << name << "&" << endl + << "operator= (const " << name << "&) = default;" + << "#endif" << endl + << endl; + // _clone // if (doxygen) diff --git a/xsd/xsd/cxx/tree/tree-header.hxx b/xsd/cxx/tree/tree-header.hxx index 7c97364..d0e9ea6 100644 --- a/xsd/xsd/cxx/tree/tree-header.hxx +++ b/xsd/cxx/tree/tree-header.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/tree-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_TREE_HEADER_HXX -#define CXX_TREE_TREE_HEADER_HXX +#ifndef XSD_CXX_TREE_TREE_HEADER_HXX +#define XSD_CXX_TREE_TREE_HEADER_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_TREE_HEADER_HXX +#endif // XSD_CXX_TREE_TREE_HEADER_HXX diff --git a/xsd/xsd/cxx/tree/tree-inline.cxx b/xsd/cxx/tree/tree-inline.cxx index 500ee73..aa8b726 100644 --- a/xsd/xsd/cxx/tree/tree-inline.cxx +++ b/xsd/cxx/tree/tree-inline.cxx @@ -1,12 +1,11 @@ // file : xsd/cxx/tree/tree-inline.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // 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 <cxx/tree/tree-inline.hxx> -#include <cxx/tree/default-value.hxx> +#include <xsd/cxx/tree/tree-inline.hxx> +#include <xsd/cxx/tree/default-value.hxx> namespace CXX { @@ -292,12 +291,18 @@ namespace CXX } os << "// " << name << endl - << "// " << endl + << "//" << endl << endl; // default c-tor // - if (options.generate_default_ctor ()) + bool list_based ( + ult_base.is_a<SemanticGraph::List> () || + ult_base.is_a<SemanticGraph::Fundamental::NameTokens> () || + ult_base.is_a<SemanticGraph::Fundamental::IdRefs> () || + ult_base.is_a<SemanticGraph::Fundamental::Entities> ()); + + if (options.generate_default_ctor () || list_based) { os << inl << name << "::" << endl @@ -897,7 +902,7 @@ namespace CXX return; os << "// " << name << endl - << "// " << endl + << "//" << endl << endl; // Generate accessors and modifiers. @@ -1032,7 +1037,7 @@ namespace CXX String const& name (ename (e)); os << "// " << name << endl - << "// " << endl + << "//" << endl << endl; // Accessors/modifiers. diff --git a/xsd/xsd/cxx/tree/tree-inline.hxx b/xsd/cxx/tree/tree-inline.hxx index 351ab38..dad4c24 100644 --- a/xsd/xsd/cxx/tree/tree-inline.hxx +++ b/xsd/cxx/tree/tree-inline.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/tree-inline.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_TREE_INLINE_HXX -#define CXX_TREE_TREE_INLINE_HXX +#ifndef XSD_CXX_TREE_TREE_INLINE_HXX +#define XSD_CXX_TREE_TREE_INLINE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_TREE_INLINE_HXX +#endif // XSD_CXX_TREE_TREE_INLINE_HXX diff --git a/xsd/xsd/cxx/tree/tree-source.cxx b/xsd/cxx/tree/tree-source.cxx index 8a01c5a..89419af 100644 --- a/xsd/xsd/cxx/tree/tree-source.cxx +++ b/xsd/cxx/tree/tree-source.cxx @@ -1,15 +1,14 @@ // file : xsd/cxx/tree/tree-source.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <map> #include <list> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/tree/tree-source.hxx> -#include <cxx/tree/default-value.hxx> +#include <xsd/cxx/tree/tree-source.hxx> +#include <xsd/cxx/tree/default-value.hxx> using namespace std; @@ -729,8 +728,16 @@ namespace CXX << strlit (e.name ()) << "," << endl << (e.qualified_p () ? strlit (e.namespace_ ().name ()) - : L + String ("\"\"")) << "," << endl - << "&::xsd::cxx::tree::factory_impl< " << type << " >," << endl + : L + String ("\"\"")) << "," << endl; + + SemanticGraph::Complex* tc; + if ((tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p ()) + os << "0,"; + else + os << "&::xsd::cxx::tree::factory_impl< " << type << " >,"; + + os << endl << (e.global_p () ? "true" : "false") << ", " << (e.qualified_p () ? "true" : "false") << ", " << "i, n, f, this));" @@ -2288,7 +2295,8 @@ namespace CXX // If renamed name is empty then we do not need to generate // anything for this type. // - if (renamed_type (c, name) && !name) + bool renamed (renamed_type (c, name)); + if (renamed && !name) return; SemanticGraph::Context& ctx (c.context ()); @@ -3309,12 +3317,14 @@ namespace CXX // _clone // - os << name << "* " << name << "::" << endl - << "_clone (" << flags_type << " f," << endl - << container << "* c) const" - << "{" - << "return new class " << name << " (*this, f, c);" - << "}"; + if (!(c.abstract_p () || + (renamed && polymorphic && polymorphic_p (c)))) + os << name << "* " << name << "::" << endl + << "_clone (" << flags_type << " f," << endl + << container << "* c) const" + << "{" + << "return new class " << name << " (*this, f, c);" + << "}"; // operator= // @@ -3364,7 +3374,7 @@ namespace CXX // Register with type factory map. // - if (polymorphic && polymorphic_p (c)) + if (polymorphic && polymorphic_p (c) && !c.abstract_p ()) { // Note that we are using the original type name. // @@ -3521,10 +3531,19 @@ namespace CXX virtual void traverse (Type& e) { - if (element_type_ && doc_root_p (e)) + SemanticGraph::Type& t (e.type ()); + + // Check if this element is abstract. + // + bool abst; { - SemanticGraph::Type& t (e.type ()); + SemanticGraph::Complex* tc; + abst = (tc = dynamic_cast<SemanticGraph::Complex*> (&t)) != 0 && + tc->abstract_p (); + } + if (!abst && element_type_ && doc_root_p (e)) + { bool fund (false); { IsFundamentalType test (fund); @@ -3543,7 +3562,7 @@ namespace CXX String const& member (emember (e)); os << "// " << name << endl - << "// " << endl + << "//" << endl << endl; // Virtual accessors. @@ -3596,7 +3615,8 @@ namespace CXX { os << name << "::" << endl << name << " (" << auto_ptr << "< " << type << " > p)" << endl - << ": " << member << " (p, 0)" + << ": " << member << " (" << + (std >= cxx_version::cxx11 ? "::std::move (p)" : "p") << ", 0)" << "{" << "}"; } @@ -3707,24 +3727,36 @@ namespace CXX } } - if (polymorphic && e.substitutes_p () && - !options.suppress_parsing ()) + // Note that we cannot just omit this element if it's abstract + // because it may serve as a "link" between the root of the + // substitution group and a non-abstract element that uses this + // element as its root (see element_factory_map::find_substitution() + // for details). + // + if (polymorphic && e.substitutes_p () && !options.suppress_parsing ()) { String const& name (ename (e)); Type& r (e.substitutes ().root ()); os << "static" << endl << "const ::xsd::cxx::tree::element_factory_initializer< " << - poly_plate << ", " << char_type << ", "; - - belongs (e, belongs_); - - os << " >" << endl + poly_plate << ", " << char_type << " >" << endl << "_xsd_" << name << "_element_factory_init (" << endl << strlit (r.name ()) << "," << endl << strlit (r.namespace_ ().name ()) << "," << endl << strlit (e.name ()) << "," << endl - << strlit (e.namespace_ ().name ()) << ");" + << strlit (e.namespace_ ().name ()) << "," << endl; + + if (abst) + os << "0"; + else + { + os << "&::xsd::cxx::tree::factory_impl< "; + belongs (e, belongs_); + os << " >"; + } + + os << ");" << endl << endl; } diff --git a/xsd/xsd/cxx/tree/tree-source.hxx b/xsd/cxx/tree/tree-source.hxx index b2d96f7..66dcff7 100644 --- a/xsd/xsd/cxx/tree/tree-source.hxx +++ b/xsd/cxx/tree/tree-source.hxx @@ -1,11 +1,10 @@ // file : xsd/cxx/tree/tree-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_TREE_SOURCE_HXX -#define CXX_TREE_TREE_SOURCE_HXX +#ifndef XSD_CXX_TREE_TREE_SOURCE_HXX +#define XSD_CXX_TREE_TREE_SOURCE_HXX -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> namespace CXX { @@ -16,4 +15,4 @@ namespace CXX } } -#endif // CXX_TREE_TREE_SOURCE_HXX +#endif // XSD_CXX_TREE_TREE_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/validator.cxx b/xsd/cxx/tree/validator.cxx index ce3dcd8..9785560 100644 --- a/xsd/xsd/cxx/tree/validator.cxx +++ b/xsd/cxx/tree/validator.cxx @@ -1,16 +1,15 @@ // file : xsd/cxx/tree/validator.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> #include <iostream> -#include <cxx/tree/validator.hxx> +#include <xsd/cxx/tree/validator.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <cxx/tree/elements.hxx> +#include <xsd/cxx/tree/elements.hxx> using namespace std; @@ -275,6 +274,8 @@ namespace CXX Traversal::Element, ValidationContext { + using Schema::traverse; + Traverser (ValidationContext& c) : ValidationContext (c), any_ (c) { @@ -421,6 +422,9 @@ namespace CXX Traversal::Attribute, ValidationContext { + using Schema::traverse; + using Complex::traverse; + AnonymousType (ValidationContext& c) : ValidationContext (c), anonymous_error_issued_ (false) @@ -583,7 +587,7 @@ namespace CXX NarrowString fn (ops.function_naming ()); - if (fn != "knr" && fn != "lcc" && fn != "java") + if (fn != "knr" && fn != "lcc" && fn != "ucc" && fn != "java") { wcerr << "error: unknown function naming style specified: '" << fn.c_str () << "'" << endl; diff --git a/xsd/xsd/cxx/tree/validator.hxx b/xsd/cxx/tree/validator.hxx index 58ec85e..23f3f04 100644 --- a/xsd/xsd/cxx/tree/validator.hxx +++ b/xsd/cxx/tree/validator.hxx @@ -1,14 +1,13 @@ // file : xsd/cxx/tree/validator.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef CXX_TREE_VALIDATOR_HXX -#define CXX_TREE_VALIDATOR_HXX +#ifndef XSD_CXX_TREE_VALIDATOR_HXX +#define XSD_CXX_TREE_VALIDATOR_HXX -#include <cxx/tree/elements.hxx> -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/elements.hxx> +#include <xsd/cxx/tree/options.hxx> -#include <xsd.hxx> +#include <xsd/xsd.hxx> namespace CXX { @@ -27,4 +26,4 @@ namespace CXX } } -#endif // CXX_TREE_VALIDATOR_HXX +#endif // XSD_CXX_TREE_VALIDATOR_HXX diff --git a/xsd/dist/README-UNIX b/xsd/dist/README-UNIX deleted file mode 100644 index 4f83a7d..0000000 --- a/xsd/dist/README-UNIX +++ /dev/null @@ -1,82 +0,0 @@ -This package contains precompiled binaries of CodeSynthesis XSD, a -W3C XML Schema to C++ Data Binding compiler. For more information -about XSD visit - -http://www.codesynthesis.com/products/xsd/ - -This README file describes how to start using XSD in UNIX or -UNIX-like (for example, Cygwin/Mingw) environments. - - -Prerequisites -------------- - -The XSD runtime library and the generated code depend on the underlying -XML parser which can be Xerces-C++ for the C++/Tree mapping and Xerces-C++ -or Expat for the C++/Parser mapping. - -Xerces-C++ can be obtained from http://xerces.apache.org/xerces-c/. Most -GNU/Linux distributions provide precompiled binary packages for Xerces-C++. -You can also download precompiled Xerces-C++ libraries for a wide range of -platforms and compilers from http://xerces.apache.org/xerces-c/download.cgi - -Expat can be obtained from http://www.libexpat.org/. Most GNU/Linux -distributions provide precompiled binary packages for Expat. - - -Building Examples ------------------ - -To build examples you will need GNU make. All examples in the examples/ -directory come with simple makefiles. For instance, to build a hello -example in examples/cxx/tree you could execute the following commands: - -$ cd examples/cxx/tree/hello -$ make - -The following make variables affect the compilation process and can -be overridden from the command line: - -CXX - C++ compiler, by default 'g++' -CXXFLAGS - C++ options -CPPFLAGS - C/C++ Preprocessor options - -LIBS - Libraries to link with, by default '-lxerces-c' for the - C++/Tree examples and either '-lxerces-c' or '-lexpat' for - the C++/Parser examples, depending on XML_PARSER -LDFLAGS - Linker options - -XSD - XSD compiler, by default path to the XSD binary -XSDFLAGS - XSD options - -WITH_ZLIB - Set this variable to 1 if you would like to build examples - that depend on the zlib library - -WITH_ACE - Set this variable to 1 if you would like to build examples - that depend on the ACE library - -WITH_XDR - Set this variable to 1 if you would like to build examples - that depend on the XDR API (available out of the box on - most GNU/Linux and UNIX systems) - -WITH_BOOST - Set this variable to 1 if you would like to build examples - that depend on the Boost date_time and serialization - libraries - -WITH_XQILLA - Set this variable to 1 if you would like to build examples - that depend on the XQilla library (XPath 2) - -Additionally, makefiles for the C++/Parser examples (examples/cxx/parser/) -allow you to choose the underlying XML parser: - -XML_PARSER - Underlying XML parser, can be 'xerces' (default) or 'expat' - - -For instance, if you would like to build an example using g++-4.0 instead -of the default g++ and would like to use Xerces-C++ from ~/xerces-c instead -of the default, system-wide installation, you could execute the following -command: - -$ make CXX=g++-4.0 \ - CPPFLAGS="-I ~/xerces-c/include" \ - LDFLAGS="-L ~/xerces-c/lib" diff --git a/xsd/dist/README-WINDOWS b/xsd/dist/README-WINDOWS deleted file mode 100644 index 0657c9f..0000000 --- a/xsd/dist/README-WINDOWS +++ /dev/null @@ -1,192 +0,0 @@ -This package contains precompiled binaries of CodeSynthesis XSD, a -W3C XML Schema to C++ Data Binding compiler, built for Microsoft -Windows. For more information about XSD visit - -http://www.codesynthesis.com/products/xsd/ - -This README file describes how to start using XSD in the Microsoft -Windows environment with Visual Studio 2005 (8.0), Visual Studio 2008 -(9.0), and Visual Studio 2010 (10.0), Visual Studio 2012 (11.0), and -Visual Studio 2013 (12.0). - - -Prerequisites -------------- - -The XSD runtime library and the generated code depend on the Xerces-C++ -XML parser which you can obtain from http://xerces.apache.org/xerces-c/. -You can also download precompiled Xerces-C++ libraries for Windows from: - -http://xerces.apache.org/xerces-c/download.cgi - -Note that the above download page may not contain Xerces-C++ libraries -for the latest Visual Studio releases. The Windows Installer package -(.msi) for XSD contains Xerces-C++ libraries for all of the above- -mentioned Visual Studio versions. - - -Environment ------------ - -Before you can start building examples or your applications that use XSD -you need to set include, library and executable search paths in the Visual -Studio IDE and the System Environment. - -1. Setting up Xerces-C++ - - First you need to set up Xerces-C++ include and library search paths. - If you already have Xerces-C++ set up in your development environment, - you can skip to the next step. Here we assume that your Xerces-C++ path - is C:\projects\xerces-c-x.y.z. If you have Xerces-C++ in a different - place, you will need to adjust the paths below accordingly. - - - a) For Visual Studio 2005 (8.0) and Visual Studio 2008 (9.0): - - In the Visual Studio IDE, select "Tools"/"Options"/"Projects and - Solution"/"VC++ Directories". - - Then, in the "Show directories for" field, select "Include files" and - create a new entry with the value "C:\projects\xerces-c-x.y.z\include". - - After that, in the "Show directories for" field, select "Library files" - and create a new entry with the value "C:\projects\xerces-c-x.y.z\lib". - - After that, in the "Show directories for" field, select "Executable files" - and create a new entry with the value "C:\projects\xerces-c-x.y.z\bin". - - If you are building the 64-bit version of your application, repeat the - above steps for the 64-bit version of Xerces-C++ while selecting x64 - in the "Platform" drop-down list in the VC++ Directories dialog (Visual - Studio keeps a separate set of paths for each platform). - - For Visual Studio 2010-2013 (10.0-12.0): - - 1. Open an existing or create a new C++ project (you can open one of - the example solutions that come with XSD). - - 2. Open the Property Manager view by selecting "View"->"Property - Manager" (or "View"->"Other Windows"->"Property Manager") menu - action. - - 3. Expand the property hierarchy for the project and find the - Microsoft.Cpp.Win32.user property sheet. - - 4. Right click on Microsoft.Cpp.Win32.user and select the "Properties" - menu action. - - 5. Select the VC++ Directories tab. - - 6. Add the "C:\projects\xerces-c-x.y.z\include" path to the "Include - Directories" field (the paths are separated by a semicolon). - - 7. Add the "C:\projects\xerces-c-x.y.z\lib" path to the "Library - Directories" field. - - 8. Add the "C:\projects\xerces-c-x.y.z\bin" path to the "Executable - Directories" field. - - 9. Click Ok to close the dialog and then click the Save button at the - top of the Property Manager view to save Microsoft.Cpp.Win32.user. - - If you are building the 64-bit version of your application, repeat - the above steps for the 64-bit version of Xerces-C++ but using the - Microsoft.Cpp.x64.user property sheet (Visual Studio keeps a separate - set of paths for each platform). - - - b) In the Control Panel, choose "System" and select the "Advanced" tab. - Click on the "Environment Variables" button. In the "System Variables" - list, select "Path" and add (via "Edit" button) the - ";C:\projects\xerces-c-x.y.z\bin" path at the end. - - -2. Setting up XSD - - Now you need to set up XSD executable and include search paths. Here we - assume that your XSD path is C:\projects\xsd-x.y.z. If you have XSD in - a different place, you will need to adjust the paths below accordingly. - - For Visual Studio 2005 (8.0) and Visual Studio 2008 (9.0): - - In the Visual Studio IDE, select "Tools"/"Options"/"Projects and - Solution"/"VC++ Directories". - - Then, in the "Show directories for" field, select "Include files" and - create a new entry with the value "C:\projects\xsd-x.y.z\libxsd". - - After that, in the "Show directories for" field, select "Executable - files" and create a new entry with the value "C:\projects\xsd-x.y.z\bin". - Make sure it is the first line in the list of directories (use the - "Up" button to move the new entry up, if necessary). - - If you are building the 64-bit version of your application, repeat the - above steps using the same paths while selecting x64 in the "Platform" - drop-down list in the VC++ Directories dialog (Visual Studio keeps a - separate set of paths for each platform). - - For Visual Studio 2010 (10.0): - - 1. Open an existing or create a new C++ project (you can open one of - the example solutions that come with XSD). - - 2. Open the Property Manager view by selecting "View"->"Property - Manager" (or "View"->"Other Windows"->"Property Manager") menu - action. - - 3. Expand the property hierarchy for the project and find the - Microsoft.Cpp.Win32.user property sheet. - - 4. Right click on Microsoft.Cpp.Win32.user and select the "Properties" - menu action. - - 5. Select the VC++ Directories tab. - - 6. Add the "C:\projects\xsd-x.y.z\libxsd" path to the "Include - Directories" field (the paths are separated by a semicolon). - - 7. Add the "C:\projects\xsd-x.y.z\bin" path to the "Executable - Directories" field and make sure it is the first path in the - the list of directories. - - 8. Click Ok to close the dialog and then click the Save button at the - top of the Property Manager view to save Microsoft.Cpp.Win32.user. - - If you are building the 64-bit version of your application, repeat the - above steps using the same paths but using the Microsoft.Cpp.x64.user - property sheet (Visual Studio keeps a separate set of paths for each - platform). - - -3. Restart the Visual Studio IDE. - - -Building Examples ------------------ - -Now you are ready to build examples. Simply open the solution file -found in the examples\cxx\tree (C++/Tree mapping examples) or -examples\cxx\parser (C++/Parser examples) directories. - -Some of the examples depend on additional third-party libraries or -show a specific feature of XSD and are not included in the solutions -above. They come with their individual solution files: - -examples/cxx/tree/embedded - example of schema embedding -examples/cxx/tree/custom - examples of type customization -examples/cxx/tree/custom/calendar - depends on the Boost date_time library -examples/cxx/tree/compression - depends on the zlib library -examples/cxx/tree/binary/boost - depends on the Boost serialization library -examples/cxx/tree/binary/cdr - depends on the ACE library -examples/cxx/tree/binary/xdr - requires a third-party XDR library -examples/cxx/tree/xpath - depends on the XQilla library (XPath 2) - - -Using XSD in Your Projects --------------------------- - -For various ways to integrate the XSD compiler with the Visual Studio IDE -as well as other Visual Studio-specific topics, refer to the Using XSD with -Microsoft Visual Studio Wiki page: - -http://wiki.codesynthesis.com/Using_XSD_with_Microsoft_Visual_Studio diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.props b/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.props deleted file mode 100644 index b167a38..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.props +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup
- Condition="'$(CXX_Parser_Mapping_RuleBeforeTargets)' == '' and '$(CXX_Parser_Mapping_RuleAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
- <CXX_Parser_Mapping_RuleBeforeTargets>Midl</CXX_Parser_Mapping_RuleBeforeTargets>
- <CXX_Parser_Mapping_RuleAfterTargets>CustomBuild</CXX_Parser_Mapping_RuleAfterTargets>
- </PropertyGroup>
- <PropertyGroup>
- <CXX_Parser_Mapping_RuleDependsOn
- Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(CXX_Parser_Mapping_RuleDependsOn)</CXX_Parser_Mapping_RuleDependsOn>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <CXX_Parser_Mapping_Rule>
- <ProprietaryLicense>False</ProprietaryLicense>
- <GenInline>False</GenInline>
- <GenValidation>False</GenValidation>
- <SupValidation>False</SupValidation>
- <GenPolymorphic>False</GenPolymorphic>
- <OutDir>.</OutDir>
- <HeaderSuffix>.hxx</HeaderSuffix>
- <SourceSuffix>.cxx</SourceSuffix>
- <InlineSuffix>.ixx</InlineSuffix>
- <SkelFileSuffix>-pskel</SkelFileSuffix>
- <SkelTypeSuffix>_pskel</SkelTypeSuffix>
- <CharType>0</CharType>
- <CharEncoding>0</CharEncoding>
- <XMLParser>0</XMLParser>
- <CommandLineTemplate>xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
- <ExecutionDescription>xsd cxx-parser %(Identity)</ExecutionDescription>
- <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
- </CXX_Parser_Mapping_Rule>
- </ItemDefinitionGroup>
-</Project>
diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.targets b/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.targets deleted file mode 100644 index 62ad2b2..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.targets +++ /dev/null @@ -1,92 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
- <AvailableItemName
- Include="CXX_Parser_Mapping_Rule">
- <Targets>XsdCompile</Targets>
- </AvailableItemName>
- </ItemGroup>
- <UsingTask
- TaskName="CXX_Parser_Mapping_Rule"
- TaskFactory="XamlTaskFactory"
- AssemblyName="Microsoft.Build.Tasks.v4.0">
- <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
- </UsingTask>
- <Target
- Name="XsdCompile"
- BeforeTargets="$(CXX_Parser_Mapping_RuleBeforeTargets)"
- AfterTargets="$(CXX_Parser_Mapping_RuleAfterTargets)"
- Condition="'@(CXX_Parser_Mapping_Rule)' != ''"
- DependsOnTargets="$(CXX_Parser_Mapping_RuleDependsOn);XsdOutputDir"
- Outputs="%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)"
- Inputs="%(CXX_Parser_Mapping_Rule.Identity);%(CXX_Parser_Mapping_Rule.AdditionalDependencies);$(MSBuildProjectFile)">
- <ItemGroup
- Condition="'@(SelectedFiles)' != ''">
- <CXX_Parser_Mapping_Rule
- Remove="@(CXX_Parser_Mapping_Rule)"
- Condition="'%(Identity)' != '@(SelectedFiles)'" />
- </ItemGroup>
- <ItemGroup>
- <CXX_Parser_Mapping_Rule_tlog
- Include="%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)"
- Condition="'%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.HeaderSuffix);%(CXX_Parser_Mapping_Rule.OutDir)\%(CXX_Parser_Mapping_Rule.Filename)%(CXX_Parser_Mapping_Rule.SkelFileSuffix)%(CXX_Parser_Mapping_Rule.SourceSuffix)' != '' and '%(CXX_Parser_Mapping_Rule.ExcludedFromBuild)' != 'true'">
- <Source>@(CXX_Parser_Mapping_Rule, '|')</Source>
- </CXX_Parser_Mapping_Rule_tlog>
- </ItemGroup>
- <Message
- Importance="High"
- Text="%(CXX_Parser_Mapping_Rule.ExecutionDescription)" />
- <WriteLinesToFile
- Condition="'@(CXX_Parser_Mapping_Rule_tlog)' != '' and '%(CXX_Parser_Mapping_Rule_tlog.ExcludedFromBuild)' != 'true'"
- File="$(IntDir)$(ProjectName).write.1.tlog"
- Lines="^%(CXX_Parser_Mapping_Rule_tlog.Source);@(CXX_Parser_Mapping_Rule_tlog->'%(Fullpath)')" />
- <CXX_Parser_Mapping_Rule
- Condition="'@(CXX_Parser_Mapping_Rule)' != '' and '%(CXX_Parser_Mapping_Rule.ExcludedFromBuild)' != 'true'"
- CommandLineTemplate="%(CXX_Parser_Mapping_Rule.CommandLineTemplate)"
- ProprietaryLicense="%(CXX_Parser_Mapping_Rule.ProprietaryLicense)"
- GenInline="%(CXX_Parser_Mapping_Rule.GenInline)"
- GenValidation="%(CXX_Parser_Mapping_Rule.GenValidation)"
- SupValidation="%(CXX_Parser_Mapping_Rule.SupValidation)"
- GenPolymorphic="%(CXX_Parser_Mapping_Rule.GenPolymorphic)"
- OutDir="%(CXX_Parser_Mapping_Rule.OutDir)"
- HeaderSuffix="%(CXX_Parser_Mapping_Rule.HeaderSuffix)"
- SourceSuffix="%(CXX_Parser_Mapping_Rule.SourceSuffix)"
- InlineSuffix="%(CXX_Parser_Mapping_Rule.InlineSuffix)"
- SkelFileSuffix="%(CXX_Parser_Mapping_Rule.SkelFileSuffix)"
- NamespaceMap="%(CXX_Parser_Mapping_Rule.NamespaceMap)"
- TypeMap="%(CXX_Parser_Mapping_Rule.TypeMap)"
- SkelTypeSuffix="%(CXX_Parser_Mapping_Rule.SkelTypeSuffix)"
- ExportSymbol="%(CXX_Parser_Mapping_Rule.ExportSymbol)"
- HxxPrologue="%(CXX_Parser_Mapping_Rule.HxxPrologue)"
- HxxEpilogue="%(CXX_Parser_Mapping_Rule.HxxEpilogue)"
- CharType="%(CXX_Parser_Mapping_Rule.CharType)"
- CharEncoding="%(CXX_Parser_Mapping_Rule.CharEncoding)"
- XMLParser="%(CXX_Parser_Mapping_Rule.XMLParser)"
- AdditionalOptions="%(CXX_Parser_Mapping_Rule.AdditionalOptions)"
- Inputs="%(CXX_Parser_Mapping_Rule.Identity)" />
- </Target>
- <Target
- Name="XsdClean"
- BeforeTargets="CoreCppClean"
- AfterTargets="_PrepareForClean"
- Condition="'@(CXX_Parser_Mapping_Rule)' != ''">
- <PropertyGroup>
- <XsdCleanFilePatternsToDelete>@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('HeaderSuffix')->Distinct());@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SourceSuffix')->Distinct());@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Parser_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('SkelFileSuffix')->Distinct())@(CXX_Parser_Mapping_Rule->Metadata('InlineSuffix')->Distinct());</XsdCleanFilePatternsToDelete>
- </PropertyGroup>
- <ItemGroup>
- <CoreCppClean>
- <FilePatternsToDelete
- Condition="'%(CoreCppClean.FilePatternsToDelete)' != ''">%(CoreCppClean.FilePatternsToDelete);$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
- <FilePatternsToDelete
- Condition="'%(CoreCppClean.FilePatternsToDelete)' == ''">$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
- </CoreCppClean>
- </ItemGroup>
- </Target>
- <Target
- Name="XsdOutputDir"
- Condition="'@(CXX_Parser_Mapping_Rule)' != ''">
- <MakeDir Directories="@(CXX_Parser_Mapping_Rule->Metadata('OutDir')->Distinct()->ClearMetadata())" />
- </Target>
-</Project>
diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.xml b/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.xml deleted file mode 100644 index 37202c6..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-parser.xml +++ /dev/null @@ -1,284 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
- <Rule
- Name="CXX_Parser_Mapping_Rule"
- PageTemplate="tool"
- DisplayName="C++/Parser Mapping"
- Order="200">
- <Rule.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType="CXX_Parser_Mapping_Rule" />
- </Rule.DataSource>
- <Rule.Categories>
- <Category
- Name="General">
- <Category.DisplayName>
- <sys:String>General</sys:String>
- </Category.DisplayName>
- </Category>
- <Category
- Name="Command Line"
- Subtype="CommandLine">
- <Category.DisplayName>
- <sys:String>Command Line</sys:String>
- </Category.DisplayName>
- </Category>
- </Rule.Categories>
- <StringListProperty
- Name="Inputs"
- Category="Command Line"
- IsRequired="true"
- Switch=" ">
- <StringListProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType="CXX_Parser_Mapping_Rule"
- SourceType="Item" />
- </StringListProperty.DataSource>
- </StringListProperty>
- <BoolProperty
- Name="ProprietaryLicense"
- Subcategory="Licensing"
- HelpContext="0"
- DisplayName="Proprietary License"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license" />
- <BoolProperty
- Name="GenInline"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Inline"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline" />
- <BoolProperty
- Name="GenValidation"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Validation Code"
- Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
- Switch="--generate-validation" />
- <BoolProperty
- Name="SupValidation"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Suppress Validation Code"
- Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
- Switch="--suppress-validation" />
- <BoolProperty
- Name="GenPolymorphic"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Polymorphic"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic" />
- <StringProperty
- Name="OutDir"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="Output Directory"
- Description="Output directory for the generated files"
- Switch="--output-dir "[value]"" />
- <StringProperty
- Name="HeaderSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Header Suffix "
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix "[value]"" />
- <StringProperty
- Name="SourceSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Source Suffix"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix "[value]"" />
- <StringProperty
- Name="InlineSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Inline Suffix"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix "[value]"" />
- <StringProperty
- Name="SkelFileSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="Parser Skeleton File Suffix"
- Description="Use the provided suffix to construct the names of generated parser skeleton file."
- Switch="--skel-file-suffix "[value]"" />
- <StringListProperty
- Name="NamespaceMap"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Namespace Map"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a semicolon-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map "[value]"" />
- <StringListProperty
- Name="TypeMap"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Type Map"
- Description="Specify type map files as a semicolon-separated list."
- Switch="--type-map "[value]"" />
- <StringProperty
- Name="SkelTypeSuffix"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Parser Skeleton Type Suffix"
- Description="Use the provided suffix to construct the names of generated parser skeletons."
- Switch="--skel-type-suffix "[value]"" />
- <StringListProperty
- Name="ExportSymbol"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Export Symbol"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol "[value]"" />
- <StringListProperty
- Name="HxxPrologue"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Header Prologue File"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file "[value]"" />
- <StringListProperty
- Name="HxxEpilogue"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Header Epilogue File"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file "[value]"" />
- <EnumProperty
- Name="CharType"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Char Type"
- Description="Character type to be used in the generated code.">
- <EnumValue
- Name="0"
- DisplayName="char" />
- <EnumValue
- Name="1"
- DisplayName="wchar_t"
- Switch="--char-type wchar_t" />
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Char Encoding"
- Description="Character encoding to be used bu the generated code.">
- <EnumValue
- Name="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)" />
- <EnumValue
- Name="1"
- DisplayName="ISO-8859-1"
- Switch="--char-encoding iso8859-1" />
- <EnumValue
- Name="2"
- DisplayName="Xerces-C++ local code page"
- Switch="--char-encoding lcp" />
- <EnumValue
- Name="3"
- DisplayName="Custom encoding"
- Switch="--char-encoding custom" />
- </EnumProperty>
- <EnumProperty
- Name="XMLParser"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Underlying XML Parser"
- Description="Use the specified parser as the underlying XML parser.">
- <EnumValue
- Name="0"
- DisplayName="xerces" />
- <EnumValue
- Name="1"
- DisplayName="expat"
- Switch="--xml-parser expat" />
- </EnumProperty>
- <StringProperty
- Name="CommandLineTemplate"
- DisplayName="Command Line"
- Visible="False"
- IncludeInCommandLine="False" />
- <DynamicEnumProperty
- Name="CXX_Parser_Mapping_RuleBeforeTargets"
- Category="General"
- EnumProvider="Targets"
- IncludeInCommandLine="False">
- <DynamicEnumProperty.DisplayName>
- <sys:String>Execute Before</sys:String>
- </DynamicEnumProperty.DisplayName>
- <DynamicEnumProperty.Description>
- <sys:String>Specifies the targets for the build customization to run before.</sys:String>
- </DynamicEnumProperty.Description>
- <DynamicEnumProperty.ProviderSettings>
- <NameValuePair
- Name="Exclude"
- Value="^CXX_Parser_Mapping_RuleBeforeTargets|^Compute" />
- </DynamicEnumProperty.ProviderSettings>
- <DynamicEnumProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- HasConfigurationCondition="true" />
- </DynamicEnumProperty.DataSource>
- </DynamicEnumProperty>
- <DynamicEnumProperty
- Name="CXX_Parser_Mapping_RuleAfterTargets"
- Category="General"
- EnumProvider="Targets"
- IncludeInCommandLine="False">
- <DynamicEnumProperty.DisplayName>
- <sys:String>Execute After</sys:String>
- </DynamicEnumProperty.DisplayName>
- <DynamicEnumProperty.Description>
- <sys:String>Specifies the targets for the build customization to run after.</sys:String>
- </DynamicEnumProperty.Description>
- <DynamicEnumProperty.ProviderSettings>
- <NameValuePair
- Name="Exclude"
- Value="^CXX_Parser_Mapping_RuleAfterTargets|^Compute" />
- </DynamicEnumProperty.ProviderSettings>
- <DynamicEnumProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType=""
- HasConfigurationCondition="true" />
- </DynamicEnumProperty.DataSource>
- </DynamicEnumProperty>
- <StringProperty
- Name="ExecutionDescription"
- DisplayName="Execution Description"
- Visible="False"
- IncludeInCommandLine="False" />
- <StringListProperty
- Name="AdditionalDependencies"
- DisplayName="Additional Dependencies"
- IncludeInCommandLine="False"
- Visible="true" />
- <StringProperty
- Subtype="AdditionalOptions"
- Name="AdditionalOptions"
- Category="Command Line">
- <StringProperty.DisplayName>
- <sys:String>Additional Options</sys:String>
- </StringProperty.DisplayName>
- <StringProperty.Description>
- <sys:String>Additional Options</sys:String>
- </StringProperty.Description>
- </StringProperty>
- </Rule>
- <ItemType
- Name="CXX_Parser_Mapping_Rule"
- DisplayName="C++/Parser Mapping" />
- <FileExtension
- Name="*.xsd"
- ContentType="CXX_Parser_Mapping_Rule" />
- <ContentType
- Name="CXX_Parser_Mapping_Rule"
- DisplayName="C++/Parser Mapping"
- ItemType="CXX_Parser_Mapping_Rule" />
-</ProjectSchemaDefinitions>
diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.props b/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.props deleted file mode 100644 index fc81c9b..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.props +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <PropertyGroup
- Condition="'$(CXX_Tree_Mapping_RuleBeforeTargets)' == '' and '$(CXX_Tree_Mapping_RuleAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
- <CXX_Tree_Mapping_RuleBeforeTargets>Midl</CXX_Tree_Mapping_RuleBeforeTargets>
- <CXX_Tree_Mapping_RuleAfterTargets>CustomBuild</CXX_Tree_Mapping_RuleAfterTargets>
- </PropertyGroup>
- <PropertyGroup>
- <CXX_Tree_Mapping_RuleDependsOn
- Condition="'$(ConfigurationType)' != 'Makefile'">_SelectedFiles;$(CXX_Tree_Mapping_RuleDependsOn)</CXX_Tree_Mapping_RuleDependsOn>
- </PropertyGroup>
- <ItemDefinitionGroup>
- <CXX_Tree_Mapping_Rule>
- <ProprietaryLicense>False</ProprietaryLicense>
- <CxxStd>0</CxxStd>
- <GenInline>False</GenInline>
- <GenForward>False</GenForward>
- <GenSerialization>False</GenSerialization>
- <SupParsing>False</SupParsing>
- <GenPolymorphic>False</GenPolymorphic>
- <PolymorphicTypeAll>False</PolymorphicTypeAll>
- <GenOstream>False</GenOstream>
- <GenDoxygen>False</GenDoxygen>
- <GenComparison>False</GenComparison>
- <GenDefaultCtor>False</GenDefaultCtor>
- <GenFromBaseCtor>False</GenFromBaseCtor>
- <GenDetach>False</GenDetach>
- <GenWildcard>False</GenWildcard>
- <GenAnyType>False</GenAnyType>
- <GenElementType>False</GenElementType>
- <GenElementMap>False</GenElementMap>
- <GenIntellisense>False</GenIntellisense>
- <OutDir>.</OutDir>
- <HeaderSuffix>.hxx</HeaderSuffix>
- <SourceSuffix>.cxx</SourceSuffix>
- <InlineSuffix>.ixx</InlineSuffix>
- <ForwardSuffix>-fwd.hxx</ForwardSuffix>
- <CharType>0</CharType>
- <CharEncoding>0</CharEncoding>
- <TypeNaming>0</TypeNaming>
- <FunctionNaming>0</FunctionNaming>
- <CommandLineTemplate>xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]</CommandLineTemplate>
- <ExecutionDescription>xsd cxx-tree %(Identity)</ExecutionDescription>
- <ShowOnlyRuleProperties>false</ShowOnlyRuleProperties>
- </CXX_Tree_Mapping_Rule>
- </ItemDefinitionGroup>
-</Project>
diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.targets b/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.targets deleted file mode 100644 index 6156ec2..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.targets +++ /dev/null @@ -1,107 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <PropertyPageSchema
- Include="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml" />
- <AvailableItemName
- Include="CXX_Tree_Mapping_Rule">
- <Targets>XsdCompile</Targets>
- </AvailableItemName>
- </ItemGroup>
- <UsingTask
- TaskName="CXX_Tree_Mapping_Rule"
- TaskFactory="XamlTaskFactory"
- AssemblyName="Microsoft.Build.Tasks.v4.0">
- <Task>$(MSBuildThisFileDirectory)$(MSBuildThisFileName).xml</Task>
- </UsingTask>
- <Target
- Name="XsdCompile"
- BeforeTargets="$(CXX_Tree_Mapping_RuleBeforeTargets)"
- AfterTargets="$(CXX_Tree_Mapping_RuleAfterTargets)"
- Condition="'@(CXX_Tree_Mapping_Rule)' != ''"
- DependsOnTargets="$(CXX_Tree_Mapping_RuleDependsOn);XsdOutputDir"
- Outputs="%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)"
- Inputs="%(CXX_Tree_Mapping_Rule.Identity);%(CXX_Tree_Mapping_Rule.AdditionalDependencies);$(MSBuildProjectFile)">
- <ItemGroup
- Condition="'@(SelectedFiles)' != ''">
- <CXX_Tree_Mapping_Rule
- Remove="@(CXX_Tree_Mapping_Rule)"
- Condition="'%(Identity)' != '@(SelectedFiles)'" />
- </ItemGroup>
- <ItemGroup>
- <CXX_Tree_Mapping_Rule_tlog
- Include="%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)"
- Condition="'%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.HeaderSuffix);%(CXX_Tree_Mapping_Rule.OutDir)\%(CXX_Tree_Mapping_Rule.Filename)%(CXX_Tree_Mapping_Rule.SourceSuffix)' != '' and '%(CXX_Tree_Mapping_Rule.ExcludedFromBuild)' != 'true'">
- <Source>@(CXX_Tree_Mapping_Rule, '|')</Source>
- </CXX_Tree_Mapping_Rule_tlog>
- </ItemGroup>
- <Message
- Importance="High"
- Text="%(CXX_Tree_Mapping_Rule.ExecutionDescription)" />
- <WriteLinesToFile
- Condition="'@(CXX_Tree_Mapping_Rule_tlog)' != '' and '%(CXX_Tree_Mapping_Rule_tlog.ExcludedFromBuild)' != 'true'"
- File="$(IntDir)$(ProjectName).write.1.tlog"
- Lines="^%(CXX_Tree_Mapping_Rule_tlog.Source);@(CXX_Tree_Mapping_Rule_tlog->'%(Fullpath)')" />
- <CXX_Tree_Mapping_Rule
- Condition="'@(CXX_Tree_Mapping_Rule)' != '' and '%(CXX_Tree_Mapping_Rule.ExcludedFromBuild)' != 'true'"
- CommandLineTemplate="%(CXX_Tree_Mapping_Rule.CommandLineTemplate)"
- ProprietaryLicense="%(CXX_Tree_Mapping_Rule.ProprietaryLicense)"
- CxxStd="%(CXX_Tree_Mapping_Rule.CxxStd)"
- GenInline="%(CXX_Tree_Mapping_Rule.GenInline)"
- GenForward="%(CXX_Tree_Mapping_Rule.GenForward)"
- GenSerialization="%(CXX_Tree_Mapping_Rule.GenSerialization)"
- SupParsing="%(CXX_Tree_Mapping_Rule.SupParsing)"
- GenPolymorphic="%(CXX_Tree_Mapping_Rule.GenPolymorphic)"
- PolymorphicTypeAll="%(CXX_Tree_Mapping_Rule.PolymorphicTypeAll)"
- GenOstream="%(CXX_Tree_Mapping_Rule.GenOstream)"
- GenDoxygen="%(CXX_Tree_Mapping_Rule.GenDoxygen)"
- GenComparison="%(CXX_Tree_Mapping_Rule.GenComparison)"
- GenDefaultCtor="%(CXX_Tree_Mapping_Rule.GenDefaultCtor)"
- GenFromBaseCtor="%(CXX_Tree_Mapping_Rule.GenFromBaseCtor)"
- GenDetach="%(CXX_Tree_Mapping_Rule.GenDetach)"
- GenWildcard="%(CXX_Tree_Mapping_Rule.GenWildcard)"
- GenAnyType="%(CXX_Tree_Mapping_Rule.GenAnyType)"
- GenElementType="%(CXX_Tree_Mapping_Rule.GenElementType)"
- GenElementMap="%(CXX_Tree_Mapping_Rule.GenElementMap)"
- GenIntellisense="%(CXX_Tree_Mapping_Rule.GenIntellisense)"
- OutDir="%(CXX_Tree_Mapping_Rule.OutDir)"
- HeaderSuffix="%(CXX_Tree_Mapping_Rule.HeaderSuffix)"
- SourceSuffix="%(CXX_Tree_Mapping_Rule.SourceSuffix)"
- InlineSuffix="%(CXX_Tree_Mapping_Rule.InlineSuffix)"
- ForwardSuffix="%(CXX_Tree_Mapping_Rule.ForwardSuffix)"
- NamespaceMap="%(CXX_Tree_Mapping_Rule.NamespaceMap)"
- PolymorphicType="%(CXX_Tree_Mapping_Rule.PolymorphicType)"
- RootElement="%(CXX_Tree_Mapping_Rule.RootElement)"
- ExportSymbol="%(CXX_Tree_Mapping_Rule.ExportSymbol)"
- HxxPrologue="%(CXX_Tree_Mapping_Rule.HxxPrologue)"
- HxxEpilogue="%(CXX_Tree_Mapping_Rule.HxxEpilogue)"
- CharType="%(CXX_Tree_Mapping_Rule.CharType)"
- CharEncoding="%(CXX_Tree_Mapping_Rule.CharEncoding)"
- TypeNaming="%(CXX_Tree_Mapping_Rule.TypeNaming)"
- FunctionNaming="%(CXX_Tree_Mapping_Rule.FunctionNaming)"
- AdditionalOptions="%(CXX_Tree_Mapping_Rule.AdditionalOptions)"
- Inputs="%(CXX_Tree_Mapping_Rule.Identity)" />
- </Target>
- <Target
- Name="XsdClean"
- BeforeTargets="CoreCppClean"
- AfterTargets="_PrepareForClean"
- Condition="'@(CXX_Tree_Mapping_Rule)' != ''">
- <PropertyGroup>
- <XsdCleanFilePatternsToDelete>@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('HeaderSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('SourceSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('InlineSuffix')->Distinct());@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct())\@(CXX_Tree_Mapping_Rule->Metadata('Filename')->Distinct())@(CXX_Tree_Mapping_Rule->Metadata('ForwardSuffix')->Distinct())</XsdCleanFilePatternsToDelete>
- </PropertyGroup>
- <ItemGroup>
- <CoreCppClean>
- <FilePatternsToDelete
- Condition="'%(CoreCppClean.FilePatternsToDelete)' != ''">%(CoreCppClean.FilePatternsToDelete);$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
- <FilePatternsToDelete
- Condition="'%(CoreCppClean.FilePatternsToDelete)' == ''">$(XsdCleanFilePatternsToDelete)</FilePatternsToDelete>
- </CoreCppClean>
- </ItemGroup>
- </Target>
- <Target
- Name="XsdOutputDir"
- Condition="'@(CXX_Tree_Mapping_Rule)' != ''">
- <MakeDir Directories="@(CXX_Tree_Mapping_Rule->Metadata('OutDir')->Distinct()->ClearMetadata())" />
- </Target>
-</Project>
diff --git a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.xml b/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.xml deleted file mode 100644 index e37eb1c..0000000 --- a/xsd/dist/etc/vc-1x.0/xsd-cxx-tree.xml +++ /dev/null @@ -1,411 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">
- <Rule
- Name="CXX_Tree_Mapping_Rule"
- PageTemplate="tool"
- DisplayName="C++/Tree Mapping"
- Order="200">
- <Rule.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType="CXX_Tree_Mapping_Rule" />
- </Rule.DataSource>
- <Rule.Categories>
- <Category
- Name="General">
- <Category.DisplayName>
- <sys:String>General</sys:String>
- </Category.DisplayName>
- </Category>
- <Category
- Name="Command Line"
- Subtype="CommandLine">
- <Category.DisplayName>
- <sys:String>Command Line</sys:String>
- </Category.DisplayName>
- </Category>
- </Rule.Categories>
- <StringListProperty
- Name="Inputs"
- Category="Command Line"
- IsRequired="true"
- Switch=" ">
- <StringListProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType="CXX_Tree_Mapping_Rule"
- SourceType="Item" />
- </StringListProperty.DataSource>
- </StringListProperty>
- <BoolProperty
- Name="ProprietaryLicense"
- Subcategory="Licensing"
- HelpContext="0"
- DisplayName="Proprietary License"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license" />
- <EnumProperty
- Name="CxxStd"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="C++ Standard"
- Description="C++ Standard the generated code should conform to.">
- <EnumValue
- Name="0"
- DisplayName="c++98" />
- <EnumValue
- Name="1"
- DisplayName="c++11"
- Switch="--std c++11" />
- </EnumProperty>
- <BoolProperty
- Name="GenInline"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Inline"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline" />
- <BoolProperty
- Name="GenForward"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Forward"
- Description="Generate a separate header file with forward declarations for the types being generated."
- Switch="--generate-forward" />
- <BoolProperty
- Name="GenSerialization"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Serialization"
- Description="Generate serialization functions. Serialization functions convert the object model back to XML."
- Switch="--generate-serialization" />
- <BoolProperty
- Name="SupParsing"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Suppress Parsing"
- Description="Suppress generation of the parsing functions and constructors."
- Switch="--suppress-parsing" />
- <BoolProperty
- Name="GenPolymorphic"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Polymorphic"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic" />
- <BoolProperty
- Name="PolymorphicTypeAll"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="All Types Polymorphic"
- Description="Indicate that all types should be treated as polymorphic."
- Switch="--polymorphic-type-all" />
- <BoolProperty
- Name="GenOstream"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Ostream"
- Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
- Switch="--generate-ostream" />
- <BoolProperty
- Name="GenDoxygen"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Doxygen"
- Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
- Switch="--generate-doxygen" />
- <BoolProperty
- Name="GenComparison"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Comparison"
- Description="Generate comparison operators for complex types."
- Switch="--generate-comparison" />
- <BoolProperty
- Name="GenDefaultCtor"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Default Constructors"
- Description="Generate default constructors even for types that have required members."
- Switch="--generate-default-ctor" />
- <BoolProperty
- Name="GenFromBaseCtor"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate From-Base Constructors"
- Description="Generate constructors that expect an instance of a base type followed by all required members."
- Switch="--generate-from-base-ctor" />
- <BoolProperty
- Name="GenDetach"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Detach"
- Description="Generate detach functions for required elements and attributes."
- Switch="--generate-detach" />
- <BoolProperty
- Name="GenWildcard"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Wildcard"
- Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
- Switch="--generate-wildcard" />
- <BoolProperty
- Name="GenAnyType"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate anyType"
- Description="Extract and store content of the XML Schema anyType type as a DOM fragment."
- Switch="--generate-any-type" />
- <BoolProperty
- Name="GenElementType"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Element Types"
- Description="Generate types instead of parsing and serialization functions for root elements."
- Switch="--generate-element-type" />
- <BoolProperty
- Name="GenElementMap"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate Element Map"
- Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
- Switch="--generate-element-map" />
- <BoolProperty
- Name="GenIntellisense"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Generate IntelliSense"
- Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
- Switch="--generate-intellisense" />
- <StringProperty
- Name="OutDir"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="Output Directory"
- Description="Output directory for the generated files"
- Switch="--output-dir "[value]"" />
- <StringProperty
- Name="HeaderSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Header Suffix "
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix "[value]"" />
- <StringProperty
- Name="SourceSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Source Suffix"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix "[value]"" />
- <StringProperty
- Name="InlineSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Inline Suffix"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix "[value]"" />
- <StringProperty
- Name="ForwardSuffix"
- Subcategory="Output"
- HelpContext="0"
- DisplayName="C++ Forward Declaration Suffix"
- Description="Generated C++ forward declaration file suffix"
- Switch="--fwd-suffix "[value]"" />
- <StringListProperty
- Name="NamespaceMap"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Namespace Map"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a semicolon-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map "[value]"" />
- <StringListProperty
- Name="PolymorphicType"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Polymorphic Types"
- Description="Treat specified semicolon-separated list of types as roots of polymorphic type hierarchies."
- Switch="--polymorphic-type "[value]"" />
- <StringListProperty
- Name="RootElement"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Root Element"
- Description="Treat only specified semicolon-separated list of elements as document roots."
- Switch="--root-element "[value]"" />
- <StringListProperty
- Name="ExportSymbol"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Export Symbol"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol "[value]"" />
- <StringListProperty
- Name="HxxPrologue"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Header Prologue File"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file "[value]"" />
- <StringListProperty
- Name="HxxEpilogue"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Header Epilogue File"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file "[value]"" />
- <EnumProperty
- Name="CharType"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Char Type"
- Description="Character type to be used in the generated code.">
- <EnumValue
- Name="0"
- DisplayName="char" />
- <EnumValue
- Name="1"
- DisplayName="wchar_t"
- Switch="--char-type wchar_t" />
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Char Encoding"
- Description="Character encoding to be used bu the generated code.">
- <EnumValue
- Name="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)" />
- <EnumValue
- Name="1"
- DisplayName="ISO-8859-1"
- Switch="--char-encoding iso8859-1" />
- <EnumValue
- Name="2"
- DisplayName="Xerces-C++ local code page"
- Switch="--char-encoding lcp" />
- <EnumValue
- Name="3"
- DisplayName="Custom encoding"
- Switch="--char-encoding custom" />
- </EnumProperty>
- <EnumProperty
- Name="TypeNaming"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Type Naming"
- Description="Specify the type naming convention that should be used in the generated code.">
- <EnumValue
- Name="0"
- DisplayName="K&R" />
- <EnumValue
- Name="1"
- DisplayName="Java"
- Switch="--type-naming java" />
- <EnumValue
- Name="2"
- DisplayName="Upper Camel Case"
- Switch="--type-naming ucc" />
- </EnumProperty>
- <EnumProperty
- Name="FunctionNaming"
- Category="Code Generation"
- HelpContext="0"
- DisplayName="Function Naming"
- Description="Specify the function naming convention that should be used in the generated code.">
- <EnumValue
- Name="0"
- DisplayName="K&R" />
- <EnumValue
- Name="1"
- DisplayName="Java"
- Switch="--function-naming java" />
- <EnumValue
- Name="2"
- DisplayName="Lower Camel Case"
- Switch="--function-naming lcc" />
- </EnumProperty>
- <StringProperty
- Name="CommandLineTemplate"
- DisplayName="Command Line"
- Visible="False"
- IncludeInCommandLine="False" />
- <DynamicEnumProperty
- Name="CXX_Tree_Mapping_RuleBeforeTargets"
- Category="General"
- EnumProvider="Targets"
- IncludeInCommandLine="False">
- <DynamicEnumProperty.DisplayName>
- <sys:String>Execute Before</sys:String>
- </DynamicEnumProperty.DisplayName>
- <DynamicEnumProperty.Description>
- <sys:String>Specifies the targets for the build customization to run before.</sys:String>
- </DynamicEnumProperty.Description>
- <DynamicEnumProperty.ProviderSettings>
- <NameValuePair
- Name="Exclude"
- Value="^CXX_Tree_Mapping_RuleBeforeTargets|^Compute" />
- </DynamicEnumProperty.ProviderSettings>
- <DynamicEnumProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- HasConfigurationCondition="true" />
- </DynamicEnumProperty.DataSource>
- </DynamicEnumProperty>
- <DynamicEnumProperty
- Name="CXX_Tree_Mapping_RuleAfterTargets"
- Category="General"
- EnumProvider="Targets"
- IncludeInCommandLine="False">
- <DynamicEnumProperty.DisplayName>
- <sys:String>Execute After</sys:String>
- </DynamicEnumProperty.DisplayName>
- <DynamicEnumProperty.Description>
- <sys:String>Specifies the targets for the build customization to run after.</sys:String>
- </DynamicEnumProperty.Description>
- <DynamicEnumProperty.ProviderSettings>
- <NameValuePair
- Name="Exclude"
- Value="^CXX_Tree_Mapping_RuleAfterTargets|^Compute" />
- </DynamicEnumProperty.ProviderSettings>
- <DynamicEnumProperty.DataSource>
- <DataSource
- Persistence="ProjectFile"
- ItemType=""
- HasConfigurationCondition="true" />
- </DynamicEnumProperty.DataSource>
- </DynamicEnumProperty>
- <StringProperty
- Name="ExecutionDescription"
- DisplayName="Execution Description"
- Visible="False"
- IncludeInCommandLine="False" />
- <StringListProperty
- Name="AdditionalDependencies"
- DisplayName="Additional Dependencies"
- IncludeInCommandLine="False"
- Visible="true" />
- <StringProperty
- Subtype="AdditionalOptions"
- Name="AdditionalOptions"
- Category="Command Line">
- <StringProperty.DisplayName>
- <sys:String>Additional Options</sys:String>
- </StringProperty.DisplayName>
- <StringProperty.Description>
- <sys:String>Additional Options</sys:String>
- </StringProperty.Description>
- </StringProperty>
- </Rule>
- <ItemType
- Name="CXX_Tree_Mapping_Rule"
- DisplayName="C++/Tree Mapping" />
- <FileExtension
- Name="*.xsd"
- ContentType="CXX_Tree_Mapping_Rule" />
- <ContentType
- Name="CXX_Tree_Mapping_Rule"
- DisplayName="C++/Tree Mapping"
- ItemType="CXX_Tree_Mapping_Rule" />
-</ProjectSchemaDefinitions>
diff --git a/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules b/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules deleted file mode 100644 index a94a3ea..0000000 --- a/xsd/dist/etc/vc-8.0/xsd-cxx-parser.rules +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="CodeSynthesis XSD Compiler C++/Parser Mapping Rules"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="C++/Parser Mapping Rule"
- DisplayName="C++/Parser Mapping Rule"
- CommandLine="xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]"
- Outputs="[$OutDir]\$(InputName)[$SkelFileSuffix][$HeaderSuffix];[$OutDir]\$(InputName)[$SkelFileSuffix][$SourceSuffix]"
- FileExtensions="*.xsd"
- ExecutionDescription="xsd cxx-parser [Inputs]"
- ShowOnlyRuleProperties="false"
- >
- <Properties>
- <StringProperty
- Name="OutDir"
- DisplayName="Output Directory"
- Category="Output"
- Description="Output directory for the generated files"
- Switch="--output-dir [value]"
- DefaultValue="."
- />
- <BooleanProperty
- Name="ProprietaryLicense"
- DisplayName="Proprietary License"
- Category="Licensing"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license"
- />
- <StringProperty
- Name="HeaderSuffix"
- DisplayName="C++ Header Suffix "
- Category="Output"
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix [value]"
- DefaultValue=".hxx"
- />
- <StringProperty
- Name="SourceSuffix"
- DisplayName="C++ Source Suffix"
- Category="Output"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix [value]"
- DefaultValue=".cxx"
- />
- <StringProperty
- Name="InlineSuffix"
- DisplayName="C++ Inline Suffix"
- Category="Output"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix [value]"
- DefaultValue=".ixx"
- />
- <StringProperty
- Name="SkelFileSuffix"
- DisplayName="Parser Skeleton File Suffix"
- PropertyPageName="Output"
- Description="Use the provided suffix to construct the names of generated parser skeleton file."
- Switch="--skel-file-suffix [value]"
- DefaultValue="-pskel"
- />
- <EnumProperty
- Name="CharType"
- DisplayName="Char Type"
- PropertyPageName="Code Generation"
- Description="Character type to be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="char"
- />
- <EnumValue
- Value="1"
- Switch="--char-type wchar_t"
- DisplayName="wchar_t"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- DisplayName="Char Encoding"
- PropertyPageName="Code Generation"
- Description="Character encoding to be used bu the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
- />
- <EnumValue
- Value="1"
- Switch="--char-encoding iso8859-1"
- DisplayName="ISO-8859-1"
- />
- <EnumValue
- Value="2"
- Switch="--char-encoding lcp"
- DisplayName="Xerces-C++ local code page"
- />
- <EnumValue
- Value="3"
- Switch="--char-encoding custom"
- DisplayName="Custom encoding"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="XMLParser"
- DisplayName="Underlying XML Parser"
- PropertyPageName="Code Generation"
- Description="Use the specified parser as the underlying XML parser."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="xerces"
- />
- <EnumValue
- Value="1"
- Switch="--xml-parser expat"
- DisplayName="expat"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="NamespaceMap"
- DisplayName="Namespace Map"
- PropertyPageName="Code Generation"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <StringProperty
- Name="TypeMap"
- DisplayName="Type Map"
- PropertyPageName="Code Generation"
- Description="Specify type map files as a comma-separated list."
- Switch="--type-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="GenInline"
- DisplayName="Generate Inline"
- PropertyPageName="Code Generation"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline"
- />
- <BooleanProperty
- Name="GenValidation"
- DisplayName="Generate Validation Code"
- PropertyPageName="Code Generation"
- Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
- Switch="--generate-validation"
- />
- <BooleanProperty
- Name="SupValidation"
- DisplayName="Suppress Validation Code"
- PropertyPageName="Code Generation"
- Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
- Switch="--suppress-validation"
- />
- <BooleanProperty
- Name="GenPolymorphic"
- DisplayName="Generate Polymorphic"
- PropertyPageName="Code Generation"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic"
- />
- <StringProperty
- Name="SkelTypeSuffix"
- DisplayName="Parser Skeleton Type Suffix"
- PropertyPageName="Code Generation"
- Description="Use the provided suffix to construct the names of generated parser skeletons."
- Switch="--skel-type-suffix [value]"
- DefaultValue="_pskel"
- />
- <StringProperty
- Name="ExportSymbol"
- DisplayName="Export Symbol"
- PropertyPageName="Code Generation"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol [value]"
- />
- <StringProperty
- Name="HxxPrologue"
- DisplayName="Header Prologue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file [value]"
- />
- <StringProperty
- Name="HxxEpilogue"
- DisplayName="Header Epilogue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file [value]"
- />
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules b/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules deleted file mode 100644 index b3e921a..0000000 --- a/xsd/dist/etc/vc-8.0/xsd-cxx-tree.rules +++ /dev/null @@ -1,320 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="CodeSynthesis XSD Compiler C++/Tree Mapping Rules"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="C++/Tree Mapping Rule"
- DisplayName="C++/Tree Mapping Rule"
- CommandLine="xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]"
- Outputs="[$OutDir]\$(InputName)[$HeaderSuffix];[$OutDir]\$(InputName)[$SourceSuffix]"
- FileExtensions="*.xsd"
- ExecutionDescription="xsd cxx-tree [Inputs]"
- ShowOnlyRuleProperties="false"
- >
- <Properties>
- <StringProperty
- Name="OutDir"
- DisplayName="Output Directory"
- Category="Output"
- Description="Output directory for the generated files"
- Switch="--output-dir [value]"
- DefaultValue="."
- />
- <BooleanProperty
- Name="ProprietaryLicense"
- DisplayName="Proprietary License"
- Category="Licensing"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license"
- />
- <StringProperty
- Name="HeaderSuffix"
- DisplayName="C++ Header Suffix "
- Category="Output"
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix [value]"
- DefaultValue=".hxx"
- />
- <StringProperty
- Name="SourceSuffix"
- DisplayName="C++ Source Suffix"
- Category="Output"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix [value]"
- DefaultValue=".cxx"
- />
- <StringProperty
- Name="InlineSuffix"
- DisplayName="C++ Inline Suffix"
- Category="Output"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix [value]"
- DefaultValue=".ixx"
- />
- <StringProperty
- Name="ForwardSuffix"
- DisplayName="C++ Forward Declaration Suffix"
- Category="Output"
- Description="Generated C++ forward declaration file suffix"
- Switch="--fwd-suffix [value]"
- DefaultValue="-fwd.hxx"
- />
- <EnumProperty
- Name="CharType"
- DisplayName="Char Type"
- PropertyPageName="Code Generation"
- Description="Character type to be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="char"
- />
- <EnumValue
- Value="1"
- Switch="--char-type wchar_t"
- DisplayName="wchar_t"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- DisplayName="Char Encoding"
- PropertyPageName="Code Generation"
- Description="Character encoding to be used bu the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
- />
- <EnumValue
- Value="1"
- Switch="--char-encoding iso8859-1"
- DisplayName="ISO-8859-1"
- />
- <EnumValue
- Value="2"
- Switch="--char-encoding lcp"
- DisplayName="Xerces-C++ local code page"
- />
- <EnumValue
- Value="3"
- Switch="--char-encoding custom"
- DisplayName="Custom encoding"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="NamespaceMap"
- DisplayName="Namespace Map"
- PropertyPageName="Code Generation"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="GenInline"
- DisplayName="Generate Inline"
- PropertyPageName="Code Generation"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline"
- />
- <BooleanProperty
- Name="GenForward"
- DisplayName="Generate Forward"
- PropertyPageName="Code Generation"
- Description="Generate a separate header file with forward declarations for the types being generated."
- Switch="--generate-forward"
- />
- <BooleanProperty
- Name="GenSerialization"
- DisplayName="Generate Serialization"
- PropertyPageName="Code Generation"
- Description="Generate serialization functions. Serialization functions convert the object model back to XML."
- Switch="--generate-serialization"
- />
- <BooleanProperty
- Name="SupParsing"
- DisplayName="Suppress Parsing"
- PropertyPageName="Code Generation"
- Description="Suppress generation of the parsing functions and constructors."
- Switch="--suppress-parsing"
- />
- <BooleanProperty
- Name="GenPolymorphic"
- DisplayName="Generate Polymorphic"
- PropertyPageName="Code Generation"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic"
- />
- <StringProperty
- Name="PolymorphicType"
- DisplayName="Polymorphic Types"
- PropertyPageName="Code Generation"
- Description="Treat specified comma-separated list of types as roots of polymorphic type hierarchies."
- Switch="--polymorphic-type [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="PolymorphicTypeAll"
- DisplayName="All Types Polymorphic"
- PropertyPageName="Code Generation"
- Description="Indicate that all types should be treated as polymorphic."
- Switch="--polymorphic-type-all"
- />
- <BooleanProperty
- Name="GenOstream"
- DisplayName="Generate Ostream"
- PropertyPageName="Code Generation"
- Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
- Switch="--generate-ostream"
- />
- <BooleanProperty
- Name="GenDoxygen"
- DisplayName="Generate Doxygen"
- PropertyPageName="Code Generation"
- Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
- Switch="--generate-doxygen"
- />
- <BooleanProperty
- Name="GenComparison"
- DisplayName="Generate Comparison"
- PropertyPageName="Code Generation"
- Description="Generate comparison operators for complex types."
- Switch="--generate-comparison"
- />
- <BooleanProperty
- Name="GenDefaultCtor"
- DisplayName="Generate Default Constructors"
- PropertyPageName="Code Generation"
- Description="Generate default constructors even for types that have required members."
- Switch="--generate-default-ctor"
- />
- <BooleanProperty
- Name="GenFromBaseCtor"
- DisplayName="Generate From-Base Constructors"
- PropertyPageName="Code Generation"
- Description="Generate constructors that expect an instance of a base type followed by all required members."
- Switch="--generate-from-base-ctor"
- />
- <BooleanProperty
- Name="GenDetach"
- DisplayName="Generate Detach"
- PropertyPageName="Code Generation"
- Description="Generate detach functions for required elements and attributes."
- Switch="--generate-detach"
- />
- <BooleanProperty
- Name="GenWildcard"
- DisplayName="Generate Wildcard"
- PropertyPageName="Code Generation"
- Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
- Switch="--generate-wildcard"
- />
- <BooleanProperty
- Name="GenElementType"
- DisplayName="Generate Element Types"
- PropertyPageName="Code Generation"
- Description="Generate types instead of parsing and serialization functions for root elements."
- Switch="--generate-element-type"
- />
- <BooleanProperty
- Name="GenElementMap"
- DisplayName="Generate Element Map"
- PropertyPageName="Code Generation"
- Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
- Switch="--generate-element-map"
- />
- <BooleanProperty
- Name="GenIntellisense"
- DisplayName="Generate IntelliSense"
- PropertyPageName="Code Generation"
- Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
- Switch="--generate-intellisense"
- DefaultValue="true"
- />
- <EnumProperty
- Name="TypeNaming"
- DisplayName="Type Naming"
- PropertyPageName="Code Generation"
- Description="Specify the type naming convention that should be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="K&R"
- />
- <EnumValue
- Value="1"
- Switch="--type-naming java"
- DisplayName="Java"
- />
- <EnumValue
- Value="2"
- Switch="--type-naming ucc"
- DisplayName="Upper Camel Case"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="FunctionNaming"
- DisplayName="Function Naming"
- PropertyPageName="Code Generation"
- Description="Specify the function naming convention that should be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="K&R"
- />
- <EnumValue
- Value="1"
- Switch="--function-naming java"
- DisplayName="Java"
- />
- <EnumValue
- Value="2"
- Switch="--function-naming lcc"
- DisplayName="Lower Camel Case"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="RootElement"
- DisplayName="Root Element"
- PropertyPageName="Code Generation"
- Description="Treat only specified comma-separated list of elements as document roots."
- Switch="--root-element [value]"
- Delimited="true"
- Delimiters=","
- />
- <StringProperty
- Name="ExportSymbol"
- DisplayName="Export Symbol"
- PropertyPageName="Code Generation"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol [value]"
- />
- <StringProperty
- Name="HxxPrologue"
- DisplayName="Header Prologue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file [value]"
- />
- <StringProperty
- Name="HxxEpilogue"
- DisplayName="Header Epilogue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file [value]"
- />
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules b/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules deleted file mode 100644 index a94a3ea..0000000 --- a/xsd/dist/etc/vc-9.0/xsd-cxx-parser.rules +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="CodeSynthesis XSD Compiler C++/Parser Mapping Rules"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="C++/Parser Mapping Rule"
- DisplayName="C++/Parser Mapping Rule"
- CommandLine="xsd.exe cxx-parser [AllOptions] [AdditionalOptions] [Inputs]"
- Outputs="[$OutDir]\$(InputName)[$SkelFileSuffix][$HeaderSuffix];[$OutDir]\$(InputName)[$SkelFileSuffix][$SourceSuffix]"
- FileExtensions="*.xsd"
- ExecutionDescription="xsd cxx-parser [Inputs]"
- ShowOnlyRuleProperties="false"
- >
- <Properties>
- <StringProperty
- Name="OutDir"
- DisplayName="Output Directory"
- Category="Output"
- Description="Output directory for the generated files"
- Switch="--output-dir [value]"
- DefaultValue="."
- />
- <BooleanProperty
- Name="ProprietaryLicense"
- DisplayName="Proprietary License"
- Category="Licensing"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license"
- />
- <StringProperty
- Name="HeaderSuffix"
- DisplayName="C++ Header Suffix "
- Category="Output"
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix [value]"
- DefaultValue=".hxx"
- />
- <StringProperty
- Name="SourceSuffix"
- DisplayName="C++ Source Suffix"
- Category="Output"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix [value]"
- DefaultValue=".cxx"
- />
- <StringProperty
- Name="InlineSuffix"
- DisplayName="C++ Inline Suffix"
- Category="Output"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix [value]"
- DefaultValue=".ixx"
- />
- <StringProperty
- Name="SkelFileSuffix"
- DisplayName="Parser Skeleton File Suffix"
- PropertyPageName="Output"
- Description="Use the provided suffix to construct the names of generated parser skeleton file."
- Switch="--skel-file-suffix [value]"
- DefaultValue="-pskel"
- />
- <EnumProperty
- Name="CharType"
- DisplayName="Char Type"
- PropertyPageName="Code Generation"
- Description="Character type to be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="char"
- />
- <EnumValue
- Value="1"
- Switch="--char-type wchar_t"
- DisplayName="wchar_t"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- DisplayName="Char Encoding"
- PropertyPageName="Code Generation"
- Description="Character encoding to be used bu the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
- />
- <EnumValue
- Value="1"
- Switch="--char-encoding iso8859-1"
- DisplayName="ISO-8859-1"
- />
- <EnumValue
- Value="2"
- Switch="--char-encoding lcp"
- DisplayName="Xerces-C++ local code page"
- />
- <EnumValue
- Value="3"
- Switch="--char-encoding custom"
- DisplayName="Custom encoding"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="XMLParser"
- DisplayName="Underlying XML Parser"
- PropertyPageName="Code Generation"
- Description="Use the specified parser as the underlying XML parser."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="xerces"
- />
- <EnumValue
- Value="1"
- Switch="--xml-parser expat"
- DisplayName="expat"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="NamespaceMap"
- DisplayName="Namespace Map"
- PropertyPageName="Code Generation"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <StringProperty
- Name="TypeMap"
- DisplayName="Type Map"
- PropertyPageName="Code Generation"
- Description="Specify type map files as a comma-separated list."
- Switch="--type-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="GenInline"
- DisplayName="Generate Inline"
- PropertyPageName="Code Generation"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline"
- />
- <BooleanProperty
- Name="GenValidation"
- DisplayName="Generate Validation Code"
- PropertyPageName="Code Generation"
- Description="Generate validation code which ensures that instance documents conform to the schema. This is the default for the Expat XML parser."
- Switch="--generate-validation"
- />
- <BooleanProperty
- Name="SupValidation"
- DisplayName="Suppress Validation Code"
- PropertyPageName="Code Generation"
- Description="Suppress generation of validation code. This is the default for the Xerces-C++ XML parser."
- Switch="--suppress-validation"
- />
- <BooleanProperty
- Name="GenPolymorphic"
- DisplayName="Generate Polymorphic"
- PropertyPageName="Code Generation"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic"
- />
- <StringProperty
- Name="SkelTypeSuffix"
- DisplayName="Parser Skeleton Type Suffix"
- PropertyPageName="Code Generation"
- Description="Use the provided suffix to construct the names of generated parser skeletons."
- Switch="--skel-type-suffix [value]"
- DefaultValue="_pskel"
- />
- <StringProperty
- Name="ExportSymbol"
- DisplayName="Export Symbol"
- PropertyPageName="Code Generation"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol [value]"
- />
- <StringProperty
- Name="HxxPrologue"
- DisplayName="Header Prologue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file [value]"
- />
- <StringProperty
- Name="HxxEpilogue"
- DisplayName="Header Epilogue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file [value]"
- />
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules b/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules deleted file mode 100644 index d82d618..0000000 --- a/xsd/dist/etc/vc-9.0/xsd-cxx-tree.rules +++ /dev/null @@ -1,319 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="CodeSynthesis XSD Compiler C++/Tree Mapping Rules"
- Version="8.00"
- >
- <Rules>
- <CustomBuildRule
- Name="C++/Tree Mapping Rule"
- DisplayName="C++/Tree Mapping Rule"
- CommandLine="xsd.exe cxx-tree [AllOptions] [AdditionalOptions] [Inputs]"
- Outputs="[$OutDir]\$(InputName)[$HeaderSuffix];[$OutDir]\$(InputName)[$SourceSuffix]"
- FileExtensions="*.xsd"
- ExecutionDescription="xsd cxx-tree [Inputs]"
- ShowOnlyRuleProperties="false"
- >
- <Properties>
- <StringProperty
- Name="OutDir"
- DisplayName="Output Directory"
- Category="Output"
- Description="Output directory for the generated files"
- Switch="--output-dir [value]"
- DefaultValue="."
- />
- <BooleanProperty
- Name="ProprietaryLicense"
- DisplayName="Proprietary License"
- Category="Licensing"
- Description="Indicate that the generated code is licensed under a proprietary license instead of the GPL."
- Switch="--proprietary-license"
- />
- <StringProperty
- Name="HeaderSuffix"
- DisplayName="C++ Header Suffix "
- Category="Output"
- Description="Generated C++ header file suffix"
- Switch="--hxx-suffix [value]"
- DefaultValue=".hxx"
- />
- <StringProperty
- Name="SourceSuffix"
- DisplayName="C++ Source Suffix"
- Category="Output"
- Description="Generated C++ source file suffix"
- Switch="--cxx-suffix [value]"
- DefaultValue=".cxx"
- />
- <StringProperty
- Name="InlineSuffix"
- DisplayName="C++ Inline Suffix"
- Category="Output"
- Description="Generated C++ inline file suffix"
- Switch="--ixx-suffix [value]"
- DefaultValue=".ixx"
- />
- <StringProperty
- Name="ForwardSuffix"
- DisplayName="C++ Forward Declaration Suffix"
- Category="Output"
- Description="Generated C++ forward declaration file suffix"
- Switch="--fwd-suffix [value]"
- DefaultValue="-fwd.hxx"
- />
- <EnumProperty
- Name="CharType"
- DisplayName="Char Type"
- PropertyPageName="Code Generation"
- Description="Character type to be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="char"
- />
- <EnumValue
- Value="1"
- Switch="--char-type wchar_t"
- DisplayName="wchar_t"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="CharEncoding"
- DisplayName="Char Encoding"
- PropertyPageName="Code Generation"
- Description="Character encoding to be used bu the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="UTF-8 (char)/UTF-16 (wchar_t)"
- />
- <EnumValue
- Value="1"
- Switch="--char-encoding iso8859-1"
- DisplayName="ISO-8859-1"
- />
- <EnumValue
- Value="2"
- Switch="--char-encoding lcp"
- DisplayName="Xerces-C++ local code page"
- />
- <EnumValue
- Value="3"
- Switch="--char-encoding custom"
- DisplayName="Custom encoding"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="NamespaceMap"
- DisplayName="Namespace Map"
- PropertyPageName="Code Generation"
- Description="Map XML Schema namespaces to C++ namespaces by specifying a comma-separated list of mapping rules in the form <xml-ns>=<cxx-ns> where <xml-ns> stands for an XML Schema namespace and <cxx-ns> - for a C++ namespace."
- Switch="--namespace-map [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="GenInline"
- DisplayName="Generate Inline"
- PropertyPageName="Code Generation"
- Description="Generate simple functions inline. This option triggers creation of the inline file."
- Switch="--generate-inline"
- />
- <BooleanProperty
- Name="GenForward"
- DisplayName="Generate Forward"
- PropertyPageName="Code Generation"
- Description="Generate a separate header file with forward declarations for the types being generated."
- Switch="--generate-forward"
- />
- <BooleanProperty
- Name="GenSerialization"
- DisplayName="Generate Serialization"
- PropertyPageName="Code Generation"
- Description="Generate serialization functions. Serialization functions convert the object model back to XML."
- Switch="--generate-serialization"
- />
- <BooleanProperty
- Name="SupParsing"
- DisplayName="Suppress Parsing"
- PropertyPageName="Code Generation"
- Description="Suppress generation of the parsing functions and constructors."
- Switch="--suppress-parsing"
- />
- <BooleanProperty
- Name="GenPolymorphic"
- DisplayName="Generate Polymorphic"
- PropertyPageName="Code Generation"
- Description="Generate polymorphism-aware code. Specify this option if you use substitution groups or xsi:type."
- Switch="--generate-polymorphic"
- />
- <StringProperty
- Name="PolymorphicType"
- DisplayName="Polymorphic Types"
- PropertyPageName="Code Generation"
- Description="Treat specified comma-separated list of types as roots of polymorphic type hierarchies."
- Switch="--polymorphic-type [value]"
- Delimited="true"
- Delimiters=","
- />
- <BooleanProperty
- Name="PolymorphicTypeAll"
- DisplayName="All Types Polymorphic"
- PropertyPageName="Code Generation"
- Description="Indicate that all types should be treated as polymorphic."
- Switch="--polymorphic-type-all"
- />
- <BooleanProperty
- Name="GenOstream"
- DisplayName="Generate Ostream"
- PropertyPageName="Code Generation"
- Description="Generate ostream insertion operators for generated types. This allows to easily print a fragment or the whole object model for debugging or logging."
- Switch="--generate-ostream"
- />
- <BooleanProperty
- Name="GenDoxygen"
- DisplayName="Generate Doxygen"
- PropertyPageName="Code Generation"
- Description="Generate documentation comments suitable for extraction by the Doxygen documentation system."
- Switch="--generate-doxygen"
- />
- <BooleanProperty
- Name="GenComparison"
- DisplayName="Generate Comparison"
- PropertyPageName="Code Generation"
- Description="Generate comparison operators for complex types."
- Switch="--generate-comparison"
- />
- <BooleanProperty
- Name="GenDefaultCtor"
- DisplayName="Generate Default Constructors"
- PropertyPageName="Code Generation"
- Description="Generate default constructors even for types that have required members."
- Switch="--generate-default-ctor"
- />
- <BooleanProperty
- Name="GenFromBaseCtor"
- DisplayName="Generate From-Base Constructors"
- PropertyPageName="Code Generation"
- Description="Generate constructors that expect an instance of a base type followed by all required members."
- Switch="--generate-from-base-ctor"
- />
- <BooleanProperty
- Name="GenDetach"
- DisplayName="Generate Detach"
- PropertyPageName="Code Generation"
- Description="Generate detach functions for required elements and attributes."
- Switch="--generate-detach"
- />
- <BooleanProperty
- Name="GenWildcard"
- DisplayName="Generate Wildcard"
- PropertyPageName="Code Generation"
- Description="Generate accessors and modifiers as well as parsing and serialization code for XML Schema wildcards (any and anyAttribute)."
- Switch="--generate-wildcard"
- />
- <BooleanProperty
- Name="GenElementType"
- DisplayName="Generate Element Types"
- PropertyPageName="Code Generation"
- Description="Generate types instead of parsing and serialization functions for root elements."
- Switch="--generate-element-type"
- />
- <BooleanProperty
- Name="GenElementMap"
- DisplayName="Generate Element Map"
- PropertyPageName="Code Generation"
- Description="Generate a root element map that allows uniform parsing and serialization of multiple root elements."
- Switch="--generate-element-map"
- />
- <BooleanProperty
- Name="GenIntellisense"
- DisplayName="Generate IntelliSense"
- PropertyPageName="Code Generation"
- Description="Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0)."
- Switch="--generate-intellisense"
- />
- <EnumProperty
- Name="TypeNaming"
- DisplayName="Type Naming"
- PropertyPageName="Code Generation"
- Description="Specify the type naming convention that should be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="K&R"
- />
- <EnumValue
- Value="1"
- Switch="--type-naming java"
- DisplayName="Java"
- />
- <EnumValue
- Value="2"
- Switch="--type-naming ucc"
- DisplayName="Upper Camel Case"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="FunctionNaming"
- DisplayName="Function Naming"
- PropertyPageName="Code Generation"
- Description="Specify the function naming convention that should be used in the generated code."
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="K&R"
- />
- <EnumValue
- Value="1"
- Switch="--function-naming java"
- DisplayName="Java"
- />
- <EnumValue
- Value="2"
- Switch="--function-naming lcc"
- DisplayName="Lower Camel Case"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="RootElement"
- DisplayName="Root Element"
- PropertyPageName="Code Generation"
- Description="Treat only specified comma-separated list of elements as document roots."
- Switch="--root-element [value]"
- Delimited="true"
- Delimiters=","
- />
- <StringProperty
- Name="ExportSymbol"
- DisplayName="Export Symbol"
- PropertyPageName="Code Generation"
- Description="Insert the specified symbol in places where DLL export/import control statements (__declspec(dllexport/dllimport)) are necessary."
- Switch="--export-symbol [value]"
- />
- <StringProperty
- Name="HxxPrologue"
- DisplayName="Header Prologue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the beginning of the header file."
- Switch="--hxx-prologue-file [value]"
- />
- <StringProperty
- Name="HxxEpilogue"
- DisplayName="Header Epilogue File"
- PropertyPageName="Code Generation"
- Description="Insert the contents of the file specified at the end of the header file."
- Switch="--hxx-epilogue-file [value]"
- />
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/xsd/dist/examples/build/cxx/compilers.make b/xsd/dist/examples/build/cxx/compilers.make deleted file mode 100644 index a7f6296..0000000 --- a/xsd/dist/examples/build/cxx/compilers.make +++ /dev/null @@ -1,118 +0,0 @@ -# file : examples/build/cxx/compilers.make -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -CXX := g++ - -cxx_sign := $(shell t=`$(CXX) -V 2>&1`; if test $$? -eq 0; then echo $$t; fi) - -ifeq ($(cxx_sign),) -cxx_sign := $(shell t=`$(CXX) --version 2>&1`; if test $$? -eq 0; then echo $$t; fi) -endif - -# IBM XL C++ V7.0 returns error code when called with the -qversion option. This -# complicates our life quite a bit. -# -ifeq ($(cxx_sign),) -cxx_sign := $(shell t=`$(CXX) -qversion 2>/dev/null`; echo $$t) -ifneq ($(shell echo '$(cxx_sign)' | sed -e 's/^.*IBM XL C\/C.. .*$$//'),) -cxx_sign := -endif -endif - -cxx_id := - -ifneq ($(cxx_sign),) - -# GNU g++ (g++) -# -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* (GCC) .*$$//'),) -cxx_id := gnu -endif -endif - -# g++ 4.3 removed GCC for some reason so check for g++ also. -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^g++.*$$//'),) -cxx_id := gnu -endif -endif - -# Clang -# -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^.*clang.*$$//'),) -cxx_id := clang -endif -endif - -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^.*Clang.*$$//'),) -cxx_id := clang -endif -endif - -# Sun C++ (CC) -# -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* Sun C.. .*$$//'),) -cxx_id := sun -endif -endif - - -# HP C++ (aCC) -# -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* HP aC..\/ANSI C .* A\.06\..*$$//'),) -cxx_id := hp -endif -endif - -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^[^ ]* HP C\/aC.. .* A\.06\..*$$//'),) -cxx_id := hp -endif -endif - -# Intel C++ (icpc) -# - -# 9.x -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^Intel(R) C.. .*$$//'),) -cxx_id := intel -endif -endif - -# 8.x -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^8\..$$//'),) -cxx_id := intel -endif -endif - - -# IBM XL C++ -# -ifeq ($(cxx_id),) -ifeq ($(shell echo '$(cxx_sign)' | sed -e 's/^.*IBM XL C\/C.. .*$$//'),) -cxx_id := ibm -endif -endif - - -# Unknown -# -ifeq ($(cxx_id),) -$(warning unknown C++ compiler signature '$(cxx_sign)', continuing anyway) -endif - - -else -$(warning unable to obtain compiler signature for '$(CXX)', continuing anyway) -endif - -#$(warning $(cxx_sign)) -#$(warning $(cxx_id)) diff --git a/xsd/dist/examples/build/cxx/rules.make b/xsd/dist/examples/build/cxx/rules.make deleted file mode 100644 index 3f6c38c..0000000 --- a/xsd/dist/examples/build/cxx/rules.make +++ /dev/null @@ -1,58 +0,0 @@ -# file : examples/build/cxx/rules.make -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(root)/build/cxx/compilers.make - - -# GNU g++ -# -ifeq ($(cxx_id),gnu) - CXXFLAGS := -W -Wall -O3 -endif - -# Clang -# -ifeq ($(cxx_id),clang) - CXXFLAGS := -W -O3 -endif - -# Intel C++ -# -ifeq ($(cxx_id),intel) - CXXFLAGS := -w1 -O2 -endif - - -# Sun C++ -# -ifeq ($(cxx_id),sun) - CXXFLAGS := -O -endif - - -# HP aCC -# -ifeq ($(cxx_id),hp) - - # By default Xerces-C++ is built with -mt for aCC. - # 2334 no suitable copy constructor (e.g., for std::auto_ptr) - # - CXXFLAGS := -Aa -O -mt +W2334 -endif - - -# IBM XL C++ -# -ifeq ($(cxx_id),ibm) - CXXFLAGS := -qrtti -O -endif - - -# Rules. -# -%.o: %.cxx - $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@ - -%: %.o - $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) diff --git a/xsd/dist/examples/build/xsd/common.make b/xsd/dist/examples/build/xsd/common.make deleted file mode 100644 index 21d39e7..0000000 --- a/xsd/dist/examples/build/xsd/common.make +++ /dev/null @@ -1,10 +0,0 @@ -# file : examples/build/xsd/common.make -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -XSD := $(shell if test -x $(root)/../bin/xsd; \ - then echo $(root)/../bin/xsd; \ - else echo xsd; fi) - -override CPPFLAGS += $(shell if test -d $(root)/../libxsd; \ - then echo -I$(root)/../libxsd; fi) diff --git a/xsd/dist/examples/build/xsd/parser-rules.make b/xsd/dist/examples/build/xsd/parser-rules.make deleted file mode 100644 index c39b85c..0000000 --- a/xsd/dist/examples/build/xsd/parser-rules.make +++ /dev/null @@ -1,22 +0,0 @@ -# file : examples/build/xsd/parser-rules.make -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(root)/build/xsd/common.make - -XML_PARSER := xerces - -ifeq ($(XML_PARSER),xerces) -override LIBS := -lxerces-c $(LIBS) -else -override LIBS := -lexpat $(LIBS) -endif - -override XSDFLAGS += --xml-parser $(XML_PARSER) - -# Rules. -# -.PRECIOUS: %-pskel.hxx %-pskel.ixx %-pskel.cxx - -%-pskel.hxx %-pskel.ixx %-pskel.cxx: %.xsd - $(XSD) cxx-parser $(XSDFLAGS) $< diff --git a/xsd/dist/examples/build/xsd/tree-rules.make b/xsd/dist/examples/build/xsd/tree-rules.make deleted file mode 100644 index 7ff3529..0000000 --- a/xsd/dist/examples/build/xsd/tree-rules.make +++ /dev/null @@ -1,14 +0,0 @@ -# file : examples/build/xsd/tree-rules.make -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(root)/build/xsd/common.make - -override LIBS := -lxerces-c $(LIBS) - -# Rules. -# -.PRECIOUS: %.cxx %.hxx %.ixx - -%.cxx %.hxx %.ixx: %.xsd - $(XSD) cxx-tree $(XSDFLAGS) $< diff --git a/xsd/dist/examples/cxx/makefile b/xsd/dist/examples/cxx/makefile deleted file mode 100644 index 4882e9a..0000000 --- a/xsd/dist/examples/cxx/makefile +++ /dev/null @@ -1,11 +0,0 @@ -dirs := parser tree - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj b/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj deleted file mode 100644 index c20e5be..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj +++ /dev/null @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>generated</ProjectName>
- <ProjectGuid>{4277B39A-C9FB-4F10-8223-8DD38053EDA0}</ProjectGuid>
- <RootNamespace>generated</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj.filters deleted file mode 100644 index b2cc277..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{6241A332-00FB-43D7-8E2D-4277B261F512}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7B4073-4744-4C7E-9B74-B5B7D8628B23}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{64b9ddc3-e796-405a-84e3-6e33b610b7ba}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj b/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj deleted file mode 100644 index 1df7dd5..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>generated</ProjectName>
- <ProjectGuid>{4277B39A-C9FB-4F10-8223-8DD38053EDA0}</ProjectGuid>
- <RootNamespace>generated</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj.filters deleted file mode 100644 index b2cc277..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{6241A332-00FB-43D7-8E2D-4277B261F512}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7B4073-4744-4C7E-9B74-B5B7D8628B23}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{64b9ddc3-e796-405a-84e3-6e33b610b7ba}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj b/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj deleted file mode 100644 index 21bce27..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>generated</ProjectName>
- <ProjectGuid>{4277B39A-C9FB-4F10-8223-8DD38053EDA0}</ProjectGuid>
- <RootNamespace>generated</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj.filters deleted file mode 100644 index b2cc277..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{6241A332-00FB-43D7-8E2D-4277B261F512}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7B4073-4744-4C7E-9B74-B5B7D8628B23}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{64b9ddc3-e796-405a-84e3-6e33b610b7ba}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="library-driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc8.vcproj b/xsd/dist/examples/cxx/parser/generated/generated-vc8.vcproj deleted file mode 100644 index ee4e0f6..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc8.vcproj +++ /dev/null @@ -1,427 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="generated"
- ProjectGUID="{4277B39A-C9FB-4F10-8223-8DD38053EDA0}"
- RootNamespace="generated"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{6241A332-00FB-43D7-8E2D-4277B261F512}"
- >
- <File
- RelativePath=".\library-driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{5F7B4073-4744-4C7E-9B74-B5B7D8628B23}"
- >
- <File
- RelativePath=".\library-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/generated/generated-vc9.vcproj b/xsd/dist/examples/cxx/parser/generated/generated-vc9.vcproj deleted file mode 100644 index 2ffc6dd..0000000 --- a/xsd/dist/examples/cxx/parser/generated/generated-vc9.vcproj +++ /dev/null @@ -1,424 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="generated"
- ProjectGUID="{4277B39A-C9FB-4F10-8223-8DD38053EDA0}"
- RootNamespace="generated"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{6241A332-00FB-43D7-8E2D-4277B261F512}"
- >
- <File
- RelativePath=".\library-driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{5F7B4073-4744-4C7E-9B74-B5B7D8628B23}"
- >
- <File
- RelativePath=".\library-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-print-impl --generate-test-driver --force-overwrite library.xsd"
- Outputs="library-pskel.hxx;library-pskel.cxx;library-pimpl.hxx;library-pimpl.cxx;library-driver.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/generated/makefile b/xsd/dist/examples/cxx/parser/generated/makefile deleted file mode 100644 index b7bb4b8..0000000 --- a/xsd/dist/examples/cxx/parser/generated/makefile +++ /dev/null @@ -1,49 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --generate-print-impl --generate-test-driver - -# If you are basing your own code on this example and make changes -# to the sample implementation and/or test driver, make sure you -# remove this option or your changes will be lost forever. -# -override XSDFLAGS += --force-overwrite - -# Build -# -library-driver: library-driver.o library-pskel.o library-pimpl.o - -library-driver.o: library-driver.cxx library-pimpl.hxx library-pskel.hxx -library-pimpl.o: library-pimpl.cxx library-pimpl.hxx library-pskel.hxx -library-pskel.o: library-pskel.cxx library-pskel.hxx - -library-pskel.hxx \ -library-pskel.cxx \ -library-pimpl.hxx \ -library-pimpl.cxx \ -library-driver.cxx : library.xsd - -# Change the pattern rule from parser-rules.make to include the sample -# implementation and test driver. -# -.PRECIOUS: %-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx %-driver.cxx - -%-pskel.hxx %-pskel.cxx %-pimpl.hxx %-pimpl.cxx %-driver.cxx: %.xsd - $(XSD) cxx-parser $(XSDFLAGS) $< - - -# Test. -# -.PHONY: test -test: library-driver library.xml - ./library-driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library-driver.?xx library-pimpl.?xx library-pskel.?xx - rm -f library-driver.o library-pimpl.o library-pskel.o library-driver diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj b/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj deleted file mode 100644 index 8478a29..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj +++ /dev/null @@ -1,201 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{683E9D46-FCC7-4163-984B-9F399169CF7F}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj.filters deleted file mode 100644 index 26513bb..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E9BF8C86-0B39-4E45-81D2-35AD75F02C5C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3490E63E-27F8-4E29-996F-79F99714DDB3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{338ac052-a215-4fe4-a66b-f6be21b5ffa4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj b/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj deleted file mode 100644 index 48a41ac..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{683E9D46-FCC7-4163-984B-9F399169CF7F}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj.filters deleted file mode 100644 index 26513bb..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E9BF8C86-0B39-4E45-81D2-35AD75F02C5C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3490E63E-27F8-4E29-996F-79F99714DDB3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{338ac052-a215-4fe4-a66b-f6be21b5ffa4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj b/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj deleted file mode 100644 index 22ac525..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{683E9D46-FCC7-4163-984B-9F399169CF7F}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello-pskel.hxx;hello-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj.filters deleted file mode 100644 index 26513bb..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E9BF8C86-0B39-4E45-81D2-35AD75F02C5C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3490E63E-27F8-4E29-996F-79F99714DDB3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{338ac052-a215-4fe4-a66b-f6be21b5ffa4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc8.vcproj b/xsd/dist/examples/cxx/parser/hello/hello-vc8.vcproj deleted file mode 100644 index a19fb43..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc8.vcproj +++ /dev/null @@ -1,419 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="hello"
- ProjectGUID="{683E9D46-FCC7-4163-984B-9F399169CF7F}"
- RootNamespace="hello"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E9BF8C86-0B39-4E45-81D2-35AD75F02C5C}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\hello-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{3490E63E-27F8-4E29-996F-79F99714DDB3}"
- >
- <File
- RelativePath=".\hello-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\hello.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/hello/hello-vc9.vcproj b/xsd/dist/examples/cxx/parser/hello/hello-vc9.vcproj deleted file mode 100644 index 9d0e755..0000000 --- a/xsd/dist/examples/cxx/parser/hello/hello-vc9.vcproj +++ /dev/null @@ -1,416 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="hello"
- ProjectGUID="{683E9D46-FCC7-4163-984B-9F399169CF7F}"
- RootNamespace="hello"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E9BF8C86-0B39-4E45-81D2-35AD75F02C5C}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\hello-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{3490E63E-27F8-4E29-996F-79F99714DDB3}"
- >
- <File
- RelativePath=".\hello-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\hello.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd cxx-parser hello.xsd"
- Outputs="hello-pskel.hxx;hello-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/hello/makefile b/xsd/dist/examples/cxx/parser/hello/makefile deleted file mode 100644 index 5746c6f..0000000 --- a/xsd/dist/examples/cxx/parser/hello/makefile +++ /dev/null @@ -1,28 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - - -# Build. -# -driver: driver.o hello-pskel.o - -driver.o: driver.cxx hello-pskel.hxx -hello-pskel.o: hello-pskel.cxx hello-pskel.hxx - -hello-pskel.hxx hello-pskel.cxx: hello.xsd - - -# Test. -# -.PHONY: test -test: driver hello.xml - ./driver hello.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f hello-pskel.?xx hello-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj b/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj deleted file mode 100644 index c9046d7..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D66DAC4D-133C-4DB5-923F-C88A961C3C51}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj.filters deleted file mode 100644 index 30f473b..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc10.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4044D311-878E-4632-B816-7810045EF3F1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{4F90DEB0-060B-4976-949A-66FFB902F598}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a31fd2f2-4ce6-4ee0-962d-68d213bc7b1b}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8e9fd809-af45-49e4-95b8-d2becff77db5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj b/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj deleted file mode 100644 index daa5ef3..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D66DAC4D-133C-4DB5-923F-C88A961C3C51}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj.filters deleted file mode 100644 index 30f473b..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc11.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4044D311-878E-4632-B816-7810045EF3F1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{4F90DEB0-060B-4976-949A-66FFB902F598}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a31fd2f2-4ce6-4ee0-962d-68d213bc7b1b}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8e9fd809-af45-49e4-95b8-d2becff77db5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj b/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj deleted file mode 100644 index 345226f..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D66DAC4D-133C-4DB5-923F-C88A961C3C51}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library-pimpl.cxx" />
- <ClCompile Include="library-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx" />
- <ClInclude Include="library-pskel.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline --type-map library.map library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library-pskel.hxx;library-pskel.ixx;library-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj.filters deleted file mode 100644 index 30f473b..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc12.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4044D311-878E-4632-B816-7810045EF3F1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{4F90DEB0-060B-4976-949A-66FFB902F598}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a31fd2f2-4ce6-4ee0-962d-68d213bc7b1b}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8e9fd809-af45-49e4-95b8-d2becff77db5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library-pskel.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/library/library-vc8.vcproj b/xsd/dist/examples/cxx/parser/library/library-vc8.vcproj deleted file mode 100644 index f5bb549..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc8.vcproj +++ /dev/null @@ -1,440 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="library"
- ProjectGUID="{D66DAC4D-133C-4DB5-923F-C88A961C3C51}"
- RootNamespace="library"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4044D311-878E-4632-B816-7810045EF3F1}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{4F90DEB0-060B-4976-949A-66FFB902F598}"
- >
- <File
- RelativePath=".\library-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\library-pskel.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/library/library-vc9.vcproj b/xsd/dist/examples/cxx/parser/library/library-vc9.vcproj deleted file mode 100644 index 1348f83..0000000 --- a/xsd/dist/examples/cxx/parser/library/library-vc9.vcproj +++ /dev/null @@ -1,437 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="library"
- ProjectGUID="{D66DAC4D-133C-4DB5-923F-C88A961C3C51}"
- RootNamespace="library"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4044D311-878E-4632-B816-7810045EF3F1}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{4F90DEB0-060B-4976-949A-66FFB902F598}"
- >
- <File
- RelativePath=".\library-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\library-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\library-pskel.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-parser --generate-inline --type-map library.map library.xsd"
- Outputs="library-pskel.hxx;library-pskel.ixx;library-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/library/makefile b/xsd/dist/examples/cxx/parser/library/makefile deleted file mode 100644 index f96353b..0000000 --- a/xsd/dist/examples/cxx/parser/library/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --generate-inline --type-map library.map - -# Build -# -driver: driver.o library-pskel.o library-pimpl.o - -driver.o: driver.cxx library-pimpl.hxx library-pskel.hxx library.hxx -library-pimpl.o: library-pimpl.cxx library-pimpl.hxx library-pskel.hxx library.hxx -library-pskel.o: library-pskel.cxx library-pskel.hxx library.hxx - -library-pskel.hxx library-pskel.ixx library-pskel.cxx: library.xsd library.map - - -# Test. -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library-pskel.?xx library-pimpl.o library-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/makefile b/xsd/dist/examples/cxx/parser/makefile deleted file mode 100644 index b778cbd..0000000 --- a/xsd/dist/examples/cxx/parser/makefile +++ /dev/null @@ -1,12 +0,0 @@ -dirs := generated hello library mixin mixed multiroot performance \ -polymorphism polyroot wildcard - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/parser/mixed/makefile b/xsd/dist/examples/cxx/parser/mixed/makefile deleted file mode 100644 index edd28b2..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --type-map text.map - -# Build. -# -driver: driver.o text-pskel.o - -driver.o: driver.cxx text-pskel.hxx anchor.hxx -text-pskel.o: text-pskel.cxx text-pskel.hxx anchor.hxx - -text-pskel.hxx text-pskel.cxx: text.xsd text.map - - -# Test. -# -.PHONY: test -test: driver text.xml - ./driver text.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f text-pskel.?xx text-pskel.o driver.o driver - diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj b/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj deleted file mode 100644 index d940e8d..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj +++ /dev/null @@ -1,202 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{304FD6A7-6C73-41C3-B489-97FD5E635CCB}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx" />
- <ClInclude Include="text-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj.filters deleted file mode 100644 index 9d5bb36..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc10.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8E9A9B27-1882-4B49-9451-345FEED45AEE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0BDCEBD5-F78D-437D-BED5-4507831FA9E8}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{748ddcb3-bd88-48b4-b396-d1d3fef8a4e6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="text-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj b/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj deleted file mode 100644 index 00b00a2..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{304FD6A7-6C73-41C3-B489-97FD5E635CCB}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx" />
- <ClInclude Include="text-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj.filters deleted file mode 100644 index 9d5bb36..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc11.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8E9A9B27-1882-4B49-9451-345FEED45AEE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0BDCEBD5-F78D-437D-BED5-4507831FA9E8}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{748ddcb3-bd88-48b4-b396-d1d3fef8a4e6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="text-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj b/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj deleted file mode 100644 index d9e63ed..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{304FD6A7-6C73-41C3-B489-97FD5E635CCB}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx" />
- <ClInclude Include="text-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map text.map text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text-pskel.hxx;text-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj.filters deleted file mode 100644 index 9d5bb36..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc12.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8E9A9B27-1882-4B49-9451-345FEED45AEE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0BDCEBD5-F78D-437D-BED5-4507831FA9E8}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{748ddcb3-bd88-48b4-b396-d1d3fef8a4e6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="anchor.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="text-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc8.vcproj b/xsd/dist/examples/cxx/parser/mixed/mixed-vc8.vcproj deleted file mode 100644 index 91906be..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="mixed"
- ProjectGUID="{304FD6A7-6C73-41C3-B489-97FD5E635CCB}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{8E9A9B27-1882-4B49-9451-345FEED45AEE}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{0BDCEBD5-F78D-437D-BED5-4507831FA9E8}"
- >
- <File
- RelativePath=".\anchor.hxx"
- >
- </File>
- <File
- RelativePath=".\text-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/mixed/mixed-vc9.vcproj b/xsd/dist/examples/cxx/parser/mixed/mixed-vc9.vcproj deleted file mode 100644 index f2eb5f1..0000000 --- a/xsd/dist/examples/cxx/parser/mixed/mixed-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="mixed"
- ProjectGUID="{304FD6A7-6C73-41C3-B489-97FD5E635CCB}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{8E9A9B27-1882-4B49-9451-345FEED45AEE}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{0BDCEBD5-F78D-437D-BED5-4507831FA9E8}"
- >
- <File
- RelativePath=".\anchor.hxx"
- >
- </File>
- <File
- RelativePath=".\text-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd cxx-parser --type-map text.map text.xsd"
- Outputs="text-pskel.hxx;text-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/mixin/makefile b/xsd/dist/examples/cxx/parser/mixin/makefile deleted file mode 100644 index 551519d..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --type-map schema.map - - -# Build. -# -driver: driver.o schema-pskel.o - -driver.o: driver.cxx schema-pskel.hxx types.hxx -schema-pskel.o: schema-pskel.cxx schema-pskel.hxx types.hxx - -schema-pskel.hxx schema-pskel.cxx: schema.xsd schema.map - -# Test. -# -.PHONY: test -test: driver instance.xml - ./driver instance.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f schema-pskel.?xx schema-pskel.o driver.o driver - diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj b/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj deleted file mode 100644 index 729240e..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj +++ /dev/null @@ -1,202 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixin</ProjectName>
- <ProjectGuid>{8CCA6181-F2CE-4E5E-A20E-4E1E53A35125}</ProjectGuid>
- <RootNamespace>mixin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="schema-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx" />
- <ClInclude Include="types.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj.filters deleted file mode 100644 index 4fd62ea..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc10.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF1C3D0-33B1-4924-9F8C-4DD7B7765D82}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{A4012AA7-A8FE-4CE8-9BB0-1DBA14C2CEAD}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1772a873-01ce-415d-a4e7-b107ecfb3d0f}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="schema-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="types.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj b/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj deleted file mode 100644 index 7de773e..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixin</ProjectName>
- <ProjectGuid>{8CCA6181-F2CE-4E5E-A20E-4E1E53A35125}</ProjectGuid>
- <RootNamespace>mixin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="schema-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx" />
- <ClInclude Include="types.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj.filters deleted file mode 100644 index 4fd62ea..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc11.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF1C3D0-33B1-4924-9F8C-4DD7B7765D82}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{A4012AA7-A8FE-4CE8-9BB0-1DBA14C2CEAD}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1772a873-01ce-415d-a4e7-b107ecfb3d0f}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="schema-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="types.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj b/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj deleted file mode 100644 index 83771b4..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixin</ProjectName>
- <ProjectGuid>{8CCA6181-F2CE-4E5E-A20E-4E1E53A35125}</ProjectGuid>
- <RootNamespace>mixin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="schema-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx" />
- <ClInclude Include="types.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd schema.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map schema.map schema.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">schema-pskel.hxx;schema-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj.filters deleted file mode 100644 index 4fd62ea..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc12.vcxproj.filters +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF1C3D0-33B1-4924-9F8C-4DD7B7765D82}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{A4012AA7-A8FE-4CE8-9BB0-1DBA14C2CEAD}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1772a873-01ce-415d-a4e7-b107ecfb3d0f}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="schema-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="schema-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="types.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="schema.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc8.vcproj b/xsd/dist/examples/cxx/parser/mixin/mixin-vc8.vcproj deleted file mode 100644 index 384e122..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="mixin"
- ProjectGUID="{8CCA6181-F2CE-4E5E-A20E-4E1E53A35125}"
- RootNamespace="mixin"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4BF1C3D0-33B1-4924-9F8C-4DD7B7765D82}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\schema-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{A4012AA7-A8FE-4CE8-9BB0-1DBA14C2CEAD}"
- >
- <File
- RelativePath=".\schema-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\types.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\schema.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/mixin/mixin-vc9.vcproj b/xsd/dist/examples/cxx/parser/mixin/mixin-vc9.vcproj deleted file mode 100644 index 9cdccb3..0000000 --- a/xsd/dist/examples/cxx/parser/mixin/mixin-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="mixin"
- ProjectGUID="{8CCA6181-F2CE-4E5E-A20E-4E1E53A35125}"
- RootNamespace="mixin"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4BF1C3D0-33B1-4924-9F8C-4DD7B7765D82}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\schema-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{A4012AA7-A8FE-4CE8-9BB0-1DBA14C2CEAD}"
- >
- <File
- RelativePath=".\schema-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\types.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\schema.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd schema.xsd"
- CommandLine="xsd cxx-parser --type-map schema.map schema.xsd"
- Outputs="schema-pskel.hxx;schema-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/multiroot/makefile b/xsd/dist/examples/cxx/parser/multiroot/makefile deleted file mode 100644 index c45e3f3..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/makefile +++ /dev/null @@ -1,32 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --type-map protocol.map - -# Build -# -driver: driver.o protocol-pskel.o protocol-pimpl.o - -driver.o: driver.cxx protocol-pimpl.hxx protocol-pskel.hxx protocol.hxx -protocol-pimpl.o: protocol-pimpl.cxx protocol-pimpl.hxx protocol-pskel.hxx protocol.hxx -protocol-pskel.o: protocol-pskel.cxx protocol-pskel.hxx protocol.hxx - -protocol-pskel.hxx protocol-pskel.cxx: protocol.xsd protocol.map - - -# Test. -# -.PHONY: test -test: driver balance.xml withdraw.xml deposit.xml - ./driver balance.xml - ./driver withdraw.xml - ./driver deposit.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f protocol-pskel.?xx protocol-pimpl.o protocol-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj deleted file mode 100644 index dac752c..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{3AC187DF-4FDF-40B7-9E12-002DC0A15EDB}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol-pimpl.cxx" />
- <ClCompile Include="protocol-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx" />
- <ClInclude Include="protocol-pskel.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj.filters deleted file mode 100644 index 2b80057..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc10.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{5CA12033-B9C7-4B8D-95C9-BC1D88DFB211}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7258C7-69F9-44AC-8651-7ABC08C70815}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8a01b14f-5199-4686-a4e8-419ab31b3ea3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj deleted file mode 100644 index 9a5497d..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{3AC187DF-4FDF-40B7-9E12-002DC0A15EDB}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol-pimpl.cxx" />
- <ClCompile Include="protocol-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx" />
- <ClInclude Include="protocol-pskel.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj.filters deleted file mode 100644 index 2b80057..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc11.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{5CA12033-B9C7-4B8D-95C9-BC1D88DFB211}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7258C7-69F9-44AC-8651-7ABC08C70815}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8a01b14f-5199-4686-a4e8-419ab31b3ea3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj deleted file mode 100644 index a8a41dc..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{3AC187DF-4FDF-40B7-9E12-002DC0A15EDB}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol-pimpl.cxx" />
- <ClCompile Include="protocol-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx" />
- <ClInclude Include="protocol-pskel.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --type-map protocol.map protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol-pskel.hxx;protocol-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj.filters deleted file mode 100644 index 2b80057..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc12.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{5CA12033-B9C7-4B8D-95C9-BC1D88DFB211}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{5F7258C7-69F9-44AC-8651-7ABC08C70815}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8a01b14f-5199-4686-a4e8-419ab31b3ea3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="protocol-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc8.vcproj b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc8.vcproj deleted file mode 100644 index a37ec06..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc8.vcproj +++ /dev/null @@ -1,435 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="multiroot"
- ProjectGUID="{3AC187DF-4FDF-40B7-9E12-002DC0A15EDB}"
- RootNamespace="multiroot"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{5CA12033-B9C7-4B8D-95C9-BC1D88DFB211}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{5F7258C7-69F9-44AC-8651-7ABC08C70815}"
- >
- <File
- RelativePath=".\protocol-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc9.vcproj b/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc9.vcproj deleted file mode 100644 index 75ef5e6..0000000 --- a/xsd/dist/examples/cxx/parser/multiroot/multiroot-vc9.vcproj +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="multiroot"
- ProjectGUID="{3AC187DF-4FDF-40B7-9E12-002DC0A15EDB}"
- RootNamespace="multiroot"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{5CA12033-B9C7-4B8D-95C9-BC1D88DFB211}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{5F7258C7-69F9-44AC-8651-7ABC08C70815}"
- >
- <File
- RelativePath=".\protocol-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-parser --type-map protocol.map protocol.xsd"
- Outputs="protocol-pskel.hxx;protocol-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/performance/makefile b/xsd/dist/examples/cxx/parser/performance/makefile deleted file mode 100644 index a98e86a..0000000 --- a/xsd/dist/examples/cxx/parser/performance/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --generate-inline - -# Build. -# -driver: driver.o test-pskel.o time.o - -driver.o: driver.cxx test-pskel.hxx test-pskel.ixx time.hxx -test-pskel.o: test-pskel.cxx test-pskel.hxx test-pskel.ixx -time.o: time.cxx time.hxx - -test-pskel.hxx test-pskel.ixx test-pskel.cxx: test.xsd - - -# Test. -# -.PHONY: test -test: driver test-50k.xml - ./driver test-50k.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f test-pskel.?xx test-pskel.o driver.o time.o driver diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj b/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj deleted file mode 100644 index 42bc963..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj +++ /dev/null @@ -1,203 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{676CB1A8-1060-4B7F-86FA-5F8F01AB80BD}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test-pskel.cxx" />
- <ClCompile Include="time.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj.filters deleted file mode 100644 index 43190f1..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{699BF138-9DA5-4EC4-9796-4033D1E443E8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B5C0740-D0B1-4A08-8657-DA9977EBA68D}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{d885db2b-37d2-476b-964e-0f50c5f851d4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj b/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj deleted file mode 100644 index 4d02641..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{676CB1A8-1060-4B7F-86FA-5F8F01AB80BD}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test-pskel.cxx" />
- <ClCompile Include="time.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj.filters deleted file mode 100644 index 43190f1..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{699BF138-9DA5-4EC4-9796-4033D1E443E8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B5C0740-D0B1-4A08-8657-DA9977EBA68D}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{d885db2b-37d2-476b-964e-0f50c5f851d4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj b/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj deleted file mode 100644 index b9bdd1c..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{676CB1A8-1060-4B7F-86FA-5F8F01AB80BD}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test-pskel.cxx" />
- <ClCompile Include="time.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-inline test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test-pskel.hxx;test-pskel.ixx;test-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj.filters deleted file mode 100644 index 43190f1..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{699BF138-9DA5-4EC4-9796-4033D1E443E8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B5C0740-D0B1-4A08-8657-DA9977EBA68D}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{d885db2b-37d2-476b-964e-0f50c5f851d4}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc8.vcproj b/xsd/dist/examples/cxx/parser/performance/performance-vc8.vcproj deleted file mode 100644 index 867ecbb..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc8.vcproj +++ /dev/null @@ -1,427 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="performance"
- ProjectGUID="{676CB1A8-1060-4B7F-86FA-5F8F01AB80BD}"
- RootNamespace="performance"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{699BF138-9DA5-4EC4-9796-4033D1E443E8}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\test-pskel.cxx"
- >
- </File>
- <File
- RelativePath=".\time.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6B5C0740-D0B1-4A08-8657-DA9977EBA68D}"
- >
- <File
- RelativePath=".\test-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\time.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\test.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/performance/performance-vc9.vcproj b/xsd/dist/examples/cxx/parser/performance/performance-vc9.vcproj deleted file mode 100644 index 3fd46c7..0000000 --- a/xsd/dist/examples/cxx/parser/performance/performance-vc9.vcproj +++ /dev/null @@ -1,424 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="performance"
- ProjectGUID="{676CB1A8-1060-4B7F-86FA-5F8F01AB80BD}"
- RootNamespace="performance"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{699BF138-9DA5-4EC4-9796-4033D1E443E8}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\test-pskel.cxx"
- >
- </File>
- <File
- RelativePath=".\time.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6B5C0740-D0B1-4A08-8657-DA9977EBA68D}"
- >
- <File
- RelativePath=".\test-pskel.hxx"
- >
- </File>
- <File
- RelativePath=".\time.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\test.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-parser --generate-inline test.xsd"
- Outputs="test-pskel.hxx;test-pskel.ixx;test-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/polymorphism/makefile b/xsd/dist/examples/cxx/parser/polymorphism/makefile deleted file mode 100644 index 935661d..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --generate-polymorphic - -# Build -# -driver: driver.o supermen-pskel.o supermen-pimpl.o - -driver.o: driver.cxx supermen-pimpl.hxx supermen-pskel.hxx -supermen-pimpl.o: supermen-pimpl.cxx supermen-pimpl.hxx supermen-pskel.hxx -supermen-pskel.o: supermen-pskel.cxx supermen-pskel.hxx - -supermen-pskel.hxx supermen-pskel.cxx: supermen.xsd - - -# Test. -# -.PHONY: test -test: driver supermen.xml - ./driver supermen.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f supermen-pskel.?xx supermen-pimpl.o supermen-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj deleted file mode 100644 index 57c60a3..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{E05F914A-490B-4780-9BAB-1ED225B3DBEE}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj.filters deleted file mode 100644 index eb84ea1..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1B970E5F-EBC0-44A7-A542-7EBFADBF1573}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{B49CCB93-BC13-4222-A005-6785C8220E30}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{408b97b6-8a71-4f5b-976a-dc6c59b92362}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj deleted file mode 100644 index 19e2659..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{E05F914A-490B-4780-9BAB-1ED225B3DBEE}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj.filters deleted file mode 100644 index eb84ea1..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1B970E5F-EBC0-44A7-A542-7EBFADBF1573}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{B49CCB93-BC13-4222-A005-6785C8220E30}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{408b97b6-8a71-4f5b-976a-dc6c59b92362}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj deleted file mode 100644 index 775d69d..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{E05F914A-490B-4780-9BAB-1ED225B3DBEE}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj.filters deleted file mode 100644 index eb84ea1..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1B970E5F-EBC0-44A7-A542-7EBFADBF1573}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{B49CCB93-BC13-4222-A005-6785C8220E30}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{408b97b6-8a71-4f5b-976a-dc6c59b92362}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc8.vcproj b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc8.vcproj deleted file mode 100644 index fb4f951..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc8.vcproj +++ /dev/null @@ -1,431 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="polymorphism"
- ProjectGUID="{E05F914A-490B-4780-9BAB-1ED225B3DBEE}"
- RootNamespace="polymorphism"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1B970E5F-EBC0-44A7-A542-7EBFADBF1573}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{B49CCB93-BC13-4222-A005-6785C8220E30}"
- >
- <File
- RelativePath=".\supermen-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc9.vcproj b/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc9.vcproj deleted file mode 100644 index 9759681..0000000 --- a/xsd/dist/examples/cxx/parser/polymorphism/polymorphism-vc9.vcproj +++ /dev/null @@ -1,428 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="polymorphism"
- ProjectGUID="{E05F914A-490B-4780-9BAB-1ED225B3DBEE}"
- RootNamespace="polymorphism"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1B970E5F-EBC0-44A7-A542-7EBFADBF1573}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{B49CCB93-BC13-4222-A005-6785C8220E30}"
- >
- <File
- RelativePath=".\supermen-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/polyroot/makefile b/xsd/dist/examples/cxx/parser/polyroot/makefile deleted file mode 100644 index 487ad08..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/makefile +++ /dev/null @@ -1,31 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - -override XSDFLAGS += --generate-polymorphic - -# Build -# -driver: driver.o supermen-pskel.o supermen-pimpl.o - -driver.o: driver.cxx supermen-pimpl.hxx supermen-pskel.hxx -supermen-pimpl.o: supermen-pimpl.cxx supermen-pimpl.hxx supermen-pskel.hxx -supermen-pskel.o: supermen-pskel.cxx supermen-pskel.hxx - -supermen-pskel.hxx supermen-pskel.cxx: supermen.xsd - - -# Test. -# -.PHONY: test -test: driver person.xml superman.xml batman.xml - ./driver person.xml - ./driver superman.xml - ./driver batman.xml - -# Clean. -# -.PHONY: clean -clean: - rm -f supermen-pskel.?xx supermen-pimpl.o supermen-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj deleted file mode 100644 index 897a3a1..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polyroot</ProjectName>
- <ProjectGuid>{FB2098FC-CE8C-4A6B-A064-E2705324A16A}</ProjectGuid>
- <RootNamespace>polyroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj.filters deleted file mode 100644 index 5b0ee29..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{00F2FCE3-0165-405E-B027-F51956F669D1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6F6E09B9-C59E-45EE-BC77-C2F22039A485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{91582f5b-59e2-4b82-9325-b99cf969649e}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj deleted file mode 100644 index 86427ed..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polyroot</ProjectName>
- <ProjectGuid>{FB2098FC-CE8C-4A6B-A064-E2705324A16A}</ProjectGuid>
- <RootNamespace>polyroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj.filters deleted file mode 100644 index 5b0ee29..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{00F2FCE3-0165-405E-B027-F51956F669D1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6F6E09B9-C59E-45EE-BC77-C2F22039A485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{91582f5b-59e2-4b82-9325-b99cf969649e}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj deleted file mode 100644 index 079305b..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polyroot</ProjectName>
- <ProjectGuid>{FB2098FC-CE8C-4A6B-A064-E2705324A16A}</ProjectGuid>
- <RootNamespace>polyroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen-pimpl.cxx" />
- <ClCompile Include="supermen-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx" />
- <ClInclude Include="supermen-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser --generate-polymorphic supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen-pskel.hxx;supermen-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj.filters deleted file mode 100644 index 5b0ee29..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{00F2FCE3-0165-405E-B027-F51956F669D1}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6F6E09B9-C59E-45EE-BC77-C2F22039A485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{91582f5b-59e2-4b82-9325-b99cf969649e}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pimpl.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen-pimpl.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="supermen-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc8.vcproj b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc8.vcproj deleted file mode 100644 index 322f814..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc8.vcproj +++ /dev/null @@ -1,431 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="polyroot"
- ProjectGUID="{FB2098FC-CE8C-4A6B-A064-E2705324A16A}"
- RootNamespace="polyroot"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{00F2FCE3-0165-405E-B027-F51956F669D1}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6F6E09B9-C59E-45EE-BC77-C2F22039A485}"
- >
- <File
- RelativePath=".\supermen-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc9.vcproj b/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc9.vcproj deleted file mode 100644 index fd72439..0000000 --- a/xsd/dist/examples/cxx/parser/polyroot/polyroot-vc9.vcproj +++ /dev/null @@ -1,428 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="polyroot"
- ProjectGUID="{FB2098FC-CE8C-4A6B-A064-E2705324A16A}"
- RootNamespace="polyroot"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{00F2FCE3-0165-405E-B027-F51956F669D1}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pimpl.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6F6E09B9-C59E-45EE-BC77-C2F22039A485}"
- >
- <File
- RelativePath=".\supermen-pimpl.hxx"
- >
- </File>
- <File
- RelativePath=".\supermen-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd cxx-parser --generate-polymorphic supermen.xsd"
- Outputs="supermen-pskel.hxx;supermen-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/wildcard/makefile b/xsd/dist/examples/cxx/parser/wildcard/makefile deleted file mode 100644 index 924e937..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/makefile +++ /dev/null @@ -1,28 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/parser-rules.make - - -# Build. -# -driver: driver.o email-pskel.o - -driver.o: driver.cxx email-pskel.hxx -email-pskel.o: email-pskel.cxx email-pskel.hxx - -email-pskel.hxx email-pskel.cxx: email.xsd - - -# Test. -# -.PHONY: test -test: driver email.xml - ./driver email.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f email-pskel.?xx email-pskel.o driver.o driver diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj deleted file mode 100644 index adb99cb..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj +++ /dev/null @@ -1,201 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{9832425B-38D5-44EC-AED6-3ED4353B24EA}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj.filters b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj.filters deleted file mode 100644 index 756239f..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{F05001BC-BAEB-4D9D-89E4-D19B208F34BF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDCB25B7-BCBA-4C74-828E-09B2D7860485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1b27359f-6508-4bb0-96ed-b5a3fdb228c6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj deleted file mode 100644 index e422655..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{9832425B-38D5-44EC-AED6-3ED4353B24EA}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj.filters b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj.filters deleted file mode 100644 index 756239f..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{F05001BC-BAEB-4D9D-89E4-D19B208F34BF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDCB25B7-BCBA-4C74-828E-09B2D7860485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1b27359f-6508-4bb0-96ed-b5a3fdb228c6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj deleted file mode 100644 index e52e9dc..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{9832425B-38D5-44EC-AED6-3ED4353B24EA}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email-pskel.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-parser email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email-pskel.hxx;email-pskel.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj.filters b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj.filters deleted file mode 100644 index 756239f..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{F05001BC-BAEB-4D9D-89E4-D19B208F34BF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDCB25B7-BCBA-4C74-828E-09B2D7860485}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{1b27359f-6508-4bb0-96ed-b5a3fdb228c6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email-pskel.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email-pskel.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc8.vcproj b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc8.vcproj deleted file mode 100644 index c255eac..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc8.vcproj +++ /dev/null @@ -1,419 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="wildcard"
- ProjectGUID="{9832425B-38D5-44EC-AED6-3ED4353B24EA}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{F05001BC-BAEB-4D9D-89E4-D19B208F34BF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\email-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{CDCB25B7-BCBA-4C74-828E-09B2D7860485}"
- >
- <File
- RelativePath=".\email-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\email.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc9.vcproj b/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc9.vcproj deleted file mode 100644 index e481e43..0000000 --- a/xsd/dist/examples/cxx/parser/wildcard/wildcard-vc9.vcproj +++ /dev/null @@ -1,416 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="wildcard"
- ProjectGUID="{9832425B-38D5-44EC-AED6-3ED4353B24EA}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{F05001BC-BAEB-4D9D-89E4-D19B208F34BF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\email-pskel.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{CDCB25B7-BCBA-4C74-828E-09B2D7860485}"
- >
- <File
- RelativePath=".\email-pskel.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\email.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-parser email.xsd"
- Outputs="email-pskel.hxx;email-pskel.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj deleted file mode 100644 index 8834226..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>boost</ProjectName>
- <ProjectGuid>{0C3A70E2-F673-46B7-B23D-9888266918D5}</ProjectGuid>
- <RootNamespace>boost</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx" />
- <ClInclude Include="boost-archive-insertion.hxx" />
- <ClInclude Include="library-prologue.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj.filters deleted file mode 100644 index edb71a3..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc10.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{22FBBBBD-3A62-471C-867C-8B6F5B3531A9}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{BB6813A9-25E1-49A2-8FCC-FAC9FC4C27FB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{458e67fd-1629-41ef-9a2b-66709e69a9bf}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="boost-archive-insertion.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-prologue.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj deleted file mode 100644 index 73a65d5..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>boost</ProjectName>
- <ProjectGuid>{0C3A70E2-F673-46B7-B23D-9888266918D5}</ProjectGuid>
- <RootNamespace>boost</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx" />
- <ClInclude Include="boost-archive-insertion.hxx" />
- <ClInclude Include="library-prologue.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj.filters deleted file mode 100644 index edb71a3..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc11.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{22FBBBBD-3A62-471C-867C-8B6F5B3531A9}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{BB6813A9-25E1-49A2-8FCC-FAC9FC4C27FB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{458e67fd-1629-41ef-9a2b-66709e69a9bf}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="boost-archive-insertion.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-prologue.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj deleted file mode 100644 index 8c7d2c5..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>boost</ProjectName>
- <ProjectGuid>{0C3A70E2-F673-46B7-B23D-9888266918D5}</ProjectGuid>
- <RootNamespace>boost</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx" />
- <ClInclude Include="boost-archive-insertion.hxx" />
- <ClInclude Include="library-prologue.hxx" />
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj.filters deleted file mode 100644 index edb71a3..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc12.vcxproj.filters +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{22FBBBBD-3A62-471C-867C-8B6F5B3531A9}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{BB6813A9-25E1-49A2-8FCC-FAC9FC4C27FB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{458e67fd-1629-41ef-9a2b-66709e69a9bf}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="boost-archive-extraction.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="boost-archive-insertion.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-prologue.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc8.vcproj b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc8.vcproj deleted file mode 100644 index 82d23ae..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc8.vcproj +++ /dev/null @@ -1,435 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="boost"
- ProjectGUID="{0C3A70E2-F673-46B7-B23D-9888266918D5}"
- RootNamespace="boost"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{22FBBBBD-3A62-471C-867C-8B6F5B3531A9}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{BB6813A9-25E1-49A2-8FCC-FAC9FC4C27FB}"
- >
- <File
- RelativePath=".\boost-archive-extraction.hxx"
- >
- </File>
- <File
- RelativePath=".\boost-archive-insertion.hxx"
- >
- </File>
- <File
- RelativePath=".\library-prologue.hxx"
- >
- </File>
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc9.vcproj b/xsd/dist/examples/cxx/tree/binary/boost/boost-vc9.vcproj deleted file mode 100644 index f5369af..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/boost-vc9.vcproj +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="boost"
- ProjectGUID="{0C3A70E2-F673-46B7-B23D-9888266918D5}"
- RootNamespace="boost"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{22FBBBBD-3A62-471C-867C-8B6F5B3531A9}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{BB6813A9-25E1-49A2-8FCC-FAC9FC4C27FB}"
- >
- <File
- RelativePath=".\boost-archive-extraction.hxx"
- >
- </File>
- <File
- RelativePath=".\boost-archive-insertion.hxx"
- >
- </File>
- <File
- RelativePath=".\library-prologue.hxx"
- >
- </File>
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --hxx-prologue-file library-prologue.hxx --generate-insertion boost::archive::text_oarchive --generate-extraction boost::archive::text_iarchive library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/boost/makefile b/xsd/dist/examples/cxx/tree/binary/boost/makefile deleted file mode 100644 index 7c35f02..0000000 --- a/xsd/dist/examples/cxx/tree/binary/boost/makefile +++ /dev/null @@ -1,37 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-ostream \ ---hxx-prologue-file library-prologue.hxx \ ---generate-insertion boost::archive::text_oarchive \ ---generate-extraction boost::archive::text_iarchive - - -override LIBS += -lboost_serialization - - -# Build. -# -driver: driver.o library.o - -library.o: library.cxx library.hxx boost-archive-insertion.hxx boost-archive-extraction.hxx -driver.o: driver.cxx library.hxx boost-archive-insertion.hxx boost-archive-extraction.hxx - -library.cxx library.hxx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj deleted file mode 100644 index 5acfa0e..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>cdr</ProjectName>
- <ProjectGuid>{A8CC2814-5056-4953-8B4C-E52E72ADD36C}</ProjectGuid>
- <RootNamespace>cdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj.filters deleted file mode 100644 index 92ff3ee..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{50AA6317-04BE-45AB-98DD-7A32AEB710CF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E740B51E-A619-4888-B6B9-566A3C77C60B}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{37283c57-4a32-48ed-823b-0efdf7cdcf51}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj deleted file mode 100644 index c87aa4b..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>cdr</ProjectName>
- <ProjectGuid>{A8CC2814-5056-4953-8B4C-E52E72ADD36C}</ProjectGuid>
- <RootNamespace>cdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj.filters deleted file mode 100644 index 92ff3ee..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{50AA6317-04BE-45AB-98DD-7A32AEB710CF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E740B51E-A619-4888-B6B9-566A3C77C60B}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{37283c57-4a32-48ed-823b-0efdf7cdcf51}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj deleted file mode 100644 index e0d6496..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>cdr</ProjectName>
- <ProjectGuid>{A8CC2814-5056-4953-8B4C-E52E72ADD36C}</ProjectGuid>
- <RootNamespace>cdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;ACEd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;ACE.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj.filters deleted file mode 100644 index 92ff3ee..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{50AA6317-04BE-45AB-98DD-7A32AEB710CF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E740B51E-A619-4888-B6B9-566A3C77C60B}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{37283c57-4a32-48ed-823b-0efdf7cdcf51}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc8.vcproj b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc8.vcproj deleted file mode 100644 index d35171a..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="cdr"
- ProjectGUID="{A8CC2814-5056-4953-8B4C-E52E72ADD36C}"
- RootNamespace="cdr"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib ACEd.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib ACE.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib ACEd.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib ACE.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{50AA6317-04BE-45AB-98DD-7A32AEB710CF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E740B51E-A619-4888-B6B9-566A3C77C60B}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc9.vcproj b/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc9.vcproj deleted file mode 100644 index f379d83..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/cdr-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="cdr"
- ProjectGUID="{A8CC2814-5056-4953-8B4C-E52E72ADD36C}"
- RootNamespace="cdr"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib ACEd.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib ACEd.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib ACE.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib ACE.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{50AA6317-04BE-45AB-98DD-7A32AEB710CF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E740B51E-A619-4888-B6B9-566A3C77C60B}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/cdr/makefile b/xsd/dist/examples/cxx/tree/binary/cdr/makefile deleted file mode 100644 index a2d9848..0000000 --- a/xsd/dist/examples/cxx/tree/binary/cdr/makefile +++ /dev/null @@ -1,35 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-ostream --generate-insertion ACE_OutputCDR \ ---generate-extraction ACE_InputCDR - - -override LIBS += -lACE - - -# Build. -# -driver: driver.o library.o - -library.o: library.cxx library.hxx -driver.o: driver.cxx library.hxx - -library.cxx library.hxx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/binary/makefile b/xsd/dist/examples/cxx/tree/binary/makefile deleted file mode 100644 index d337eb5..0000000 --- a/xsd/dist/examples/cxx/tree/binary/makefile +++ /dev/null @@ -1,25 +0,0 @@ -dirs := - -ifeq ($(WITH_BOOST),1) -dirs += boost -endif - - -ifeq ($(WITH_ACE),1) -dirs += cdr -endif - -ifeq ($(WITH_XDR),1) -dirs += xdr -endif - - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/makefile b/xsd/dist/examples/cxx/tree/binary/xdr/makefile deleted file mode 100644 index a9123d7..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/makefile +++ /dev/null @@ -1,35 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-ostream --generate-insertion XDR \ ---generate-extraction XDR - - -override LIBS += -lnsl - - -# Build. -# -driver: driver.o library.o - -library.o: library.cxx library.hxx -driver.o: driver.cxx library.hxx - -library.cxx library.hxx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj deleted file mode 100644 index a8cad53..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xdr</ProjectName>
- <ProjectGuid>{D9696808-1B73-43C9-A3BB-18DD29776EC5}</ProjectGuid>
- <RootNamespace>xdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj.filters deleted file mode 100644 index c9e491f..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C5A0E74B-63C1-41E3-B291-B85FCC86FDF7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FC110C72-7935-49D5-B25E-F96C87BA49E4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b7ff65c1-ff9c-4e2d-869b-e4925d838adb}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj deleted file mode 100644 index 5c9f9d5..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xdr</ProjectName>
- <ProjectGuid>{D9696808-1B73-43C9-A3BB-18DD29776EC5}</ProjectGuid>
- <RootNamespace>xdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj.filters deleted file mode 100644 index c9e491f..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C5A0E74B-63C1-41E3-B291-B85FCC86FDF7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FC110C72-7935-49D5-B25E-F96C87BA49E4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b7ff65c1-ff9c-4e2d-869b-e4925d838adb}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj deleted file mode 100644 index e3be342..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xdr</ProjectName>
- <ProjectGuid>{D9696808-1B73-43C9-A3BB-18DD29776EC5}</ProjectGuid>
- <RootNamespace>xdr</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj.filters deleted file mode 100644 index c9e491f..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C5A0E74B-63C1-41E3-B291-B85FCC86FDF7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FC110C72-7935-49D5-B25E-F96C87BA49E4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b7ff65c1-ff9c-4e2d-869b-e4925d838adb}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc8.vcproj b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc8.vcproj deleted file mode 100644 index f83c026..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="xdr"
- ProjectGUID="{D9696808-1B73-43C9-A3BB-18DD29776EC5}"
- RootNamespace="xdr"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{C5A0E74B-63C1-41E3-B291-B85FCC86FDF7}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FC110C72-7935-49D5-B25E-F96C87BA49E4}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc9.vcproj b/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc9.vcproj deleted file mode 100644 index 34ca6b4..0000000 --- a/xsd/dist/examples/cxx/tree/binary/xdr/xdr-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="xdr"
- ProjectGUID="{D9696808-1B73-43C9-A3BB-18DD29776EC5}"
- RootNamespace="xdr"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{C5A0E74B-63C1-41E3-B291-B85FCC86FDF7}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FC110C72-7935-49D5-B25E-F96C87BA49E4}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-insertion XDR --generate-extraction XDR library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj b/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj deleted file mode 100644 index 7bb6670..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>caching</ProjectName>
- <ProjectGuid>{932D8CD0-4E11-4C3A-9084-4D30DE75C2B7}</ProjectGuid>
- <RootNamespace>caching</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj.filters deleted file mode 100644 index 07ab0e9..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8953E6CC-4E46-4D97-9704-CE8F76672843}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AA1A2DB4-3798-4A0C-9339-FAA57753A0AC}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{88b19602-75bf-44d6-a995-f5e213e36528}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj b/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj deleted file mode 100644 index 1e8d543..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>caching</ProjectName>
- <ProjectGuid>{932D8CD0-4E11-4C3A-9084-4D30DE75C2B7}</ProjectGuid>
- <RootNamespace>caching</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj.filters deleted file mode 100644 index 07ab0e9..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8953E6CC-4E46-4D97-9704-CE8F76672843}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AA1A2DB4-3798-4A0C-9339-FAA57753A0AC}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{88b19602-75bf-44d6-a995-f5e213e36528}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj b/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj deleted file mode 100644 index 304d2c2..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>caching</ProjectName>
- <ProjectGuid>{932D8CD0-4E11-4C3A-9084-4D30DE75C2B7}</ProjectGuid>
- <RootNamespace>caching</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj.filters deleted file mode 100644 index 07ab0e9..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{8953E6CC-4E46-4D97-9704-CE8F76672843}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AA1A2DB4-3798-4A0C-9339-FAA57753A0AC}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{88b19602-75bf-44d6-a995-f5e213e36528}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc8.vcproj b/xsd/dist/examples/cxx/tree/caching/caching-vc8.vcproj deleted file mode 100644 index 3d75cb6..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="caching"
- ProjectGUID="{932D8CD0-4E11-4C3A-9084-4D30DE75C2B7}"
- RootNamespace="caching"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{8953E6CC-4E46-4D97-9704-CE8F76672843}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{AA1A2DB4-3798-4A0C-9339-FAA57753A0AC}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/caching/caching-vc9.vcproj b/xsd/dist/examples/cxx/tree/caching/caching-vc9.vcproj deleted file mode 100644 index b356172..0000000 --- a/xsd/dist/examples/cxx/tree/caching/caching-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="caching"
- ProjectGUID="{932D8CD0-4E11-4C3A-9084-4D30DE75C2B7}"
- RootNamespace="caching"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{8953E6CC-4E46-4D97-9704-CE8F76672843}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{AA1A2DB4-3798-4A0C-9339-FAA57753A0AC}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/caching/makefile b/xsd/dist/examples/cxx/tree/caching/makefile deleted file mode 100644 index d8d33fd..0000000 --- a/xsd/dist/examples/cxx/tree/caching/makefile +++ /dev/null @@ -1,28 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -# Build. -# -driver: driver.o library.o - -library.o: library.cxx library.hxx -driver.o: driver.cxx library.hxx - -library.cxx library.hxx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj b/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj deleted file mode 100644 index 0f084fb..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>compression</ProjectName>
- <ProjectGuid>{AA385EB4-7352-4865-9C5C-9F0DE7BA0060}</ProjectGuid>
- <RootNamespace>compression</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="compressed-format-target.cxx" />
- <ClCompile Include="compressed-input-source.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="compressed-format-target.hxx" />
- <ClInclude Include="compressed-input-source.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj.filters deleted file mode 100644 index 0156a51..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc10.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E38C94E8-B473-4B88-9C42-BD34C81BC24B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{408177AE-D480-4933-AED3-705D39F15C9F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0e78ae69-359d-42ea-8a3c-c60040f3aa2c}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-format-target.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-input-source.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-format-target.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-input-source.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj b/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj deleted file mode 100644 index 76c9887..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>compression</ProjectName>
- <ProjectGuid>{AA385EB4-7352-4865-9C5C-9F0DE7BA0060}</ProjectGuid>
- <RootNamespace>compression</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="compressed-format-target.cxx" />
- <ClCompile Include="compressed-input-source.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="compressed-format-target.hxx" />
- <ClInclude Include="compressed-input-source.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj.filters deleted file mode 100644 index 0156a51..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc11.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E38C94E8-B473-4B88-9C42-BD34C81BC24B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{408177AE-D480-4933-AED3-705D39F15C9F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0e78ae69-359d-42ea-8a3c-c60040f3aa2c}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-format-target.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-input-source.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-format-target.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-input-source.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj b/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj deleted file mode 100644 index 1e7a3b7..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj +++ /dev/null @@ -1,217 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>compression</ProjectName>
- <ProjectGuid>{AA385EB4-7352-4865-9C5C-9F0DE7BA0060}</ProjectGuid>
- <RootNamespace>compression</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;zdll.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="compressed-format-target.cxx" />
- <ClCompile Include="compressed-input-source.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="compressed-format-target.hxx" />
- <ClInclude Include="compressed-input-source.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj.filters deleted file mode 100644 index 0156a51..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc12.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E38C94E8-B473-4B88-9C42-BD34C81BC24B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{408177AE-D480-4933-AED3-705D39F15C9F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0e78ae69-359d-42ea-8a3c-c60040f3aa2c}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-format-target.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="compressed-input-source.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-format-target.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="compressed-input-source.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc8.vcproj b/xsd/dist/examples/cxx/tree/compression/compression-vc8.vcproj deleted file mode 100644 index 85b45d8..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc8.vcproj +++ /dev/null @@ -1,435 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="compression"
- ProjectGUID="{AA385EB4-7352-4865-9C5C-9F0DE7BA0060}"
- RootNamespace="compression"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E38C94E8-B473-4B88-9C42-BD34C81BC24B}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- <File
- RelativePath=".\compressed-format-target.cxx">
- </File>
- <File
- RelativePath=".\compressed-input-source.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{408177AE-D480-4933-AED3-705D39F15C9F}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- <File
- RelativePath=".\compressed-format-target.hxx">
- </File>
- <File
- RelativePath=".\compressed-input-source.hxx">
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-intellisense --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/compression/compression-vc9.vcproj b/xsd/dist/examples/cxx/tree/compression/compression-vc9.vcproj deleted file mode 100644 index 92ea1da..0000000 --- a/xsd/dist/examples/cxx/tree/compression/compression-vc9.vcproj +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="compression"
- ProjectGUID="{AA385EB4-7352-4865-9C5C-9F0DE7BA0060}"
- RootNamespace="compression"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib zdll.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E38C94E8-B473-4B88-9C42-BD34C81BC24B}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- <File
- RelativePath=".\compressed-format-target.cxx">
- </File>
- <File
- RelativePath=".\compressed-input-source.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{408177AE-D480-4933-AED3-705D39F15C9F}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- <File
- RelativePath=".\compressed-format-target.hxx">
- </File>
- <File
- RelativePath=".\compressed-input-source.hxx">
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/compression/makefile b/xsd/dist/examples/cxx/tree/compression/makefile deleted file mode 100644 index f55c6ad..0000000 --- a/xsd/dist/examples/cxx/tree/compression/makefile +++ /dev/null @@ -1,37 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-ostream --generate-serialization - -override LIBS += -lz - -# Build. -# -driver: driver.o library.o compressed-format-target.o compressed-input-source.o - -library.o: library.cxx library.hxx -driver.o: driver.cxx library.hxx compressed-format-target.hxx \ -compressed-input-source.hxx -compressed-format-target.o: compressed-format-target.cxx -compressed-input-source.o: compressed-input-source.cxx - -library.cxx library.hxx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml.gz - ./driver library.xml.gz - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o compressed-format-target.o \ -compressed-input-source.o driver out.xml.gz - diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj deleted file mode 100644 index 5d66876..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj +++ /dev/null @@ -1,229 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>calendar</ProjectName>
- <ProjectGuid>{2DB41EF7-0BED-45BA-A311-44D2719BFE09}</ProjectGuid>
- <RootNamespace>calendar</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj.filters deleted file mode 100644 index 943a2dc..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc10.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1F206676-7422-4DD5-94C3-7B9B2EC9C2D6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8D4FED5E-FA2A-44AB-94AC-C8F302E2E1F3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{5c4bcf4f-9ad2-4a82-adfb-91528fe6f2e5}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{df5d1e63-29c7-4626-853a-34fc5c7f7443}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj deleted file mode 100644 index aea4aab..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj +++ /dev/null @@ -1,233 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>calendar</ProjectName>
- <ProjectGuid>{2DB41EF7-0BED-45BA-A311-44D2719BFE09}</ProjectGuid>
- <RootNamespace>calendar</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj.filters deleted file mode 100644 index 943a2dc..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc11.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1F206676-7422-4DD5-94C3-7B9B2EC9C2D6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8D4FED5E-FA2A-44AB-94AC-C8F302E2E1F3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{5c4bcf4f-9ad2-4a82-adfb-91528fe6f2e5}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{df5d1e63-29c7-4626-853a-34fc5c7f7443}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj deleted file mode 100644 index d259aa3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj +++ /dev/null @@ -1,237 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>calendar</ProjectName>
- <ProjectGuid>{2DB41EF7-0BED-45BA-A311-44D2719BFE09}</ProjectGuid>
- <RootNamespace>calendar</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd calendar.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">calendar.hxx;calendar.ixx;calendar.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj.filters deleted file mode 100644 index 943a2dc..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc12.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1F206676-7422-4DD5-94C3-7B9B2EC9C2D6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8D4FED5E-FA2A-44AB-94AC-C8F302E2E1F3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{5c4bcf4f-9ad2-4a82-adfb-91528fe6f2e5}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{df5d1e63-29c7-4626-853a-34fc5c7f7443}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="calendar.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="calendar.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="calendar.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="calendar.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc8.vcproj deleted file mode 100644 index ea4e64d..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc8.vcproj +++ /dev/null @@ -1,456 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="calendar"
- ProjectGUID="{2DB41EF7-0BED-45BA-A311-44D2719BFE09}"
- RootNamespace="calendar"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-intellisense --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-intellisense --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-intellisense --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-intellisense --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1F206676-7422-4DD5-94C3-7B9B2EC9C2D6}"
- >
- <File
- RelativePath=".\calendar.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{8D4FED5E-FA2A-44AB-94AC-C8F302E2E1F3}"
- >
- <File
- RelativePath=".\calendar.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\calendar.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\calendar.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --extern-xml-schema xml-schema.xsd calendar.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --extern-xml-schema xml-schema.xsd calendar.xsd"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --extern-xml-schema xml-schema.xsd calendar.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --extern-xml-schema xml-schema.xsd calendar.xsd"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc9.vcproj deleted file mode 100644 index 6f0186e..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/calendar-vc9.vcproj +++ /dev/null @@ -1,453 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="calendar"
- ProjectGUID="{2DB41EF7-0BED-45BA-A311-44D2719BFE09}"
- RootNamespace="calendar"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --custom-type date --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1F206676-7422-4DD5-94C3-7B9B2EC9C2D6}"
- >
- <File
- RelativePath=".\calendar.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{8D4FED5E-FA2A-44AB-94AC-C8F302E2E1F3}"
- >
- <File
- RelativePath=".\calendar.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\calendar.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\calendar.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd calendar.xsd"
- CommandLine="xsd cxx-tree --generate-inline --extern-xml-schema xml-schema.xsd calendar.xsd"
- Outputs="calendar.hxx;calendar.ixx;calendar.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/calendar/makefile b/xsd/dist/examples/cxx/tree/custom/calendar/makefile deleted file mode 100644 index 009d647..0000000 --- a/xsd/dist/examples/cxx/tree/custom/calendar/makefile +++ /dev/null @@ -1,42 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --extern-xml-schema xml-schema.xsd - -override LIBS += -lboost_date_time - - -# Build. -# -driver: driver.o calendar.o xml-schema-custom.o - -driver.o: driver.cxx calendar.ixx calendar.hxx xml-schema.hxx xml-schema-custom.hxx -calendar.o: calendar.cxx calendar.ixx calendar.hxx xml-schema.hxx xml-schema-custom.hxx -xml-schema-custom.o: xml-schema.hxx xml-schema-custom.hxx - -calendar.cxx calendar.ixx calendar.hxx: calendar.xsd - -# Generate header for XML Schema namespace. -# -XML_SCHEMA_XSDFLAGS := --generate-xml-schema --custom-type date \ ---hxx-epilogue '\#include "xml-schema-custom.hxx"' - -xml-schema.hxx: - $(XSD) cxx-tree $(XML_SCHEMA_XSDFLAGS) xml-schema.xsd - - -# Test -# -.PHONY: test -test: driver calendar.xml - ./driver calendar.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f xml-schema.hxx xml-schema-custom.o calendar.o calendar.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj deleted file mode 100644 index 3e7e6b4..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj +++ /dev/null @@ -1,231 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>comments</ProjectName>
- <ProjectGuid>{262E34D2-48D2-4657-9DB2-F01FFDCEA295}</ProjectGuid>
- <RootNamespace>comments</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj.filters deleted file mode 100644 index 934cabe..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc10.vcxproj.filters +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{97CD019E-CFDE-4879-AB8C-97DB3B526F92}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8E3E001B-1C7C-4383-A18D-B83AA525773F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{07ed52c5-d0a0-4659-9a65-2ee052612d2c}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{515a4811-9a34-429e-9c6d-3b771934d8db}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj deleted file mode 100644 index b96f28e..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj +++ /dev/null @@ -1,235 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>comments</ProjectName>
- <ProjectGuid>{262E34D2-48D2-4657-9DB2-F01FFDCEA295}</ProjectGuid>
- <RootNamespace>comments</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj.filters deleted file mode 100644 index 934cabe..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc11.vcxproj.filters +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{97CD019E-CFDE-4879-AB8C-97DB3B526F92}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8E3E001B-1C7C-4383-A18D-B83AA525773F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{07ed52c5-d0a0-4659-9a65-2ee052612d2c}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{515a4811-9a34-429e-9c6d-3b771934d8db}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj deleted file mode 100644 index e237ff8..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj +++ /dev/null @@ -1,239 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>comments</ProjectName>
- <ProjectGuid>{262E34D2-48D2-4657-9DB2-F01FFDCEA295}</ProjectGuid>
- <RootNamespace>comments</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- <ClCompile Include="xml-schema-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- <ClInclude Include="xml-schema-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj.filters deleted file mode 100644 index 934cabe..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc12.vcxproj.filters +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{97CD019E-CFDE-4879-AB8C-97DB3B526F92}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{8E3E001B-1C7C-4383-A18D-B83AA525773F}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{07ed52c5-d0a0-4659-9a65-2ee052612d2c}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{515a4811-9a34-429e-9c6d-3b771934d8db}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="xml-schema-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc8.vcproj deleted file mode 100644 index 2093acf..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc8.vcproj +++ /dev/null @@ -1,464 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="comments"
- ProjectGUID="{262E34D2-48D2-4657-9DB2-F01FFDCEA295}"
- RootNamespace="comments"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{97CD019E-CFDE-4879-AB8C-97DB3B526F92}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{8E3E001B-1C7C-4383-A18D-B83AA525773F}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd people.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd people.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/comments/comments-vc9.vcproj deleted file mode 100644 index 43281c6..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/comments-vc9.vcproj +++ /dev/null @@ -1,461 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="comments"
- ProjectGUID="{262E34D2-48D2-4657-9DB2-F01FFDCEA295}"
- RootNamespace="comments"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type anyType=/type_base --hxx-epilogue "#include \"xml-schema-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{97CD019E-CFDE-4879-AB8C-97DB3B526F92}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{8E3E001B-1C7C-4383-A18D-B83AA525773F}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/comments/makefile b/xsd/dist/examples/cxx/tree/custom/comments/makefile deleted file mode 100644 index 4c231c6..0000000 --- a/xsd/dist/examples/cxx/tree/custom/comments/makefile +++ /dev/null @@ -1,49 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-serialization \ ---extern-xml-schema xml-schema.xsd - - -# Build. -# -driver: driver.o people.o xml-schema-custom.o dom-parse.o - -driver.o: driver.cxx dom-parse.hxx people.ixx people.hxx xml-schema.hxx xml-schema-custom.hxx -people.o: people.cxx people.ixx people.hxx xml-schema.hxx xml-schema-custom.hxx -xml-schema-custom.o: xml-schema.hxx xml-schema-custom.hxx -dom-parse.o: dom-parse.cxx dom-parse.hxx - -people.cxx people.ixx people.hxx: people.xsd - -# Generate header for XML Schema namespace. -# -XML_SCHEMA_XSDFLAGS := --generate-xml-schema --generate-serialization \ ---hxx-epilogue '\#include "xml-schema-custom.hxx"' - -ifneq ($(shell uname -o),Msys) -XML_SCHEMA_XSDFLAGS += --custom-type anyType=/type_base -else -# Prevent MSYS from converting / to Windows path. -XML_SCHEMA_XSDFLAGS += --custom-type anyType=//type_base -endif - -xml-schema.hxx: - $(XSD) cxx-tree $(XML_SCHEMA_XSDFLAGS) xml-schema.xsd - - -# Test -# -.PHONY: test -test: driver people.xml - ./driver people.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f xml-schema.hxx xml-schema-custom.o people.o people.?xx dom-parse.o driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj deleted file mode 100644 index e43ef84..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>contacts</ProjectName>
- <ProjectGuid>{9FB807C1-53EE-4E71-812F-89E8BE6FCB43}</ProjectGuid>
- <RootNamespace>contacts</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx" />
- <ClCompile Include="contacts.cxx" />
- <ClCompile Include="driver.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx" />
- <ClInclude Include="contacts.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj.filters deleted file mode 100644 index 4435f19..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc10.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{2E28B5D5-6E1D-434A-BFE2-2162751B243B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{92523A51-9884-450F-A581-5618AB14A9E3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{63214694-d62f-4e29-965b-bc5ecd1ac8b8}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8b44177f-b842-4c6c-bfb8-c25e433bc0a3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="contacts.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="contacts.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj deleted file mode 100644 index 0059939..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>contacts</ProjectName>
- <ProjectGuid>{9FB807C1-53EE-4E71-812F-89E8BE6FCB43}</ProjectGuid>
- <RootNamespace>contacts</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx" />
- <ClCompile Include="contacts.cxx" />
- <ClCompile Include="driver.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx" />
- <ClInclude Include="contacts.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj.filters deleted file mode 100644 index 4435f19..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc11.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{2E28B5D5-6E1D-434A-BFE2-2162751B243B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{92523A51-9884-450F-A581-5618AB14A9E3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{63214694-d62f-4e29-965b-bc5ecd1ac8b8}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8b44177f-b842-4c6c-bfb8-c25e433bc0a3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="contacts.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="contacts.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj deleted file mode 100644 index f955bda..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>contacts</ProjectName>
- <ProjectGuid>{9FB807C1-53EE-4E71-812F-89E8BE6FCB43}</ProjectGuid>
- <RootNamespace>contacts</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx" />
- <ClCompile Include="contacts.cxx" />
- <ClCompile Include="driver.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx" />
- <ClInclude Include="contacts.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd contacts.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">contacts.hxx;contacts.ixx;contacts.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj.filters deleted file mode 100644 index 4435f19..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc12.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{2E28B5D5-6E1D-434A-BFE2-2162751B243B}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{92523A51-9884-450F-A581-5618AB14A9E3}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{63214694-d62f-4e29-965b-bc5ecd1ac8b8}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{8b44177f-b842-4c6c-bfb8-c25e433bc0a3}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="contacts-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="contacts.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="contacts-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="contacts.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="contacts.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="contacts.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc8.vcproj deleted file mode 100644 index a7985ee..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc8.vcproj +++ /dev/null @@ -1,440 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="contacts"
- ProjectGUID="{9FB807C1-53EE-4E71-812F-89E8BE6FCB43}"
- RootNamespace="contacts"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{2E28B5D5-6E1D-434A-BFE2-2162751B243B}"
- >
- <File
- RelativePath=".\contacts-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\contacts.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{92523A51-9884-450F-A581-5618AB14A9E3}"
- >
- <File
- RelativePath=".\contacts-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\contacts.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\contacts.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\contacts.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-intellisense --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc9.vcproj deleted file mode 100644 index 6305933..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/contacts-vc9.vcproj +++ /dev/null @@ -1,437 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="contacts"
- ProjectGUID="{9FB807C1-53EE-4E71-812F-89E8BE6FCB43}"
- RootNamespace="contacts"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{2E28B5D5-6E1D-434A-BFE2-2162751B243B}"
- >
- <File
- RelativePath=".\contacts-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\contacts.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{92523A51-9884-450F-A581-5618AB14A9E3}"
- >
- <File
- RelativePath=".\contacts-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\contacts.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\contacts.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\contacts.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd contacts.xsd"
- CommandLine="xsd cxx-tree --generate-inline --custom-type contact=/contact_base --hxx-epilogue "#include \"contacts-custom.hxx\"" contacts.xsd"
- Outputs="contacts.hxx;contacts.ixx;contacts.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/contacts/makefile b/xsd/dist/examples/cxx/tree/custom/contacts/makefile deleted file mode 100644 index 845f6c3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/contacts/makefile +++ /dev/null @@ -1,39 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline \ ---hxx-epilogue '\#include "contacts-custom.hxx"' - -ifneq ($(shell uname -o),Msys) -override XSDFLAGS += --custom-type contact=/contact_base -else -# Prevent MSYS from converting / to Windows path. -override XSDFLAGS += --custom-type contact=//contact_base -endif - -# Build. -# -driver: driver.o contacts.o contacts-custom.o - -contacts.o: contacts.cxx contacts.ixx contacts.hxx contacts-custom.hxx -driver.o: driver.cxx contacts.ixx contacts.hxx contacts-custom.hxx -contacts-custom.o: contacts-custom.cxx contacts.ixx contacts.hxx contacts-custom.hxx - -contacts.cxx contacts.hxx contacts.ixx: contacts.xsd - - -# Test -# -.PHONY: test -test: driver contacts.xml - ./driver contacts.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f contacts-custom.o contacts.o contacts.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj deleted file mode 100644 index fcedc48..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj +++ /dev/null @@ -1,229 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>double</ProjectName>
- <ProjectGuid>{CCE6AE91-39AC-49B6-8763-742B65FCD92E}</ProjectGuid>
- <RootNamespace>double</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="order.cxx" />
- <ClCompile Include="double-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx" />
- <ClInclude Include="double-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj.filters deleted file mode 100644 index b36f95b..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc10.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{9AB5F296-2836-4A71-A39E-8D63EECB86D8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDC85F55-DEE6-4EB3-9B72-1CBDDA21CFBE}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{69c0bc69-f38e-42f7-8c11-cd6c1a121574}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{bad36e63-36c2-4233-87a2-68af084d612a}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="order.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="double-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="double-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj deleted file mode 100644 index eebb33b..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj +++ /dev/null @@ -1,233 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>double</ProjectName>
- <ProjectGuid>{CCE6AE91-39AC-49B6-8763-742B65FCD92E}</ProjectGuid>
- <RootNamespace>double</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="order.cxx" />
- <ClCompile Include="double-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx" />
- <ClInclude Include="double-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj.filters deleted file mode 100644 index b36f95b..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc11.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{9AB5F296-2836-4A71-A39E-8D63EECB86D8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDC85F55-DEE6-4EB3-9B72-1CBDDA21CFBE}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{69c0bc69-f38e-42f7-8c11-cd6c1a121574}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{bad36e63-36c2-4233-87a2-68af084d612a}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="order.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="double-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="double-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj deleted file mode 100644 index 537153e..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj +++ /dev/null @@ -1,237 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>double</ProjectName>
- <ProjectGuid>{CCE6AE91-39AC-49B6-8763-742B65FCD92E}</ProjectGuid>
- <RootNamespace>double</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</PreBuildEventUseInBuild>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <PreBuildEvent>
- <Message>xsd xml-schema.xsd</Message>
- <Command>xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd</Command>
- </PreBuildEvent>
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="order.cxx" />
- <ClCompile Include="double-custom.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx" />
- <ClInclude Include="double-custom.hxx" />
- <ClInclude Include="xml-schema.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xml-schema.hxx;%(AdditionalInputs)</AdditionalInputs>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd order.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">order.hxx;order.ixx;order.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj.filters deleted file mode 100644 index b36f95b..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc12.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{9AB5F296-2836-4A71-A39E-8D63EECB86D8}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{CDC85F55-DEE6-4EB3-9B72-1CBDDA21CFBE}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{69c0bc69-f38e-42f7-8c11-cd6c1a121574}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{bad36e63-36c2-4233-87a2-68af084d612a}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="order.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="double-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="order.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="double-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="xml-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="order.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="order.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/double/double-vc8.vcproj deleted file mode 100644 index 39a1945..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc8.vcproj +++ /dev/null @@ -1,456 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="double"
- ProjectGUID="{CCE6AE91-39AC-49B6-8763-742B65FCD92E}"
- RootNamespace="double"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --generate-intellisense --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{9AB5F296-2836-4A71-A39E-8D63EECB86D8}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\order.cxx"
- >
- </File>
- <File
- RelativePath=".\double-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{CDC85F55-DEE6-4EB3-9B72-1CBDDA21CFBE}"
- >
- <File
- RelativePath=".\order.hxx"
- >
- </File>
- <File
- RelativePath=".\double-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\order.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\order.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd order.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd order.xsd"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd order.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --extern-xml-schema xml-schema.xsd order.xsd"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/double/double-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/double/double-vc9.vcproj deleted file mode 100644 index 8cb6e4e..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/double-vc9.vcproj +++ /dev/null @@ -1,453 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="double"
- ProjectGUID="{CCE6AE91-39AC-49B6-8763-742B65FCD92E}"
- RootNamespace="double"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- ExcludedFromBuild="false"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- Description="xsd xml-schema.xsd"
- CommandLine="xsd cxx-tree --generate-xml-schema --generate-serialization --custom-type double=double --hxx-epilogue "#include \"double-custom.hxx\"" xml-schema.xsd"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{9AB5F296-2836-4A71-A39E-8D63EECB86D8}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\order.cxx"
- >
- </File>
- <File
- RelativePath=".\double-custom.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{CDC85F55-DEE6-4EB3-9B72-1CBDDA21CFBE}"
- >
- <File
- RelativePath=".\order.hxx"
- >
- </File>
- <File
- RelativePath=".\double-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\xml-schema.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\order.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\order.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd"
- AdditionalDependencies="xml-schema.hxx"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd order.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --extern-xml-schema xml-schema.xsd order.xsd"
- Outputs="order.hxx;order.ixx;order.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/double/makefile b/xsd/dist/examples/cxx/tree/custom/double/makefile deleted file mode 100644 index 9480279..0000000 --- a/xsd/dist/examples/cxx/tree/custom/double/makefile +++ /dev/null @@ -1,42 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-serialization \ ---extern-xml-schema xml-schema.xsd - - -# Build. -# -driver: driver.o order.o double-custom.o - -driver.o: driver.cxx order.ixx order.hxx xml-schema.hxx double-custom.hxx -order.o: order.cxx order.ixx order.hxx xml-schema.hxx double-custom.hxx -double-custom.o: xml-schema.hxx double-custom.hxx - -order.cxx order.ixx order.hxx: order.xsd - -# Generate header for XML Schema namespace. -# -XML_SCHEMA_XSDFLAGS := --generate-xml-schema --generate-serialization \ ---custom-type double=double \ ---hxx-epilogue '\#include "double-custom.hxx"' - -xml-schema.hxx: - $(XSD) cxx-tree $(XML_SCHEMA_XSDFLAGS) xml-schema.xsd - - -# Test -# -.PHONY: test -test: driver - ./driver - - -# Clean. -# -.PHONY: clean -clean: - rm -f xml-schema.hxx double-custom.o order.o order.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/makefile b/xsd/dist/examples/cxx/tree/custom/makefile deleted file mode 100644 index 584f599..0000000 --- a/xsd/dist/examples/cxx/tree/custom/makefile +++ /dev/null @@ -1,15 +0,0 @@ -dirs := comments contacts double mixed taxonomy wildcard - -ifeq ($(WITH_BOOST),1) -dirs += calendar -endif - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/makefile b/xsd/dist/examples/cxx/tree/custom/mixed/makefile deleted file mode 100644 index c5dac63..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/makefile +++ /dev/null @@ -1,40 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-serialization \ ---hxx-epilogue '\#include "people-custom.hxx"' - -ifneq ($(shell uname -o),Msys) -override XSDFLAGS += --custom-type bio=/bio_base -else -# Prevent MSYS from converting / to Windows path. -override XSDFLAGS += --custom-type bio=//bio_base -endif - - -# Build. -# -driver: driver.o people.o people-custom.o - -people.o: people.cxx people.ixx people.hxx people-custom.hxx -driver.o: driver.cxx people.ixx people.hxx people-custom.hxx -people-custom.o: people-custom.cxx people.ixx people.hxx people-custom.hxx - -people.cxx people.hxx people.ixx: people.xsd - - -# Test -# -.PHONY: test -test: driver people.xml - ./driver people.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f people-custom.o people.o people.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj deleted file mode 100644 index 86258d4..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{26CE0C08-7621-403A-88A7-206E64F32C66}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj.filters deleted file mode 100644 index 1f317e1..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc10.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{CBA3D0E2-DDB8-4ABE-8B5A-7A28191CA323}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{54846A6A-25CD-4C8C-A5F1-2DAC77554F47}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{ba5c74eb-b935-4573-98b5-2987ed135ec6}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b02fd6d3-59e2-4819-9c5b-66ef2b5834a0}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj deleted file mode 100644 index 9afcc81..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{26CE0C08-7621-403A-88A7-206E64F32C66}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj.filters deleted file mode 100644 index 1f317e1..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc11.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{CBA3D0E2-DDB8-4ABE-8B5A-7A28191CA323}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{54846A6A-25CD-4C8C-A5F1-2DAC77554F47}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{ba5c74eb-b935-4573-98b5-2987ed135ec6}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b02fd6d3-59e2-4819-9c5b-66ef2b5834a0}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj deleted file mode 100644 index a7b4f73..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{26CE0C08-7621-403A-88A7-206E64F32C66}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj.filters deleted file mode 100644 index 1f317e1..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc12.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{CBA3D0E2-DDB8-4ABE-8B5A-7A28191CA323}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{54846A6A-25CD-4C8C-A5F1-2DAC77554F47}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{ba5c74eb-b935-4573-98b5-2987ed135ec6}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b02fd6d3-59e2-4819-9c5b-66ef2b5834a0}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc8.vcproj deleted file mode 100644 index a02149b..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc8.vcproj +++ /dev/null @@ -1,440 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="mixed"
- ProjectGUID="{26CE0C08-7621-403A-88A7-206E64F32C66}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{CBA3D0E2-DDB8-4ABE-8B5A-7A28191CA323}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{54846A6A-25CD-4C8C-A5F1-2DAC77554F47}"
- >
- <File
- RelativePath=".\people-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc9.vcproj deleted file mode 100644 index 331c786..0000000 --- a/xsd/dist/examples/cxx/tree/custom/mixed/mixed-vc9.vcproj +++ /dev/null @@ -1,437 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="mixed"
- ProjectGUID="{26CE0C08-7621-403A-88A7-206E64F32C66}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{CBA3D0E2-DDB8-4ABE-8B5A-7A28191CA323}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{54846A6A-25CD-4C8C-A5F1-2DAC77554F47}"
- >
- <File
- RelativePath=".\people-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --custom-type bio=/bio_base --hxx-epilogue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile b/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile deleted file mode 100644 index 11fa6ef..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/makefile +++ /dev/null @@ -1,39 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-forward \ ---generate-polymorphic \ ---polymorphic-type person \ ---custom-type "person=person_impl<person_base>/person_base" \ ---custom-type "superman=superman_impl<superman_base>/superman_base" \ ---custom-type "batman=batman_impl<batman_base>/batman_base" \ ---fwd-prologue '\#include "people-custom-fwd.hxx"' \ ---hxx-prologue '\#include "people-custom.hxx"' - - -# Build. -# -driver: driver.o people.o people-custom.o - -people.o: people.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx -driver.o: driver.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx -people-custom.o: people-custom.cxx people.ixx people.hxx people-custom.hxx people-custom-fwd.hxx - -people.cxx people.ixx people.hxx people-fwd.hxx: people.xsd - - -# Test -# -.PHONY: test -test: driver people.xml - ./driver people.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f people-custom.o people.o people-fwd.hxx people.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj deleted file mode 100644 index 24040c6..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>taxonomy</ProjectName>
- <ProjectGuid>{B3108E70-7B4E-4DDA-8872-0DC4AFDCB2D9}</ProjectGuid>
- <RootNamespace>taxonomy</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx" />
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people-fwd.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj.filters deleted file mode 100644 index 78058c3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc10.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E2FFBF97-01E8-483D-8B32-D8D6F065E4C7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0B3DDFAD-4254-48B9-BB24-1FC92DD1E7F6}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a33f9d45-baba-483a-83c4-9421790f7d92}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0c14530b-7a4b-4841-864e-e8da7ae18eea}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj deleted file mode 100644 index f10b12a..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>taxonomy</ProjectName>
- <ProjectGuid>{B3108E70-7B4E-4DDA-8872-0DC4AFDCB2D9}</ProjectGuid>
- <RootNamespace>taxonomy</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx" />
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people-fwd.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj.filters deleted file mode 100644 index 78058c3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc11.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E2FFBF97-01E8-483D-8B32-D8D6F065E4C7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0B3DDFAD-4254-48B9-BB24-1FC92DD1E7F6}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a33f9d45-baba-483a-83c4-9421790f7d92}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0c14530b-7a4b-4841-864e-e8da7ae18eea}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj deleted file mode 100644 index c5579d9..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj +++ /dev/null @@ -1,218 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>taxonomy</ProjectName>
- <ProjectGuid>{B3108E70-7B4E-4DDA-8872-0DC4AFDCB2D9}</ProjectGuid>
- <RootNamespace>taxonomy</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people-custom.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx" />
- <ClInclude Include="people-custom.hxx" />
- <ClInclude Include="people-fwd.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people-fwd.hxx;people.hxx;people.ixx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj.filters deleted file mode 100644 index 78058c3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc12.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E2FFBF97-01E8-483D-8B32-D8D6F065E4C7}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{0B3DDFAD-4254-48B9-BB24-1FC92DD1E7F6}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{a33f9d45-baba-483a-83c4-9421790f7d92}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{0c14530b-7a4b-4841-864e-e8da7ae18eea}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="people-custom-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people-fwd.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="people.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc8.vcproj deleted file mode 100644 index 74744f4..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc8.vcproj +++ /dev/null @@ -1,448 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="taxonomy"
- ProjectGUID="{B3108E70-7B4E-4DDA-8872-0DC4AFDCB2D9}"
- RootNamespace="taxonomy"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E2FFBF97-01E8-483D-8B32-D8D6F065E4C7}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{0B3DDFAD-4254-48B9-BB24-1FC92DD1E7F6}"
- >
- <File
- RelativePath=".\people-custom-fwd.hxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\people-fwd.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --generate-intellisense --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --generate-intellisense --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --generate-intellisense --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --generate-intellisense --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc9.vcproj deleted file mode 100644 index 1ff90d3..0000000 --- a/xsd/dist/examples/cxx/tree/custom/taxonomy/taxonomy-vc9.vcproj +++ /dev/null @@ -1,445 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="taxonomy"
- ProjectGUID="{B3108E70-7B4E-4DDA-8872-0DC4AFDCB2D9}"
- RootNamespace="taxonomy"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E2FFBF97-01E8-483D-8B32-D8D6F065E4C7}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{0B3DDFAD-4254-48B9-BB24-1FC92DD1E7F6}"
- >
- <File
- RelativePath=".\people-custom-fwd.hxx"
- >
- </File>
- <File
- RelativePath=".\people-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\people-fwd.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\people.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-forward --generate-polymorphic --polymorphic-type person --custom-type "person=person_impl<person_base>/person_base" --custom-type "superman=superman_impl<superman_base>/superman_base" --custom-type "batman=batman_impl<batman_base>/batman_base" --fwd-prologue "#include \"people-custom-fwd.hxx\"" --hxx-prologue "#include \"people-custom.hxx\"" people.xsd"
- Outputs="people-fwd.hxx,people.hxx;people.ixx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/makefile b/xsd/dist/examples/cxx/tree/custom/wildcard/makefile deleted file mode 100644 index f7561a2..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/makefile +++ /dev/null @@ -1,40 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-ostream \ ---generate-serialization --hxx-epilogue '\#include "wildcard-custom.hxx"' - -ifneq ($(shell uname -o),Msys) -override XSDFLAGS += --custom-type data=/data_base -else -# Prevent MSYS from converting / to Windows path. -override XSDFLAGS += --custom-type data=//data_base -endif - - -# Build. -# -driver: driver.o wildcard.o wildcard-custom.o - -wildcard.o: wildcard.cxx wildcard.ixx wildcard.hxx wildcard-custom.hxx -driver.o: driver.cxx wildcard.ixx wildcard.hxx wildcard-custom.hxx -wildcard-custom.o: wildcard-custom.cxx wildcard.ixx wildcard.hxx wildcard-custom.hxx - -wildcard.cxx wildcard.hxx wildcard.ixx: wildcard.xsd - - -# Test -# -.PHONY: test -test: driver wildcard.xml - ./driver wildcard.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f wildcard-custom.o wildcard.o wildcard.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj deleted file mode 100644 index 7076dd6..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj +++ /dev/null @@ -1,208 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{6CE6CDEC-F8DE-42D0-80F8-E71C0DD8F897}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="wildcard-custom.cxx" />
- <ClCompile Include="wildcard.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx" />
- <ClInclude Include="wildcard.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj.filters deleted file mode 100644 index b67a77a..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc10.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{426B0A1E-659E-40E5-B93B-EF76EBBE0C0A}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{42AF0399-9A66-43B2-94AA-DBF9BEEF1E92}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{0e336f4b-1f4c-4838-9a6a-183c80df8b67}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{228a47a0-93d7-4c99-9486-a589705ee401}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="wildcard.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj deleted file mode 100644 index da17a00..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj +++ /dev/null @@ -1,212 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{6CE6CDEC-F8DE-42D0-80F8-E71C0DD8F897}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="wildcard-custom.cxx" />
- <ClCompile Include="wildcard.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx" />
- <ClInclude Include="wildcard.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj.filters deleted file mode 100644 index b67a77a..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc11.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{426B0A1E-659E-40E5-B93B-EF76EBBE0C0A}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{42AF0399-9A66-43B2-94AA-DBF9BEEF1E92}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{0e336f4b-1f4c-4838-9a6a-183c80df8b67}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{228a47a0-93d7-4c99-9486-a589705ee401}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="wildcard.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj deleted file mode 100644 index a6ff440..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj +++ /dev/null @@ -1,216 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{6CE6CDEC-F8DE-42D0-80F8-E71C0DD8F897}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="wildcard-custom.cxx" />
- <ClCompile Include="wildcard.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx" />
- <ClInclude Include="wildcard.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd wildcard.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">wildcard.hxx;wildcard.ixx;wildcard.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj.filters deleted file mode 100644 index b67a77a..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc12.vcxproj.filters +++ /dev/null @@ -1,51 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{426B0A1E-659E-40E5-B93B-EF76EBBE0C0A}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{42AF0399-9A66-43B2-94AA-DBF9BEEF1E92}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{0e336f4b-1f4c-4838-9a6a-183c80df8b67}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{228a47a0-93d7-4c99-9486-a589705ee401}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard-custom.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="wildcard.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="wildcard-custom.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="wildcard.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="wildcard.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="wildcard.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc8.vcproj b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc8.vcproj deleted file mode 100644 index 917fddd..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc8.vcproj +++ /dev/null @@ -1,440 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="wildcard"
- ProjectGUID="{6CE6CDEC-F8DE-42D0-80F8-E71C0DD8F897}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{426B0A1E-659E-40E5-B93B-EF76EBBE0C0A}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\wildcard-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\wildcard.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{42AF0399-9A66-43B2-94AA-DBF9BEEF1E92}"
- >
- <File
- RelativePath=".\wildcard-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\wildcard.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\wildcard.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\wildcard.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc9.vcproj b/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc9.vcproj deleted file mode 100644 index 16cab0c..0000000 --- a/xsd/dist/examples/cxx/tree/custom/wildcard/wildcard-vc9.vcproj +++ /dev/null @@ -1,437 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="wildcard"
- ProjectGUID="{6CE6CDEC-F8DE-42D0-80F8-E71C0DD8F897}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{426B0A1E-659E-40E5-B93B-EF76EBBE0C0A}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\wildcard-custom.cxx"
- >
- </File>
- <File
- RelativePath=".\wildcard.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{42AF0399-9A66-43B2-94AA-DBF9BEEF1E92}"
- >
- <File
- RelativePath=".\wildcard-custom.hxx"
- >
- </File>
- <File
- RelativePath=".\wildcard.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\wildcard.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\wildcard.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd wildcard.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --custom-type data=/data_base --hxx-epilogue "#include \"wildcard-custom.hxx\"" wildcard.xsd"
- Outputs="wildcard.hxx;wildcard.ixx;wildcard.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.sln b/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.sln deleted file mode 100644 index 0204487..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.sln +++ /dev/null @@ -1,38 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsdbin", "xsdbin-vc10.vcxproj", "{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "embedded", "embedded-vc10.vcxproj", "{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
-
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.ActiveCfg = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.Build.0 = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.ActiveCfg = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.Build.0 = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.ActiveCfg = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.Build.0 = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.ActiveCfg = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.Build.0 = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.Build.0 = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.ActiveCfg = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.Build.0 = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.ActiveCfg = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.Build.0 = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.ActiveCfg = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.Build.0 = Release|x64
-
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj b/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj deleted file mode 100644 index 859b20b..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>embedded</ProjectName>
- <ProjectGuid>{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}</ProjectGuid>
- <RootNamespace>embedded</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="library-schema.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="library-schema.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="xsdbin-vc10.vcxproj">
- <Project>{a3f6e060-d536-4a43-af4b-89063f65de91}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj.filters deleted file mode 100644 index 42beedc..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc10.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1D046D9C-4D20-4084-A1F4-90488E0B0669}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E2D458FA-56FA-4268-998B-BF3934169712}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{a57574af-3c36-408f-9f8e-5140fe6abbf6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-schema.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.sln b/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.sln deleted file mode 100644 index dc8273d..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.sln +++ /dev/null @@ -1,38 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsdbin", "xsdbin-vc11.vcxproj", "{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "embedded", "embedded-vc11.vcxproj", "{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
-
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.ActiveCfg = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.Build.0 = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.ActiveCfg = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.Build.0 = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.ActiveCfg = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.Build.0 = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.ActiveCfg = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.Build.0 = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.Build.0 = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.ActiveCfg = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.Build.0 = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.ActiveCfg = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.Build.0 = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.ActiveCfg = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.Build.0 = Release|x64
-
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj b/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj deleted file mode 100644 index 4fcc53a..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj +++ /dev/null @@ -1,219 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>embedded</ProjectName>
- <ProjectGuid>{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}</ProjectGuid>
- <RootNamespace>embedded</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="library-schema.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="library-schema.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="xsdbin-vc11.vcxproj">
- <Project>{a3f6e060-d536-4a43-af4b-89063f65de91}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj.filters deleted file mode 100644 index 42beedc..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc11.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1D046D9C-4D20-4084-A1F4-90488E0B0669}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E2D458FA-56FA-4268-998B-BF3934169712}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{a57574af-3c36-408f-9f8e-5140fe6abbf6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-schema.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.sln b/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.sln deleted file mode 100644 index 1a70889..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.sln +++ /dev/null @@ -1,40 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2013
-VisualStudioVersion = 12.0.21005.1
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsdbin", "xsdbin-vc12.vcxproj", "{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "embedded", "embedded-vc12.vcxproj", "{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
-
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.Build.0 = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.ActiveCfg = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.Build.0 = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.ActiveCfg = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.Build.0 = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.ActiveCfg = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.Build.0 = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.ActiveCfg = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.Build.0 = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.ActiveCfg = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.Build.0 = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.ActiveCfg = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.Build.0 = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.ActiveCfg = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.Build.0 = Release|x64
-
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj b/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj deleted file mode 100644 index bc2682f..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj +++ /dev/null @@ -1,223 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>embedded</ProjectName>
- <ProjectGuid>{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}</ProjectGuid>
- <RootNamespace>embedded</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- <ClCompile Include="library-schema.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- <ClInclude Include="library-schema.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree library.xsd && xsdbin.exe library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.cxx;library-schema.hxx;library-schema.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="xsdbin-vc12.vcxproj">
- <Project>{a3f6e060-d536-4a43-af4b-89063f65de91}</Project>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj.filters deleted file mode 100644 index 42beedc..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc12.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{1D046D9C-4D20-4084-A1F4-90488E0B0669}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E2D458FA-56FA-4268-998B-BF3934169712}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{a57574af-3c36-408f-9f8e-5140fe6abbf6}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library-schema.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="library-schema.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.sln b/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.sln deleted file mode 100644 index 29a7c60..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.sln +++ /dev/null @@ -1,41 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsdbin", "xsdbin-vc8.vcproj", "{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "embedded", "embedded-vc8.vcproj", "{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
- ProjectSection(ProjectDependencies) = postProject
- {A3F6E060-D536-4A43-AF4B-89063F65DE91} = {A3F6E060-D536-4A43-AF4B-89063F65DE91}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- Debug|x64 = Debug|x64
- Release|x64 = Release|x64
-
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.Build.0 = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.ActiveCfg = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.Build.0 = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.ActiveCfg = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.Build.0 = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.ActiveCfg = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.Build.0 = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.ActiveCfg = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.Build.0 = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.ActiveCfg = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.Build.0 = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.ActiveCfg = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.Build.0 = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.ActiveCfg = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.Build.0 = Release|x64
-
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.vcproj b/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.vcproj deleted file mode 100644 index d0df22c..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc8.vcproj +++ /dev/null @@ -1,439 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="embedded"
- ProjectGUID="{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
- RootNamespace="embedded"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1D046D9C-4D20-4084-A1F4-90488E0B0669}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- <File
- RelativePath=".\library-schema.cxx"
- >
- </File>
- <File
- RelativePath=".\grammar-input-stream.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E2D458FA-56FA-4268-998B-BF3934169712}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- <File
- RelativePath=".\library-schema.hxx"
- >
- </File>
- <File
- RelativePath=".\grammar-input-stream.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.sln b/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.sln deleted file mode 100644 index 96f10ed..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.sln +++ /dev/null @@ -1,41 +0,0 @@ -
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsdbin", "xsdbin-vc9.vcproj", "{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "embedded", "embedded-vc9.vcproj", "{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
- ProjectSection(ProjectDependencies) = postProject
- {A3F6E060-D536-4A43-AF4B-89063F65DE91} = {A3F6E060-D536-4A43-AF4B-89063F65DE91}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
-
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.ActiveCfg = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|Win32.Build.0 = Debug|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.ActiveCfg = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Debug|x64.Build.0 = Debug|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.ActiveCfg = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|Win32.Build.0 = Release|Win32
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.ActiveCfg = Release|x64
- {A3F6E060-D536-4A43-AF4B-89063F65DE91}.Release|x64.Build.0 = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.ActiveCfg = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|Win32.Build.0 = Debug|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.ActiveCfg = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Debug|x64.Build.0 = Debug|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.ActiveCfg = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|Win32.Build.0 = Release|Win32
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.ActiveCfg = Release|x64
- {9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}.Release|x64.Build.0 = Release|x64
-
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.vcproj b/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.vcproj deleted file mode 100644 index bf5498c..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/embedded-vc9.vcproj +++ /dev/null @@ -1,436 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="embedded"
- ProjectGUID="{9C8C2AA4-DF31-4884-B3B9-A6A36F3CB429}"
- RootNamespace="embedded"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{1D046D9C-4D20-4084-A1F4-90488E0B0669}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- <File
- RelativePath=".\library-schema.cxx"
- >
- </File>
- <File
- RelativePath=".\grammar-input-stream.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E2D458FA-56FA-4268-998B-BF3934169712}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- <File
- RelativePath=".\library-schema.hxx"
- >
- </File>
- <File
- RelativePath=".\grammar-input-stream.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree library.xsd && xsdbin.exe library.xsd"
- Outputs="library.hxx;library.cxx;library-schema.hxx;library-schema.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/embedded/makefile b/xsd/dist/examples/cxx/tree/embedded/makefile deleted file mode 100644 index 0879da9..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/makefile +++ /dev/null @@ -1,36 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -# Build. -# -driver: driver.o library.o library-schema.o grammar-input-stream.o -xsdbin: xsdbin.o - -library.o: library.cxx library.hxx -driver.o: driver.cxx library.hxx library-schema.hxx -library-schema.o: library-schema.cxx library-schema.hxx -grammar-input-stream.o: grammar-input-stream.cxx grammar-input-stream.hxx - -library.cxx library.hxx: library.xsd -library-schema.cxx library-schema.hxx: library.xsd - -.PRECIOUS: %-schema.cxx %-schema.hxx -%-schema.cxx %-schema.hxx: %.xsd xsdbin - ./xsdbin $< - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx library-schema.?xx driver.o \ -library-schema.o grammar-input-stream.o xsdbin.o xsdbin driver diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj deleted file mode 100644 index a57a876..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj +++ /dev/null @@ -1,182 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xsdbin</ProjectName>
- <ProjectGuid>{A3F6E060-D536-4A43-AF4B-89063F65DE91}</ProjectGuid>
- <RootNamespace>xsdbin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsdbin</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj.filters deleted file mode 100644 index 27abb01..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc10.vcxproj.filters +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{D9727125-E5B7-4777-8EB3-6EE957552516}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj deleted file mode 100644 index 1cfce63..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj +++ /dev/null @@ -1,186 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xsdbin</ProjectName>
- <ProjectGuid>{A3F6E060-D536-4A43-AF4B-89063F65DE91}</ProjectGuid>
- <RootNamespace>xsdbin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsdbin</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj.filters deleted file mode 100644 index 27abb01..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc11.vcxproj.filters +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{D9727125-E5B7-4777-8EB3-6EE957552516}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj deleted file mode 100644 index eb66e81..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj +++ /dev/null @@ -1,190 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xsdbin</ProjectName>
- <ProjectGuid>{A3F6E060-D536-4A43-AF4B-89063F65DE91}</ProjectGuid>
- <RootNamespace>xsdbin</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsdbin</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsdbin</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\xsdbin\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)xsdbin.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj.filters deleted file mode 100644 index 27abb01..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc12.vcxproj.filters +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{D9727125-E5B7-4777-8EB3-6EE957552516}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="xsdbin.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc8.vcproj b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc8.vcproj deleted file mode 100644 index 095024f..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc8.vcproj +++ /dev/null @@ -1,356 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="xsdbin"
- ProjectGUID="{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
- RootNamespace="xsdbin"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug\xsdbin"
- IntermediateDirectory="Debug\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/xsdbin.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release\xsdbin"
- IntermediateDirectory="Release\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/xsdbin.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{D9727125-E5B7-4777-8EB3-6EE957552516}"
- >
- <File
- RelativePath=".\xsdbin.cxx"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc9.vcproj b/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc9.vcproj deleted file mode 100644 index 1cb2ead..0000000 --- a/xsd/dist/examples/cxx/tree/embedded/xsdbin-vc9.vcproj +++ /dev/null @@ -1,353 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="xsdbin"
- ProjectGUID="{A3F6E060-D536-4A43-AF4B-89063F65DE91}"
- RootNamespace="xsdbin"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug\xsdbin"
- IntermediateDirectory="Debug\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/xsdbin.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/xsdbin.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release\xsdbin"
- IntermediateDirectory="Release\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)\xsdbin"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="xsdbin.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{D9727125-E5B7-4777-8EB3-6EE957552516}"
- >
- <File
- RelativePath=".\xsdbin.cxx"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj b/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj deleted file mode 100644 index a9e0544..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{538CCAB6-984B-4602-B0D0-985E8FD4FEB9}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj.filters deleted file mode 100644 index 732378a..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{D512D9C4-9DDD-4830-A487-1D87DB0643D5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj b/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj deleted file mode 100644 index c3f4c4f..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{538CCAB6-984B-4602-B0D0-985E8FD4FEB9}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj.filters deleted file mode 100644 index 732378a..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{D512D9C4-9DDD-4830-A487-1D87DB0643D5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj b/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj deleted file mode 100644 index 031c47e..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>hello</ProjectName>
- <ProjectGuid>{538CCAB6-984B-4602-B0D0-985E8FD4FEB9}</ProjectGuid>
- <RootNamespace>hello</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="hello.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd hello.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree hello.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">hello.cxx;hello.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj.filters deleted file mode 100644 index 732378a..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{D512D9C4-9DDD-4830-A487-1D87DB0643D5}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="hello.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="hello.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="hello.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc8.vcproj b/xsd/dist/examples/cxx/tree/hello/hello-vc8.vcproj deleted file mode 100644 index c961754..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="hello"
- ProjectGUID="{538CCAB6-984B-4602-B0D0-985E8FD4FEB9}"
- RootNamespace="hello"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\hello.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\hello.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\hello.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/hello/hello-vc9.vcproj b/xsd/dist/examples/cxx/tree/hello/hello-vc9.vcproj deleted file mode 100644 index 20eed13..0000000 --- a/xsd/dist/examples/cxx/tree/hello/hello-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="hello"
- ProjectGUID="{538CCAB6-984B-4602-B0D0-985E8FD4FEB9}"
- RootNamespace="hello"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\hello.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\hello.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\hello.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd hello.xsd"
- CommandLine="xsd.exe cxx-tree hello.xsd"
- Outputs="hello.cxx;hello.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/hello/makefile b/xsd/dist/examples/cxx/tree/hello/makefile deleted file mode 100644 index 7886049..0000000 --- a/xsd/dist/examples/cxx/tree/hello/makefile +++ /dev/null @@ -1,29 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -# Build. -# -driver: driver.o hello.o - -hello.o: hello.cxx hello.hxx -driver.o: driver.cxx hello.hxx - -hello.cxx hello.hxx: hello.xsd - - -# Test. -# -.PHONY: test -test: driver hello.xml - ./driver hello.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f hello.o hello.?xx driver.o driver - diff --git a/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj b/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj deleted file mode 100644 index 0d82e98..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D661AD5B-5FF4-4AFD-A656-429BA348E9EF}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj.filters deleted file mode 100644 index e5e21e6..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc10.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E7CF4BC5-B0CB-4799-B64E-5AF3B67A6F0E}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FDC2B8B2-1264-427A-9D4E-5577BF295A64}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{8b40f964-53f9-4b8c-a52b-3fbe8bcfe092}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{50e811c7-6a8b-428b-8c92-0fb6c830a337}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj b/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj deleted file mode 100644 index 498e9e9..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D661AD5B-5FF4-4AFD-A656-429BA348E9EF}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj.filters deleted file mode 100644 index e5e21e6..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc11.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E7CF4BC5-B0CB-4799-B64E-5AF3B67A6F0E}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FDC2B8B2-1264-427A-9D4E-5577BF295A64}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{8b40f964-53f9-4b8c-a52b-3fbe8bcfe092}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{50e811c7-6a8b-428b-8c92-0fb6c830a337}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj b/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj deleted file mode 100644 index 80fd4ae..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>library</ProjectName>
- <ProjectGuid>{D661AD5B-5FF4-4AFD-A656-429BA348E9EF}</ProjectGuid>
- <RootNamespace>library</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="library.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd library.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">library.hxx;library.ixx;library.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj.filters deleted file mode 100644 index e5e21e6..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc12.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{E7CF4BC5-B0CB-4799-B64E-5AF3B67A6F0E}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FDC2B8B2-1264-427A-9D4E-5577BF295A64}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{8b40f964-53f9-4b8c-a52b-3fbe8bcfe092}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{50e811c7-6a8b-428b-8c92-0fb6c830a337}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="library.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="library.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="library.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="library.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/library/library-vc8.vcproj b/xsd/dist/examples/cxx/tree/library/library-vc8.vcproj deleted file mode 100644 index 79e3f7e..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc8.vcproj +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="library"
- ProjectGUID="{D661AD5B-5FF4-4AFD-A656-429BA348E9EF}"
- RootNamespace="library"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E7CF4BC5-B0CB-4799-B64E-5AF3B67A6F0E}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FDC2B8B2-1264-427A-9D4E-5577BF295A64}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\library.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization --generate-intellisense library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/library/library-vc9.vcproj b/xsd/dist/examples/cxx/tree/library/library-vc9.vcproj deleted file mode 100644 index d616bff..0000000 --- a/xsd/dist/examples/cxx/tree/library/library-vc9.vcproj +++ /dev/null @@ -1,429 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="library"
- ProjectGUID="{D661AD5B-5FF4-4AFD-A656-429BA348E9EF}"
- RootNamespace="library"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{E7CF4BC5-B0CB-4799-B64E-5AF3B67A6F0E}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\library.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FDC2B8B2-1264-427A-9D4E-5577BF295A64}"
- >
- <File
- RelativePath=".\library.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\library.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\library.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd library.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-ostream --generate-serialization library.xsd"
- Outputs="library.hxx;library.ixx;library.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/library/makefile b/xsd/dist/examples/cxx/tree/library/makefile deleted file mode 100644 index 2f9bb6a..0000000 --- a/xsd/dist/examples/cxx/tree/library/makefile +++ /dev/null @@ -1,32 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-ostream --generate-serialization - - -# Build. -# -driver: driver.o library.o - -library.o: library.cxx library.hxx library.ixx -driver.o: driver.cxx library.hxx library.ixx - -library.cxx library.hxx library.ixx: library.xsd - - -# Test -# -.PHONY: test -test: driver library.xml - ./driver library.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f library.o library.?xx driver.o driver - diff --git a/xsd/dist/examples/cxx/tree/makefile b/xsd/dist/examples/cxx/tree/makefile deleted file mode 100644 index 44e7a0f..0000000 --- a/xsd/dist/examples/cxx/tree/makefile +++ /dev/null @@ -1,20 +0,0 @@ -dirs := binary caching embedded custom hello library messaging mixed \ -multiroot order performance polymorphism streaming wildcard - -ifeq ($(WITH_ZLIB),1) -dirs += compression -endif - -ifeq ($(WITH_XQILLA),1) -dirs += xpath -endif - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/tree/messaging/makefile b/xsd/dist/examples/cxx/tree/messaging/makefile deleted file mode 100644 index 0557a7c..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/makefile +++ /dev/null @@ -1,35 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - -override XSDFLAGS += --root-element-all --generate-element-type \ ---generate-element-map --generate-serialization - - -# Build. -# -driver: driver.o dom-parse.o dom-serialize.o protocol.o - -protocol.o: protocol.cxx protocol.hxx -dom-parse.o: dom-parse.cxx dom-parse.hxx -dom-serialize.o: dom-serialize.cxx dom-serialize.hxx -driver.o: driver.cxx dom-parse.hxx dom-serialize.hxx protocol.hxx - -protocol.cxx protocol.hxx: protocol.xsd - - -# Test -# -.PHONY: test -test: driver balance.xml withdraw.xml deposit.xml - ./driver balance.xml - ./driver withdraw.xml - ./driver deposit.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f protocol.o protocol.?xx dom-parse.o dom-serialize.o driver.o driver diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj b/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj deleted file mode 100644 index 6016f46..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>messaging</ProjectName>
- <ProjectGuid>{F7696252-45B5-438B-B14F-0510137704F0}</ProjectGuid>
- <RootNamespace>messaging</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="dom-serialize.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="dom-serialize.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj.filters deleted file mode 100644 index c94955d..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc10.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0BA0A3D7-40AF-4307-8033-5BE39B33ABE5}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{F7AC5A29-8CF7-4882-89B6-1B5B81AA00F2}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{945e9234-36d7-4bbb-a5f2-97af87338c49}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dom-serialize.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="dom-serialize.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj b/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj deleted file mode 100644 index d3403c2..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>messaging</ProjectName>
- <ProjectGuid>{F7696252-45B5-438B-B14F-0510137704F0}</ProjectGuid>
- <RootNamespace>messaging</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="dom-serialize.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="dom-serialize.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj.filters deleted file mode 100644 index c94955d..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc11.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0BA0A3D7-40AF-4307-8033-5BE39B33ABE5}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{F7AC5A29-8CF7-4882-89B6-1B5B81AA00F2}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{945e9234-36d7-4bbb-a5f2-97af87338c49}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dom-serialize.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="dom-serialize.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj b/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj deleted file mode 100644 index 35b8763..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj +++ /dev/null @@ -1,217 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>messaging</ProjectName>
- <ProjectGuid>{F7696252-45B5-438B-B14F-0510137704F0}</ProjectGuid>
- <RootNamespace>messaging</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="dom-serialize.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="dom-serialize.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj.filters deleted file mode 100644 index c94955d..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc12.vcxproj.filters +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0BA0A3D7-40AF-4307-8033-5BE39B33ABE5}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{F7AC5A29-8CF7-4882-89B6-1B5B81AA00F2}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{945e9234-36d7-4bbb-a5f2-97af87338c49}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="dom-serialize.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="dom-serialize.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc8.vcproj b/xsd/dist/examples/cxx/tree/messaging/messaging-vc8.vcproj deleted file mode 100644 index f006365..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc8.vcproj +++ /dev/null @@ -1,439 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="messaging"
- ProjectGUID="{F7696252-45B5-438B-B14F-0510137704F0}"
- RootNamespace="messaging"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{0BA0A3D7-40AF-4307-8033-5BE39B33ABE5}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\dom-serialize.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{F7AC5A29-8CF7-4882-89B6-1B5B81AA00F2}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\dom-serialize.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/messaging/messaging-vc9.vcproj b/xsd/dist/examples/cxx/tree/messaging/messaging-vc9.vcproj deleted file mode 100644 index debd0a3..0000000 --- a/xsd/dist/examples/cxx/tree/messaging/messaging-vc9.vcproj +++ /dev/null @@ -1,436 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="messaging"
- ProjectGUID="{F7696252-45B5-438B-B14F-0510137704F0}"
- RootNamespace="messaging"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{0BA0A3D7-40AF-4307-8033-5BE39B33ABE5}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\dom-serialize.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{F7AC5A29-8CF7-4882-89B6-1B5B81AA00F2}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\dom-serialize.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-element-type --generate-element-map --generate-serialization protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/mixed/makefile b/xsd/dist/examples/cxx/tree/mixed/makefile deleted file mode 100644 index 594821c..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/makefile +++ /dev/null @@ -1,28 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -# Build. -# -driver: driver.o text.o - -text.o: text.cxx text.hxx -driver.o: driver.cxx text.hxx - -text.cxx text.hxx: text.xsd - - -# Test. -# -.PHONY: test -test: driver text.xml - ./driver text.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f text.o text.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj b/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj deleted file mode 100644 index c625d2c..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{6EF7868E-AA58-4615-9C1A-06B010CB4209}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj.filters deleted file mode 100644 index 992400e..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{590B5830-837E-4D7F-984C-173456EE7E70}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3B7C0CD8-48D5-4244-A1FB-B60D510C2359}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{ba06cc21-c20a-4656-89ab-0a7b56f50871}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj b/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj deleted file mode 100644 index 1380e1c..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{6EF7868E-AA58-4615-9C1A-06B010CB4209}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj.filters deleted file mode 100644 index 992400e..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{590B5830-837E-4D7F-984C-173456EE7E70}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3B7C0CD8-48D5-4244-A1FB-B60D510C2359}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{ba06cc21-c20a-4656-89ab-0a7b56f50871}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj b/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj deleted file mode 100644 index 7726386..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>mixed</ProjectName>
- <ProjectGuid>{6EF7868E-AA58-4615-9C1A-06B010CB4209}</ProjectGuid>
- <RootNamespace>mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj.filters deleted file mode 100644 index 992400e..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{590B5830-837E-4D7F-984C-173456EE7E70}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{3B7C0CD8-48D5-4244-A1FB-B60D510C2359}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{ba06cc21-c20a-4656-89ab-0a7b56f50871}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc8.vcproj b/xsd/dist/examples/cxx/tree/mixed/mixed-vc8.vcproj deleted file mode 100644 index d446891..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="mixed"
- ProjectGUID="{6EF7868E-AA58-4615-9C1A-06B010CB4209}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{590B5830-837E-4D7F-984C-173456EE7E70}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{3B7C0CD8-48D5-4244-A1FB-B60D510C2359}"
- >
- <File
- RelativePath=".\text.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/mixed/mixed-vc9.vcproj b/xsd/dist/examples/cxx/tree/mixed/mixed-vc9.vcproj deleted file mode 100644 index 5c5843a..0000000 --- a/xsd/dist/examples/cxx/tree/mixed/mixed-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="mixed"
- ProjectGUID="{6EF7868E-AA58-4615-9C1A-06B010CB4209}"
- RootNamespace="mixed"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{590B5830-837E-4D7F-984C-173456EE7E70}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{3B7C0CD8-48D5-4244-A1FB-B60D510C2359}"
- >
- <File
- RelativePath=".\text.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/multiroot/makefile b/xsd/dist/examples/cxx/tree/multiroot/makefile deleted file mode 100644 index d94da7f..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/makefile +++ /dev/null @@ -1,33 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - -override XSDFLAGS += --root-element-all - - -# Build. -# -driver: driver.o dom-parse.o protocol.o - -protocol.o: protocol.cxx protocol.hxx -dom-parse.o: dom-parse.cxx dom-parse.hxx -driver.o: driver.cxx dom-parse.hxx protocol.hxx - -protocol.cxx protocol.hxx: protocol.xsd - - -# Test -# -.PHONY: test -test: driver balance.xml withdraw.xml deposit.xml - ./driver balance.xml - ./driver withdraw.xml - ./driver deposit.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f protocol.o protocol.?xx dom-parse.o driver.o driver diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj deleted file mode 100644 index 3a10c32..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{1CFBC9C5-5F9C-4B60-A2A3-0A79BCDD2670}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj.filters deleted file mode 100644 index 148c832..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{761DEBB9-455C-4599-A11D-66D602C486C3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AAF07268-FD5E-485F-8EB8-1AFDDE8BFD57}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{770136e0-0d08-4ab1-b67b-eabbde953e47}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj deleted file mode 100644 index 61c6a44..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{1CFBC9C5-5F9C-4B60-A2A3-0A79BCDD2670}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj.filters deleted file mode 100644 index 148c832..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{761DEBB9-455C-4599-A11D-66D602C486C3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AAF07268-FD5E-485F-8EB8-1AFDDE8BFD57}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{770136e0-0d08-4ab1-b67b-eabbde953e47}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj deleted file mode 100644 index 1b0e268..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>multiroot</ProjectName>
- <ProjectGuid>{1CFBC9C5-5F9C-4B60-A2A3-0A79BCDD2670}</ProjectGuid>
- <RootNamespace>multiroot</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="protocol.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="protocol.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd protocol.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --root-element-all protocol.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">protocol.hxx;protocol.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj.filters deleted file mode 100644 index 148c832..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{761DEBB9-455C-4599-A11D-66D602C486C3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{AAF07268-FD5E-485F-8EB8-1AFDDE8BFD57}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{770136e0-0d08-4ab1-b67b-eabbde953e47}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="protocol.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="protocol.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="protocol.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc8.vcproj b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc8.vcproj deleted file mode 100644 index 54e196d..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc8.vcproj +++ /dev/null @@ -1,431 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="multiroot"
- ProjectGUID="{1CFBC9C5-5F9C-4B60-A2A3-0A79BCDD2670}"
- RootNamespace="multiroot"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{761DEBB9-455C-4599-A11D-66D602C486C3}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{AAF07268-FD5E-485F-8EB8-1AFDDE8BFD57}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all --generate-intellisense protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc9.vcproj b/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc9.vcproj deleted file mode 100644 index 95aa025..0000000 --- a/xsd/dist/examples/cxx/tree/multiroot/multiroot-vc9.vcproj +++ /dev/null @@ -1,428 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="multiroot"
- ProjectGUID="{1CFBC9C5-5F9C-4B60-A2A3-0A79BCDD2670}"
- RootNamespace="multiroot"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{761DEBB9-455C-4599-A11D-66D602C486C3}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\protocol.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{AAF07268-FD5E-485F-8EB8-1AFDDE8BFD57}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\protocol.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\protocol.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd protocol.xsd"
- CommandLine="xsd cxx-tree --root-element-all protocol.xsd"
- Outputs="protocol.hxx;protocol.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/order/element/makefile b/xsd/dist/examples/cxx/tree/order/element/makefile deleted file mode 100644 index 31f5ec5..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/makefile +++ /dev/null @@ -1,31 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-serialization --generate-wildcard --ordered-type batch - - -# Build. -# -driver: driver.o transactions.o - -transactions.o: transactions.cxx transactions.hxx -driver.o: driver.cxx transactions.hxx - -transactions.cxx transactions.hxx: transactions.xsd - - -# Test -# -.PHONY: test -test: driver transactions.xml - ./driver transactions.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f transactions.o transactions.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj b/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj deleted file mode 100644 index 100f0e8..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-element</ProjectName>
- <ProjectGuid>{9488E872-8E09-4B68-9715-AF68534164C4}</ProjectGuid>
- <RootNamespace>order-element</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="transactions.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj.filters deleted file mode 100644 index aefc2be..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{FF0C69B7-2DFB-402A-9AEB-A13D354EB9D2}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{9761A910-7322-4EBD-AD00-4FCC4C4F6586}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{2264FACD-618F-417C-B291-7E2A1BD11536}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="transactions.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj b/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj deleted file mode 100644 index da8304c..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-element</ProjectName>
- <ProjectGuid>{9488E872-8E09-4B68-9715-AF68534164C4}</ProjectGuid>
- <RootNamespace>order-element</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="transactions.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj.filters deleted file mode 100644 index aefc2be..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{FF0C69B7-2DFB-402A-9AEB-A13D354EB9D2}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{9761A910-7322-4EBD-AD00-4FCC4C4F6586}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{2264FACD-618F-417C-B291-7E2A1BD11536}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="transactions.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj b/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj deleted file mode 100644 index 2364e27..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-element</ProjectName>
- <ProjectGuid>{9488E872-8E09-4B68-9715-AF68534164C4}</ProjectGuid>
- <RootNamespace>order-element</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="transactions.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd transactions.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">transactions.cxx;transactions.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj.filters deleted file mode 100644 index aefc2be..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{FF0C69B7-2DFB-402A-9AEB-A13D354EB9D2}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{9761A910-7322-4EBD-AD00-4FCC4C4F6586}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{2264FACD-618F-417C-B291-7E2A1BD11536}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="transactions.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="transactions.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="transactions.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc8.vcproj b/xsd/dist/examples/cxx/tree/order/element/order-element-vc8.vcproj deleted file mode 100644 index 06dd76d..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="order-element"
- ProjectGUID="{B6118FC1-3886-4F01-BECE-44B3BDD92CA6}"
- RootNamespace="order-element"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{084F9FF2-F141-40BC-8D7D-7A78CC6707B0}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\transactions.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{F9AFEC3B-B8A5-47F6-BD3B-316A28A94B1F}"
- >
- <File
- RelativePath=".\transactions.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\transactions.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/order/element/order-element-vc9.vcproj b/xsd/dist/examples/cxx/tree/order/element/order-element-vc9.vcproj deleted file mode 100644 index 74a0266..0000000 --- a/xsd/dist/examples/cxx/tree/order/element/order-element-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="order-element"
- ProjectGUID="{06AAEF42-6C6F-4707-B82C-3962232A456E}"
- RootNamespace="order-element"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{A2B29337-F8F7-492A-A290-721BCAFA3B33}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\transactions.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{2ECA1E85-7EF7-4BE8-899C-5006EEBE3A9F}"
- >
- <File
- RelativePath=".\transactions.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\transactions.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd transactions.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-wildcard --ordered-type batch transactions.xsd"
- Outputs="transactions.cxx;transactions.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/order/makefile b/xsd/dist/examples/cxx/tree/order/makefile deleted file mode 100644 index 2713b6e..0000000 --- a/xsd/dist/examples/cxx/tree/order/makefile +++ /dev/null @@ -1,11 +0,0 @@ -dirs := element mixed - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - @$(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/cxx/tree/order/mixed/makefile b/xsd/dist/examples/cxx/tree/order/mixed/makefile deleted file mode 100644 index b7929d9..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/makefile +++ /dev/null @@ -1,32 +0,0 @@ -root := ../../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-serialization --ordered-type-mixed - - -# Build. -# -driver: driver.o text.o - -text.o: text.cxx text.hxx -driver.o: driver.cxx text.hxx - -text.cxx text.hxx: text.xsd - - -# Test -# -.PHONY: test -test: driver text.xml - ./driver text.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f text.o text.?xx driver.o driver - diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj deleted file mode 100644 index 69ed120..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-mixed</ProjectName>
- <ProjectGuid>{94A74673-C980-426B-B5BB-00744559EAD1}</ProjectGuid>
- <RootNamespace>order-mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj.filters deleted file mode 100644 index 422115b..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{02F42C11-BDFB-4E9B-8E93-745AE1451A73}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{789E7294-E4D2-41DC-BDDA-4A333C3C2ED7}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{BF59FE93-D0AC-48C0-998A-7AB994AFD9FE}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj deleted file mode 100644 index 6f4ba84..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-mixed</ProjectName>
- <ProjectGuid>{94A74673-C980-426B-B5BB-00744559EAD1}</ProjectGuid>
- <RootNamespace>order-mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj.filters deleted file mode 100644 index 422115b..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{02F42C11-BDFB-4E9B-8E93-745AE1451A73}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{789E7294-E4D2-41DC-BDDA-4A333C3C2ED7}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{BF59FE93-D0AC-48C0-998A-7AB994AFD9FE}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj deleted file mode 100644 index 7408bef..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>order-mixed</ProjectName>
- <ProjectGuid>{94A74673-C980-426B-B5BB-00744559EAD1}</ProjectGuid>
- <RootNamespace>order-mixed</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="text.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">text.cxx;text.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd text.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">text.cxx;text.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj.filters deleted file mode 100644 index 422115b..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{02F42C11-BDFB-4E9B-8E93-745AE1451A73}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{789E7294-E4D2-41DC-BDDA-4A333C3C2ED7}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{BF59FE93-D0AC-48C0-998A-7AB994AFD9FE}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="text.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="text.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="text.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc8.vcproj b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc8.vcproj deleted file mode 100644 index 20cfe65..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="order-mixed"
- ProjectGUID="{84319CCF-087B-468D-ABA9-C8253098FAA0}"
- RootNamespace="order-mixed"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{D18F10AE-C028-4A42-AEA9-64D5307C758C}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E341B637-99E8-40BF-88C6-C8FDCB749474}"
- >
- <File
- RelativePath=".\text.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-intellisense --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc9.vcproj b/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc9.vcproj deleted file mode 100644 index c6861d9..0000000 --- a/xsd/dist/examples/cxx/tree/order/mixed/order-mixed-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="order-mixed"
- ProjectGUID="{B58CABEE-0A5C-43F3-B22B-53D060763B67}"
- RootNamespace="order-mixed"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{49DCF246-346C-4532-8D81-B3D8943C51A3}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\text.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{0317763E-1AA4-4187-8ED7-58C87F59E051}"
- >
- <File
- RelativePath=".\text.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\text.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd text.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --ordered-type-mixed text.xsd"
- Outputs="text.cxx;text.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/performance/makefile b/xsd/dist/examples/cxx/tree/performance/makefile deleted file mode 100644 index 80bf4be..0000000 --- a/xsd/dist/examples/cxx/tree/performance/makefile +++ /dev/null @@ -1,34 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-serialization - - -# Build. -# -driver: driver.o parsing.o serialization.o test.o time.o - -driver.o: driver.cxx -test.o: test.cxx test.hxx test.ixx -parsing.o: parsing.cxx test.hxx test.ixx time.hxx -serialization.o: serialization.cxx test.hxx test.ixx time.hxx -time.o: time.cxx time.hxx - -test.cxx test.hxx test.ixx: test.xsd - - -# Test -# -.PHONY: test -test: driver test-50k.xml - ./driver test-50k.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f test.o test.?xx driver.o parsing.o serialization.o time.o driver diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj b/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj deleted file mode 100644 index 6651012..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{C60700D1-DB4B-4EFF-8EE9-97BD716BCB89}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test.cxx" />
- <ClCompile Include="time.cxx" />
- <ClCompile Include="parsing.cxx" />
- <ClCompile Include="serialization.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj.filters deleted file mode 100644 index 6fc7fa3..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc10.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF3D33D-891D-402D-A26F-AEBC35E127DE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FD93B741-02F9-48B5-BE59-E5DD2C73CC7A}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{e0558eb1-4ecb-42e8-b50b-e07487e59072}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{47ef7335-e3a1-4832-bff0-c59ac4d25088}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parsing.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serialization.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj b/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj deleted file mode 100644 index 8e3aa7c..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{C60700D1-DB4B-4EFF-8EE9-97BD716BCB89}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test.cxx" />
- <ClCompile Include="time.cxx" />
- <ClCompile Include="parsing.cxx" />
- <ClCompile Include="serialization.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj.filters deleted file mode 100644 index 6fc7fa3..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc11.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF3D33D-891D-402D-A26F-AEBC35E127DE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FD93B741-02F9-48B5-BE59-E5DD2C73CC7A}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{e0558eb1-4ecb-42e8-b50b-e07487e59072}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{47ef7335-e3a1-4832-bff0-c59ac4d25088}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parsing.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serialization.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj b/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj deleted file mode 100644 index 38193f7..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj +++ /dev/null @@ -1,218 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>performance</ProjectName>
- <ProjectGuid>{C60700D1-DB4B-4EFF-8EE9-97BD716BCB89}</ProjectGuid>
- <RootNamespace>performance</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="test.cxx" />
- <ClCompile Include="time.cxx" />
- <ClCompile Include="parsing.cxx" />
- <ClCompile Include="serialization.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx" />
- <ClInclude Include="time.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd test.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization test.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">test.hxx;test.ixx;test.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj.filters deleted file mode 100644 index 6fc7fa3..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc12.vcxproj.filters +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4BF3D33D-891D-402D-A26F-AEBC35E127DE}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{FD93B741-02F9-48B5-BE59-E5DD2C73CC7A}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{e0558eb1-4ecb-42e8-b50b-e07487e59072}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{47ef7335-e3a1-4832-bff0-c59ac4d25088}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="test.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="time.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parsing.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serialization.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="test.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="time.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="test.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="test.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc8.vcproj b/xsd/dist/examples/cxx/tree/performance/performance-vc8.vcproj deleted file mode 100644 index e49587d..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc8.vcproj +++ /dev/null @@ -1,445 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="performance"
- ProjectGUID="{C60700D1-DB4B-4EFF-8EE9-97BD716BCB89}"
- RootNamespace="performance"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4BF3D33D-891D-402D-A26F-AEBC35E127DE}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\test.cxx"
- >
- </File>
- <File
- RelativePath=".\time.cxx">
- </File>
- <File
- RelativePath=".\parsing.cxx">
- </File>
- <File
- RelativePath=".\serialization.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FD93B741-02F9-48B5-BE59-E5DD2C73CC7A}"
- >
- <File
- RelativePath=".\test.hxx"
- >
- </File>
- <File
- RelativePath=".\time.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\test.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\test.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-intellisense test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/performance/performance-vc9.vcproj b/xsd/dist/examples/cxx/tree/performance/performance-vc9.vcproj deleted file mode 100644 index fa23a74..0000000 --- a/xsd/dist/examples/cxx/tree/performance/performance-vc9.vcproj +++ /dev/null @@ -1,442 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="performance"
- ProjectGUID="{C60700D1-DB4B-4EFF-8EE9-97BD716BCB89}"
- RootNamespace="performance"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4BF3D33D-891D-402D-A26F-AEBC35E127DE}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\test.cxx"
- >
- </File>
- <File
- RelativePath=".\time.cxx">
- </File>
- <File
- RelativePath=".\parsing.cxx">
- </File>
- <File
- RelativePath=".\serialization.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{FD93B741-02F9-48B5-BE59-E5DD2C73CC7A}"
- >
- <File
- RelativePath=".\test.hxx"
- >
- </File>
- <File
- RelativePath=".\time.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\test.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\test.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd test.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization test.xsd"
- Outputs="test.hxx;test.ixx;test.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/polymorphism/makefile b/xsd/dist/examples/cxx/tree/polymorphism/makefile deleted file mode 100644 index 282266e..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - -override XSDFLAGS += --generate-polymorphic --generate-serialization --root-element-last - - -# Build. -# -driver: driver.o supermen.o - -supermen.o: supermen.cxx supermen.hxx -driver.o: driver.cxx supermen.hxx - -supermen.cxx supermen.hxx: supermen.xsd - - -# Test. -# -.PHONY: test -test: driver supermen.xml - ./driver supermen.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f supermen.o supermen.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj deleted file mode 100644 index 4a693ec..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{03224289-FD3C-4A58-A6D7-E8D658B0E45A}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj.filters deleted file mode 100644 index 4459d2c..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc10.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{A02BB28E-3A7B-4E9E-A2AC-AA264C62525C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B2184D0-2125-48EB-AE80-64E24055DCE4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e32c9352-17dd-4c6c-b9fa-fadaf6eee928}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj deleted file mode 100644 index d8f0aa0..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj +++ /dev/null @@ -1,209 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{03224289-FD3C-4A58-A6D7-E8D658B0E45A}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj.filters deleted file mode 100644 index 4459d2c..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc11.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{A02BB28E-3A7B-4E9E-A2AC-AA264C62525C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B2184D0-2125-48EB-AE80-64E24055DCE4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e32c9352-17dd-4c6c-b9fa-fadaf6eee928}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj deleted file mode 100644 index 040d657..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>polymorphism</ProjectName>
- <ProjectGuid>{03224289-FD3C-4A58-A6D7-E8D658B0E45A}</ProjectGuid>
- <RootNamespace>polymorphism</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="supermen.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd supermen.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">supermen.cxx;supermen.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj.filters deleted file mode 100644 index 4459d2c..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc12.vcxproj.filters +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{A02BB28E-3A7B-4E9E-A2AC-AA264C62525C}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{6B2184D0-2125-48EB-AE80-64E24055DCE4}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e32c9352-17dd-4c6c-b9fa-fadaf6eee928}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="supermen.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="supermen.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="supermen.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc8.vcproj b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc8.vcproj deleted file mode 100644 index d146d0e..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc8.vcproj +++ /dev/null @@ -1,423 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="polymorphism"
- ProjectGUID="{03224289-FD3C-4A58-A6D7-E8D658B0E45A}"
- RootNamespace="polymorphism"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{A02BB28E-3A7B-4E9E-A2AC-AA264C62525C}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6B2184D0-2125-48EB-AE80-64E24055DCE4}"
- >
- <File
- RelativePath=".\supermen.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --generate-intellisense --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --generate-intellisense --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --generate-intellisense --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --generate-intellisense --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc9.vcproj b/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc9.vcproj deleted file mode 100644 index 3d56cf8..0000000 --- a/xsd/dist/examples/cxx/tree/polymorphism/polymorphism-vc9.vcproj +++ /dev/null @@ -1,420 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="polymorphism"
- ProjectGUID="{03224289-FD3C-4A58-A6D7-E8D658B0E45A}"
- RootNamespace="polymorphism"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{A02BB28E-3A7B-4E9E-A2AC-AA264C62525C}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\supermen.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{6B2184D0-2125-48EB-AE80-64E24055DCE4}"
- >
- <File
- RelativePath=".\supermen.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\supermen.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd supermen.xsd"
- CommandLine="xsd.exe cxx-tree --generate-polymorphic --generate-serialization --root-element-last supermen.xsd"
- Outputs="supermen.cxx;supermen.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/streaming/makefile b/xsd/dist/examples/cxx/tree/streaming/makefile deleted file mode 100644 index 4c7acd2..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/makefile +++ /dev/null @@ -1,34 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-serialization - - -# Build. -# -driver: driver.o parser.o serializer.o grammar-input-stream.o position.o - -position.o: position.cxx position.hxx -driver.o: driver.cxx position.hxx parser.hxx serializer.hxx -parser.o: parser.cxx parser.hxx -serializer.o: serializer.cxx serializer.hxx -grammar-input-stream.o: grammar-input-stream.cxx grammar-input-stream.hxx - -position.cxx position.hxx: position.xsd - - -# Test -# -.PHONY: test -test: driver position.xml - ./driver position.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f position.o position.?xx parser.o serializer.o grammar-input-stream.o driver.o driver out.xml diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj b/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj deleted file mode 100644 index cf23e2a..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>streaming</ProjectName>
- <ProjectGuid>{3950B11C-AEB1-4E9C-BCB3-2E7133818C79}</ProjectGuid>
- <RootNamespace>streaming</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="position.cxx" />
- <ClCompile Include="parser.cxx" />
- <ClCompile Include="serializer.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx" />
- <ClInclude Include="parser.hxx" />
- <ClInclude Include="serializer.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj.filters deleted file mode 100644 index 3597703..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc10.vcxproj.filters +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4F684AD4-DFB2-4488-BA73-8625AECC91A3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{94F3375D-5EB8-4D2C-8739-4D47E9AB7072}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b73125d6-60b1-4f32-9cfb-d11e709d0d14}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="position.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parser.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serializer.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="parser.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="serializer.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj b/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj deleted file mode 100644 index 28f008c..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>streaming</ProjectName>
- <ProjectGuid>{3950B11C-AEB1-4E9C-BCB3-2E7133818C79}</ProjectGuid>
- <RootNamespace>streaming</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="position.cxx" />
- <ClCompile Include="parser.cxx" />
- <ClCompile Include="serializer.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx" />
- <ClInclude Include="parser.hxx" />
- <ClInclude Include="serializer.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj.filters deleted file mode 100644 index 3597703..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc11.vcxproj.filters +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4F684AD4-DFB2-4488-BA73-8625AECC91A3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{94F3375D-5EB8-4D2C-8739-4D47E9AB7072}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b73125d6-60b1-4f32-9cfb-d11e709d0d14}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="position.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parser.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serializer.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="parser.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="serializer.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj b/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj deleted file mode 100644 index 5e69c30..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj +++ /dev/null @@ -1,219 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>streaming</ProjectName>
- <ProjectGuid>{3950B11C-AEB1-4E9C-BCB3-2E7133818C79}</ProjectGuid>
- <RootNamespace>streaming</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="position.cxx" />
- <ClCompile Include="parser.cxx" />
- <ClCompile Include="serializer.cxx" />
- <ClCompile Include="grammar-input-stream.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx" />
- <ClInclude Include="parser.hxx" />
- <ClInclude Include="serializer.hxx" />
- <ClInclude Include="grammar-input-stream.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">position.cxx;position.hxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd position.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd.exe cxx-tree --generate-serialization position.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">position.cxx;position.hxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj.filters deleted file mode 100644 index 3597703..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc12.vcxproj.filters +++ /dev/null @@ -1,56 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4F684AD4-DFB2-4488-BA73-8625AECC91A3}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{94F3375D-5EB8-4D2C-8739-4D47E9AB7072}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{b73125d6-60b1-4f32-9cfb-d11e709d0d14}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="position.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="parser.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="serializer.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="grammar-input-stream.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="position.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="parser.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="serializer.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="grammar-input-stream.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="position.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc8.vcproj b/xsd/dist/examples/cxx/tree/streaming/streaming-vc8.vcproj deleted file mode 100644 index 354c0ff..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc8.vcproj +++ /dev/null @@ -1,441 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="streaming"
- ProjectGUID="{3950B11C-AEB1-4E9C-BCB3-2E7133818C79}"
- RootNamespace="streaming"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4F684AD4-DFB2-4488-BA73-8625AECC91A3}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\position.cxx"
- >
- </File>
- <File
- RelativePath=".\parser.cxx">
- </File>
- <File
- RelativePath=".\serializer.cxx">
- </File>
- <File
- RelativePath=".\grammar-input-stream.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{94F3375D-5EB8-4D2C-8739-4D47E9AB7072}"
- >
- <File
- RelativePath=".\position.hxx"
- >
- </File>
- <File
- RelativePath=".\parser.hxx">
- </File>
- <File
- RelativePath=".\serializer.hxx">
- </File>
- <File
- RelativePath=".\grammar-input-stream.hxx">
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\position.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-intellisense position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-intellisense position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-intellisense position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization --generate-intellisense position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/streaming/streaming-vc9.vcproj b/xsd/dist/examples/cxx/tree/streaming/streaming-vc9.vcproj deleted file mode 100644 index e6b75f3..0000000 --- a/xsd/dist/examples/cxx/tree/streaming/streaming-vc9.vcproj +++ /dev/null @@ -1,438 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="streaming"
- ProjectGUID="{3950B11C-AEB1-4E9C-BCB3-2E7133818C79}"
- RootNamespace="streaming"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4F684AD4-DFB2-4488-BA73-8625AECC91A3}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\position.cxx"
- >
- </File>
- <File
- RelativePath=".\parser.cxx">
- </File>
- <File
- RelativePath=".\serializer.cxx">
- </File>
- <File
- RelativePath=".\grammar-input-stream.cxx">
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{94F3375D-5EB8-4D2C-8739-4D47E9AB7072}"
- >
- <File
- RelativePath=".\position.hxx"
- >
- </File>
- <File
- RelativePath=".\parser.hxx">
- </File>
- <File
- RelativePath=".\serializer.hxx">
- </File>
- <File
- RelativePath=".\grammar-input-stream.hxx">
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\position.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd position.xsd"
- CommandLine="xsd.exe cxx-tree --generate-serialization position.xsd"
- Outputs="position.cxx;position.hxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/wildcard/makefile b/xsd/dist/examples/cxx/tree/wildcard/makefile deleted file mode 100644 index 148b800..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/makefile +++ /dev/null @@ -1,32 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - - -override XSDFLAGS += --generate-inline --generate-serialization \ ---generate-wildcard --root-element message - - -# Build. -# -driver: driver.o email.o - -email.o: email.cxx email.hxx email.ixx -driver.o: driver.cxx email.hxx email.ixx - -email.cxx email.hxx email.ixx: email.xsd - - -# Test -# -.PHONY: test -test: driver email.xml - ./driver email.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f email.o email.?xx driver.o driver diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj deleted file mode 100644 index 6d5b02e..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj +++ /dev/null @@ -1,206 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{13C21A83-CC75-459E-9B01-E9EC36D1524B}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj.filters deleted file mode 100644 index 541b946..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc10.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C8C63C87-F9B5-4EDF-B4BF-2701982EFCE6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E8933542-EAF8-45F5-94AE-AE8D55E47565}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{79291748-08c5-4298-a090-a210ea0e7161}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e83a7a6b-3537-4eea-bf81-494a6fcee412}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj deleted file mode 100644 index 8043842..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{13C21A83-CC75-459E-9B01-E9EC36D1524B}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj.filters deleted file mode 100644 index 541b946..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc11.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C8C63C87-F9B5-4EDF-B4BF-2701982EFCE6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E8933542-EAF8-45F5-94AE-AE8D55E47565}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{79291748-08c5-4298-a090-a210ea0e7161}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e83a7a6b-3537-4eea-bf81-494a6fcee412}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj deleted file mode 100644 index e324659..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj +++ /dev/null @@ -1,214 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>wildcard</ProjectName>
- <ProjectGuid>{13C21A83-CC75-459E-9B01-E9EC36D1524B}</ProjectGuid>
- <RootNamespace>wildcard</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="email.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx" />
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx" />
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd email.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">email.hxx;email.ixx;email.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj.filters deleted file mode 100644 index 541b946..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc12.vcxproj.filters +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{C8C63C87-F9B5-4EDF-B4BF-2701982EFCE6}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{E8933542-EAF8-45F5-94AE-AE8D55E47565}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Inline Files">
- <UniqueIdentifier>{79291748-08c5-4298-a090-a210ea0e7161}</UniqueIdentifier>
- <Extensions>ixx</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{e83a7a6b-3537-4eea-bf81-494a6fcee412}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="email.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="email.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="email.ixx">
- <Filter>Inline Files</Filter>
- </None>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="email.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc8.vcproj b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc8.vcproj deleted file mode 100644 index 046230a..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc8.vcproj +++ /dev/null @@ -1,432 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="wildcard"
- ProjectGUID="{13C21A83-CC75-459E-9B01-E9EC36D1524B}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{C8C63C87-F9B5-4EDF-B4BF-2701982EFCE6}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\email.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E8933542-EAF8-45F5-94AE-AE8D55E47565}"
- >
- <File
- RelativePath=".\email.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\email.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\email.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --generate-intellisense --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --generate-intellisense --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --generate-intellisense --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --generate-intellisense --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc9.vcproj b/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc9.vcproj deleted file mode 100644 index 08c2b1d..0000000 --- a/xsd/dist/examples/cxx/tree/wildcard/wildcard-vc9.vcproj +++ /dev/null @@ -1,429 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="wildcard"
- ProjectGUID="{13C21A83-CC75-459E-9B01-E9EC36D1524B}"
- RootNamespace="wildcard"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{C8C63C87-F9B5-4EDF-B4BF-2701982EFCE6}"
- >
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\email.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{E8933542-EAF8-45F5-94AE-AE8D55E47565}"
- >
- <File
- RelativePath=".\email.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Inline Files"
- Filter="ixx"
- >
- <File
- RelativePath=".\email.ixx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\email.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd email.xsd"
- CommandLine="xsd cxx-tree --generate-inline --generate-serialization --generate-wildcard --root-element message email.xsd"
- Outputs="email.hxx;email.ixx;email.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/xpath/makefile b/xsd/dist/examples/cxx/tree/xpath/makefile deleted file mode 100644 index d5f2833..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/makefile +++ /dev/null @@ -1,30 +0,0 @@ -root := ../../.. - -include $(root)/build/cxx/rules.make -include $(root)/build/xsd/tree-rules.make - -override LIBS += -lxqilla - -# Build. -# -driver: driver.o people.o dom-parse.o - -people.o: people.cxx people.hxx -driver.o: driver.cxx people.hxx dom-parse.hxx -people.o: dom-parse.cxx dom-parse.hxx - -people.cxx people.hxx: people.xsd - - -# Test -# -.PHONY: test -test: driver people.xml - ./driver people.xml - - -# Clean. -# -.PHONY: clean -clean: - rm -f people.o people.?xx driver.o dom-parse.o driver diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj b/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj deleted file mode 100644 index 60ef726..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj +++ /dev/null @@ -1,207 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xpath</ProjectName>
- <ProjectGuid>{EC26ACF9-0103-48D2-B7BA-0222C2175B28}</ProjectGuid>
- <RootNamespace>xpath</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj.filters b/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj.filters deleted file mode 100644 index d038587..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc10.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0A690AC0-4B5A-4FCA-B2CC-A61C00F01283}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{19387534-A72F-4C3F-A9FB-F5B8909AEB29}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{807745b4-2087-4ccb-8fdc-8160206a3042}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj b/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj deleted file mode 100644 index b758594..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj +++ /dev/null @@ -1,211 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xpath</ProjectName>
- <ProjectGuid>{EC26ACF9-0103-48D2-B7BA-0222C2175B28}</ProjectGuid>
- <RootNamespace>xpath</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj.filters b/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj.filters deleted file mode 100644 index d038587..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc11.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0A690AC0-4B5A-4FCA-B2CC-A61C00F01283}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{19387534-A72F-4C3F-A9FB-F5B8909AEB29}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{807745b4-2087-4ccb-8fdc-8160206a3042}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj b/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj deleted file mode 100644 index ff81b9e..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj +++ /dev/null @@ -1,215 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>xpath</ProjectName>
- <ProjectGuid>{EC26ACF9-0103-48D2-B7BA-0222C2175B28}</ProjectGuid>
- <RootNamespace>xpath</RootNamespace>
- <Keyword>Win32Proj</Keyword>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <PlatformToolset>v120</PlatformToolset>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">driver</TargetName>
- <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">driver</TargetName>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
- <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</OutDir>
- <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\$(Configuration)\</IntDir>
- <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <MinimalRebuild>true</MinimalRebuild>
- <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3D.lib;xqilla22d.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <ProgramDatabaseFile>$(OutDir)driver.pdb</ProgramDatabaseFile>
- <SubSystem>Console</SubSystem>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX86</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <RuntimeTypeInfo>true</RuntimeTypeInfo>
- <PrecompiledHeader>
- </PrecompiledHeader>
- <WarningLevel>Level3</WarningLevel>
- <SDLCheck>true</SDLCheck>
- </ClCompile>
- <Link>
- <AdditionalDependencies>xerces-c_3.lib;xqilla22.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(TargetPath)</OutputFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <SubSystem>Console</SubSystem>
- <OptimizeReferences>true</OptimizeReferences>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <RandomizedBaseAddress>false</RandomizedBaseAddress>
- <DataExecutionPrevention>
- </DataExecutionPrevention>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx" />
- <ClCompile Include="driver.cxx" />
- <ClCompile Include="people.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx" />
- <ClInclude Include="people.hxx" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">people.hxx;people.cxx;%(Outputs)</Outputs>
- <Message Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd people.xsd</Message>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">xsd cxx-tree people.xsd</Command>
- <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">people.hxx;people.cxx;%(Outputs)</Outputs>
- </CustomBuild>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj.filters b/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj.filters deleted file mode 100644 index d038587..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc12.vcxproj.filters +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{0A690AC0-4B5A-4FCA-B2CC-A61C00F01283}</UniqueIdentifier>
- <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{19387534-A72F-4C3F-A9FB-F5B8909AEB29}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Schema Files">
- <UniqueIdentifier>{807745b4-2087-4ccb-8fdc-8160206a3042}</UniqueIdentifier>
- <Extensions>xsd</Extensions>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="dom-parse.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="driver.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="people.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="dom-parse.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- <ClInclude Include="people.hxx">
- <Filter>Header Files</Filter>
- </ClInclude>
- </ItemGroup>
- <ItemGroup>
- <None Include="Readme.txt" />
- </ItemGroup>
- <ItemGroup>
- <CustomBuild Include="people.xsd">
- <Filter>Schema Files</Filter>
- </CustomBuild>
- </ItemGroup>
-</Project>
\ No newline at end of file diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc8.vcproj b/xsd/dist/examples/cxx/tree/xpath/xpath-vc8.vcproj deleted file mode 100644 index 3900265..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc8.vcproj +++ /dev/null @@ -1,431 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="xpath"
- ProjectGUID="{EC26ACF9-0103-48D2-B7BA-0222C2175B28}"
- RootNamespace="xpath"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib xqilla22d.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib xqilla22.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib xqilla22d.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib xqilla22.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{0A690AC0-4B5A-4FCA-B2CC-A61C00F01283}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{19387534-A72F-4C3F-A9FB-F5B8909AEB29}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree --generate-intellisense people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/cxx/tree/xpath/xpath-vc9.vcproj b/xsd/dist/examples/cxx/tree/xpath/xpath-vc9.vcproj deleted file mode 100644 index b21a65e..0000000 --- a/xsd/dist/examples/cxx/tree/xpath/xpath-vc9.vcproj +++ /dev/null @@ -1,428 +0,0 @@ -<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="xpath"
- ProjectGUID="{EC26ACF9-0103-48D2-B7BA-0222C2175B28}"
- RootNamespace="xpath"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib xqilla22d.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3D.lib xqilla22d.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/driver.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib xqilla22.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- RuntimeTypeInfo="true"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="xerces-c_3.lib xqilla22.lib"
- OutputFile="$(OutDir)/driver.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{0A690AC0-4B5A-4FCA-B2CC-A61C00F01283}"
- >
- <File
- RelativePath=".\dom-parse.cxx"
- >
- </File>
- <File
- RelativePath=".\driver.cxx"
- >
- </File>
- <File
- RelativePath=".\people.cxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{19387534-A72F-4C3F-A9FB-F5B8909AEB29}"
- >
- <File
- RelativePath=".\dom-parse.hxx"
- >
- </File>
- <File
- RelativePath=".\people.hxx"
- >
- </File>
- </Filter>
- <Filter
- Name="Schema Files"
- Filter="xsd"
- >
- <File
- RelativePath=".\people.xsd"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- >
- <Tool
- Name="VCCustomBuildTool"
- Description="xsd people.xsd"
- CommandLine="xsd cxx-tree people.xsd"
- Outputs="people.hxx;people.cxx"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/xsd/dist/examples/makefile b/xsd/dist/examples/makefile deleted file mode 100644 index 5b8947e..0000000 --- a/xsd/dist/examples/makefile +++ /dev/null @@ -1,11 +0,0 @@ -dirs := cxx - -.PHONY: all $(dirs) - -all: $(dirs) - -$(dirs): - $(MAKE) -C $@ $(MAKECMDGOALS) - -makefile: ; -% :: $(dirs) ; diff --git a/xsd/dist/examples/test.bat b/xsd/dist/examples/test.bat deleted file mode 100644 index 97b0b88..0000000 --- a/xsd/dist/examples/test.bat +++ /dev/null @@ -1,74 +0,0 @@ -@echo off -rem file : examples/test.bat -rem copyright : Copyright (c) 2013-2014 Code Synthesis Tools CC -rem license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -setlocal - -set "tests=__path__(dirs)" -set "confs=__path__(configurations)" -set "plats=__path__(platforms)" -set "curdir=%CD%" -set "topdir=%curdir%\..\.." -set "failed=" - -goto start - -rem -rem %1 - test directory -rem %2 - configuration -rem %3 - platform -rem -:run_test - cd %1 - - if "_%3_" == "_Win32_" ( - set "dir=%2" - ) else ( - set "dir=%3\%2" - ) - - if exist %dir%\driver.exe ( - echo %1\%3\%2 - call %topdir%\tester.bat %2 %3 - if errorlevel 1 ( - set "failed=%failed% %1\%3\%2" - ) - ) - - cd %curdir% -goto :eof - -:start - -for %%t in (%tests%) do ( - for %%c in (%confs%) do ( - for %%p in (%plats%) do ( - call :run_test %%t %%c %%p - ) - ) -) - -if not "_%failed%_" == "__" goto error - -echo. -echo ALL EXAMPLES PASSED -echo. -goto end - -:usage -echo. -echo usage: test.bat -echo. - -:error -if not "_%failed%_" == "__" ( - echo. - for %%t in (%failed%) do echo FAILED: %%t - echo. -) -endlocal -exit /b 1 - -:end -endlocal diff --git a/xsd/dist/examples/tester.bat b/xsd/dist/examples/tester.bat deleted file mode 100644 index ae6f683..0000000 --- a/xsd/dist/examples/tester.bat +++ /dev/null @@ -1,47 +0,0 @@ -@echo off -rem file : examples/tester.bat -rem copyright : Copyright (c) 2013-2014 Code Synthesis Tools CC -rem license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -rem -rem Run example. The example directory is the current directory. -rem -rem %1 configuration, for example, Debug or Release -rem %2 platform, for example Win32 or x64 -rem - -setlocal - -if "_%DIFF%_" == "__" set DIFF=fc - -if "_%2_" == "_Win32_" ( - set "dir=%1" -) else ( - set "dir=%2\%1" -) - -rem Globbing returns files in alphabetic order. We also need to cover -rem compressed XML files (.xml.gz). -rem -if exist *.xml* ( - for %%f in (*.xml*) do ( - if NOT "%%f" == "out.xml" ( - if NOT "%%f" == "out.xml.gz" ( - %dir%\driver.exe %%f - if errorlevel 1 goto error - ) - ) - ) -) else ( - %dir%\driver.exe - if errorlevel 1 goto error -) - -goto end - -:error -endlocal -exit /b 1 - -:end -endlocal diff --git a/xsd/dist/template-vc10.sln b/xsd/dist/template-vc10.sln deleted file mode 100644 index 9a5dc32..0000000 --- a/xsd/dist/template-vc10.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/xsd/dist/template-vc11.sln b/xsd/dist/template-vc11.sln deleted file mode 100644 index 436eeea..0000000 --- a/xsd/dist/template-vc11.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/xsd/dist/template-vc12.sln b/xsd/dist/template-vc12.sln deleted file mode 100644 index 446d701..0000000 --- a/xsd/dist/template-vc12.sln +++ /dev/null @@ -1,17 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2013 -VisualStudioVersion = 12.0.21005.1 -MinimumVisualStudioVersion = 10.0.40219.1 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/xsd/dist/template-vc8.sln b/xsd/dist/template-vc8.sln deleted file mode 100644 index f38bad2..0000000 --- a/xsd/dist/template-vc8.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/xsd/dist/template-vc9.sln b/xsd/dist/template-vc9.sln deleted file mode 100644 index 2ec9432..0000000 --- a/xsd/dist/template-vc9.sln +++ /dev/null @@ -1,15 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -__projects__ -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution -__solution_configurations__ - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution -__project_configurations__ - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/xsd/doc/custom-literals.xsd b/xsd/doc/custom-literals.xsd deleted file mode 100644 index c6f7613..0000000 --- a/xsd/doc/custom-literals.xsd +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : doc/custom-literals.xsd -copyright : not copyrighted - public domain - -This schema describes the XML format used to provide the custom string -to C++ string literal mapping with the -custom-literals XSD compiler -command line option. Here is a sample instance: - -<string-literal-map> - <entry> - <string>hello</string> - <literal>"hello"</literal> - </entry> - <entry> - <string>greeting</string> - <literal>"greeting"</literal> - </entry> -</string-literal-map> - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:simpleType name="literal_t"> - <xsd:restriction base="xsd:string"> - <xsd:pattern value='".+"'/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="entry_t"> - <xsd:sequence> - <xsd:element name="string" type="xsd:string"/> - <xsd:element name="literal" type="literal_t"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="string_literal_map_t"> - <xsd:sequence> - <xsd:element name="entry" type="entry_t" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="string-literal-map" type="string_literal_map_t"/> - -</xsd:schema> diff --git a/xsd/doc/cxx/makefile b/xsd/doc/cxx/makefile deleted file mode 100644 index 0369b66..0000000 --- a/xsd/doc/cxx/makefile +++ /dev/null @@ -1,21 +0,0 @@ -# file : doc/cxx/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -docs := parser tree - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(docs))) -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(docs))) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(docs))) -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(docs))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(docs))) - -$(foreach m,$(docs),$(call import,$(src_base)/$m/makefile)) diff --git a/xsd/doc/cxx/parser/guide/cxx-parser-guide.pdf b/xsd/doc/cxx/parser/guide/cxx-parser-guide.pdf Binary files differdeleted file mode 100644 index f031009..0000000 --- a/xsd/doc/cxx/parser/guide/cxx-parser-guide.pdf +++ /dev/null diff --git a/xsd/doc/cxx/parser/guide/cxx-parser-guide.ps b/xsd/doc/cxx/parser/guide/cxx-parser-guide.ps deleted file mode 100644 index c3f171c..0000000 --- a/xsd/doc/cxx/parser/guide/cxx-parser-guide.ps +++ /dev/null @@ -1,20731 +0,0 @@ -%!PS -%%Title: C++/Parser Mapping Getting Started Guide -%%Creator: html2ps version 1.0 beta7 -%%EndComments -save -2000 dict begin -/d {bind def} bind def -/D {def} d -/t true D -/f false D -/FL [/Times-Roman -/Times-Italic -/Times-Bold -/Times-BoldItalic -/Courier -/Courier-Oblique -/Courier-Bold -/Courier-BoldOblique -/Helvetica -/Helvetica-Oblique -/Helvetica-Bold -/Helvetica-BoldOblique] D -/WF t D -/WI 0 D -/F 1 D -/IW 471 F div D -/IL 621 F div D -/PS 791 D -/EF [0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 2] D -/EZ [12 10 19 17 15 13 12 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8] D -/Ey [0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] D -/EG [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] D -/Tm [1 1 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1.3 0 0] D -/Bm [1 1 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1 0 0] D -/Lm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 2 0 0 0] D -/Rm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0] D -/EU [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0] D -/NO f D -/YY [[{()}{ h }][{ h }{()}][{()}{()}]] D -/ZZ [[{ (July 2014) }{ Pn }][{ Pn }{ (July 2014) }][{ Ti }{ Ti }]] D -/Ts EZ 0 get D -/TU f D -/Xp t D -/AU f D -/SN 0 D -/Cf t D -/Tp t D -/Fe f D -/TI 2 Ts mul D -/Fm 14 D -/xL 71 D -/xR 71 D -/yL 706 D -/yR 706 D -/Wl 471 F div D -/Wr 471 F div D -/hL 621 F div D -/hR 621 F div D -/FE {newpath Fm neg Fm M CP BB IW Fm add Fm L IW Fm add IL Fm add neg L CP BB - Fm neg IL Fm add neg L closepath} D -/LA {PM 0 eq{/IW Wl D /IL hL D}{/IW Wr D /IL hR D}ie /W IW D /LL W D /LS W D - TU PM 0 eq and{IW 56 F div add SA{Sf div}if 0 translate} - {PM 0 eq{xL yL}{xR yR}ie translate F SA{Sf mul}if dup scale - CS CF FS Cf{CA CL get VC}if /Bb f D}ie 0 0 M - TF not Tc or {Cf{gsave SA{1 Sf div dup scale}if Cb VC FE fill grestore}if}if}D -/Pi 0 Ts mul D -/SG [0.8 1 1] D -/Ab 15 D -/J 0 D -/Tc t D -/NH 6 D -/Nf f D -/Pa f D -/LH 1.2 D -/XR f D -/Xr {/pN E D ( [p ) WB pN WB (] )WB} D -/Db [16#FF 16#FF 16#FF] D -/Dt [16#00 16#00 16#00] D -/eA f D -/Fi f D -/bT f D -/Lc t D -/Dl [16#00 16#00 16#00] D -/LX f D -/Br 0.25 D -/IA ([IMAGE]) D -/DS {/PF f D()WB NL NP()pop RC ZF} D -/Gb f D -/Mb t D -/Hc [16#00 16#00 16#00] D -/Bl 3 D -/MI -15.6 D -/DX (DRAFT) D -/Di 0 D -/Tt 113.385826771654 D -/Th { ( -) 2 Al()BR ( - ) 0 1 -1 H()4 FZ (C++/Parser Mapping) ES()EH ( - ) 0 1 -1 H()4 FZ (Getting Started Guide) ES()EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( -) Ea()BR ( - ) 0 P (Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC) EP ( - - ) 0 P (Permission is granted to copy, distribute and/or modify this - document under the terms of the - ) R0 2 A (GNU Free - Documentation License, version 1.2) EA (; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - ) EP ( - - ) 0 P (This document is available in the following formats: - ) R1 2 A (XHTML) EA (, - ) R2 2 A (PDF) EA (, and - ) R3 2 A (PostScript) EA (.) EP()} D -/tH {()0 1 -1 H (Table of Contents) EH()} D -/FD 2 D -/Dy 2 D -/cD [16#F0 16#F0 16#F0] D -/FW 0.6 D -/FU [16#00 16#00 16#00] D -/ET {/RM f D /A0 3 D /PN SN D /OU t D /Ou t D /W IW D /LL W D D1 - Ms not TP and{Ip}if /TF f D} D - -%-- End of variable part -- -/MySymbol 10 dict dup begin - /FontType 3 D /FontMatrix [.001 0 0 .001 0 0 ] D /FontBBox [25 -10 600 600] D - /Encoding 256 array D 0 1 255{Encoding exch /.notdef put}for - Encoding (e) 0 get /euro put - /Metrics 2 dict D Metrics begin - /.notdef 0 D - /euro 651 D - end - /BBox 2 dict D BBox begin - /.notdef [0 0 0 0] D - /euro [25 -10 600 600] D - end - /CharacterDefs 2 dict D CharacterDefs begin - /.notdef {} D - /euro{newpath 114 600 moveto 631 600 lineto 464 200 lineto 573 200 lineto - 573 0 lineto -94 0 lineto 31 300 lineto -10 300 lineto closepath clip - 50 setlinewidth newpath 656 300 moveto 381 300 275 0 360 arc stroke - -19 350 moveto 600 0 rlineto -19 250 moveto 600 0 rlineto stroke}d - end - /BuildChar{0 begin - /char E D /fontdict E D /charname fontdict /Encoding get char get D - fontdict begin - Metrics charname get 0 BBox charname get aload pop setcachedevice - CharacterDefs charname get exec - end - end}D - /BuildChar load 0 3 dict put /UniqueID 1 D -end -definefont pop - -/Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D -/EX {EC cvx exec} D -/DU {} d -/BB {pop pop}d -/ie {ifelse} d -/E {exch} d -/M {moveto} d -/R {rmoveto} d -/L {lineto} d -/RL {rlineto} d -/CP {currentpoint} d -/SW {stringwidth} d -/GI {getinterval} d -/PI {putinterval} d -/Sg {setgray} d -/LW {setlinewidth} d -/S {dup () ne OU and{0 Co R AT 3 eq LB and HF not and A1 0 ne A2 0 ne or and - {A2 0 32 A1 0 6 -1 roll awidthshow}{show}ie 0 Co neg R}{pop}ie - OU PH 3 eq or{/Ms t D}if} D -/U {OU{gsave CP currentfont /FontInfo get /UnderlinePosition get - 0 E currentfont /FontMatrix get dtransform E pop add newpath M dup SW pop - CJ 0 RL stroke grestore}if} D -/B {OU Br 0 gt and{CP Ts neg Ts .33 mul R gsave 0 Sg - CP newpath Ts Br mul 0 360 arc closepath UI 2 mod 0 eq{stroke}{fill}ie - grestore M CP E Ts Br 1 add mul sub E BB /Ms t D}if}D -/NP {Ms TP not or PA and OU and{TP{OR}if f1{mF k2 /mF E D /YC 0 D}if - TP TU not PM 0 eq or and{showpage}if DU Ip TE not{LA}if 0.6 LW - /CI 0 D /TP t D /Hs f D /hl 6 D /Hv 6 D /HI hi D /Ms f D}if Bs XO BO M} D -/Np {LE sub CP E pop gt PL 0 eq and{NP}if}D -/Ip {/PN PN 1 add D /Pn RM{1}{4}ie PN Ns D /PM PN SN sub 2 mod D} D -/GP {E dup 3 -1 roll get PN 1 add 2 mod get dup type /integertype eq - {get 0 get}{E pop}ie}d -/Fc {dup 2 GP exec SW pop /S1 E D dup 1 GP exec SW pop /S2 E D 0 GP exec SW - pop /S3 E D S1 0 gt{S2 2 mul S1 add S3 2 mul S1 add 2 copy lt{E}if pop}{0}ie - S2 S3 add 2 copy lt{E}if pop IW .9 mul div dup 1 gt{1 E div}{pop 1}ie}D -/OR {Df{Sd}if tp not{gsave SA{1 Sf div dup scale}if Fe{Cf{FU VC}if FW LW - 1 setlinejoin FE stroke}if /YO {60 F div dup 40 gt{pop 40}if}D /cs CS D - /cf CF D /CF 0 D /pf PF D /PF f D /Fn FN D /At AT D /AT 0 D /FN EF Hf 1 add - get D Fz Fs FS ZZ Fc Fz mul Fs FS EU Hf 1 add get dup type /arraytype eq - Cf and{VC}{pop 0 Sg}ie IW IL neg YO sub M ZZ 1 GP exec dup SW pop neg 0 R Sh - 0 IL neg YO sub M ZZ 0 GP exec Sh ZZ 2 GP exec dup SW pop IW E sub 2 div - IL neg YO sub M Sh Fz Fs FS NO{/AW IW Pn SW pop sub D AW 2 div IL neg YO sub - S1 0 gt S2 AW .45 mul gt or S3 AW .45 mul gt or{Fz 2 mul sub}if M Pn Sh}if - EU Hf get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie YY Fc /FN EF Hf get D - Hz mul HS FS IW YO M YY 1 GP exec dup SW pop neg 0 R Sh 0 YO M YY 0 GP exec Sh - YY 2 GP exec dup SW pop IW E sub 2 div YO M Sh /FN Fn D /AT At D t Pb XO SZ - SL get neg R /PF pf D grestore /CF 0 D cs cf FS}if}D -/Sh {dup () ne{CP Hz 4 div sub BB show CP CS add BB}{pop}ie}D -/Pb {/OU E D /Ou OU D /PB t D 0 0 M Ba{/Sa save D /BP t D /Fl t D RC /PL 0 D - /PH 0 D /W IW D /LE IL .7 mul D /EO 0 D SI ZF /YA 0 D /BO 0 D /C1 () D - BA 0 Ts neg R Bb{Xl Yl Xh Yh}if Bb CP Sa restore M - {/Yh E D /Xh E D /Yl E D /Xl E D}if /Fl t D}if - BL /OU t D /HM f D /Ou t D /PB f D} D -/Bs {/BP Ba not D}D -/reencodeISO { - dup dup findfont dup length dict begin{1 index /FID ne{D}{pop pop}ie}forall - /Encoding ISOLatin1Encoding D currentdict end definefont} D -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] D -[128/backslash 129/parenleft 130/parenright 141/circumflex 142/tilde -143/perthousand 144/dagger 145/daggerdbl 146/Ydieresis 147/scaron 148/Scaron -149/oe 150/OE 151/guilsinglleft 152/guilsinglright 153/quotesinglbase -154/quotedblbase 155/quotedblleft 156/quotedblright 157/endash 158/emdash -159/trademark] -aload length 2 idiv 1 1 3 -1 roll{pop ISOLatin1Encoding 3 1 roll put}for -/colorimage where{pop}{ - /colorimage { - pop pop /Pr E D {/Cv Pr D /Gr Cv length 3 idiv string D 0 1 Gr length 1 sub - {Gr E dup /i E 3 mul D Cv i get 0.299 mul Cv i 1 add get 0.587 mul add - Cv i 2 add get 0.114 mul add cvi put}for Gr} image} D -}ie -/pdfmark where{pop}{userdict /pdfmark /cleartomark load put}ie -WF{FL{reencodeISO D}forall}{4 1 FL length 1 sub{FL E get reencodeISO D}for}ie -/Symbol dup dup findfont dup length dict begin - {1 index /FID ne{D}{pop pop}ie}forall /Encoding [Encoding aload pop] - dup 128 /therefore put D currentdict end definefont D - -/SF {/CS E D SZ SL CS put FO SL FN put /YI CS LH neg mul D dup ST cvs ( ) join - CS ST cvs join C1 E join ( NF ) join /C1 E D CS NF /Wf WF FN 0 gt or D - /BW Wf{( ) SW pop}{0}ie D}D -/NF {/cS E D /cF E D cF 0 ge{FL cF get}{cF -1 eq{/Symbol}{/MySymbol}ie}ie - findfont cS scalefont setfont} D -/FS {CF or /CF E D FR SL CF put CF CF 0 ge{FN 4 mul add}if E SF} D -/PC {SH /BP f D fin not GL not and{NL}if /HM t D /LL LS D} D -/BS {/TX E D Wf{/fin f D /CW 0 D /LK 0 D /SC 0 D - /RT TX D {RT ( ) search{/NW E D pop /RT E D /WH NW SW pop D CW WH add LL gt - {TX SC LK SC sub 1 sub NN GI GL{SH cF cS OC - 2 copy cS ne E cF ne or{NF}{pop pop}ie}{PC /CW WH BW add D}ie - /SC LK D} - {GL{JC}if - /CW CW WH add BW add D /HM t D}ie /GL f D /Ph f D - /LK LK NW length 1 add add D}{pop exit}ie}loop - /fin t D TX SC LK SC sub GI SH RT () ne{GL not{CC}if}if - /LC TX length D /WH RT SW pop D CW WH add Hy{HC SW pop add}if LL gt - {RT GL{SH cF cS OC 2 copy cS ne E cF ne or{NF}{pop pop}ie - Hy{/Ph t D}if /LL LS D}{NL /LL LS D SH}ie} - {RT PC Hy{CC}if /Ph Ph Hy or D}ie RT () ne{/GL t D /HM t D}if} - {TX SW pop LL le{TX SH}{/NW () D 0 2 TX length 1 sub - {/CW E D TX 0 CW GI dup SW pop LL gt{pop NW SH /HM t D NL/LL W XO sub MR sub D - /CW CW 2 sub NN D /TX TX CW TX length CW sub GI D TX BS exit} - {/NW E D}ie}for}ie}ie /HM t D}D -/CC {C0 length 0 gt{JC}if /C0 [C1 L1 YA YB Mf NS NB TB AF Bw] D - /C1 () D /L0 L1 D /YA 0 D /YB 0 D /Mf 0 D /NS 0 D /NB 0 D}D -/JC {C0 aload length 0 gt{pop pop pop NB add /NB E D NS add /NS E D - dup Mf gt{/Mf E D}{pop}ie dup YB gt{/YB E D}{pop}ie - dup YA gt{/YA E D}{pop}ie pop C1 join /C1 E D /C0 [] D}if}D -/OC {C0 length 0 gt{C1 L1 L0 sub YA YB Mf NS NB TB AF Bw GL C0 aload pop - /Bw E D /AF E D /TB E D /NB E D /NS E D /Mf E D /YB E D /YA E D /C0 [] D - /L1 E D /C1 E D Ph{HC SH}if NL /GL E D /Bw E D /AF E D /TB E D /NB E D /NS E D - /Mf E D /YB E D /YA E D /L1 E D /LL W L1 sub XO sub MR sub WH sub D /CW 0 D - C1 E join /C1 E D}if}D -/BT {/LB t D dup length string copy RS dup dup () ne E ( ) ne and - {/CI 0 D /LS LL D /LL W L1 sub XO sub MR sub D BS} - {dup ( ) eq{/GL f D}if dup () eq L1 0 eq or{pop}{SH /BP f D /Ph f D}ie}ie - /LB f D} D -/BL {CP E pop XO E M} D -/NL {JC /GL f D /SK W XO sub MR sub L1 sub TB{Bw add}if D - /YA LF{Mf HM Fl not and PF or{LH mul}if}{0 /LF t D}ie YA 2 copy lt{E}if pop D - C1 () ne{/FB YB Mf SA{Sf mul}if 4 div 2 copy lt{E}if pop D}if Fl{/Ya YA D}if - CP E pop YA sub YB sub LE neg lt Fl not and PB not and{NP}if NT TL BL - OU PF not and PB or{/RE L1 TB{Bw sub}if - W XO sub MR sub div YA YB add LE BO add div 2 copy lt{E}if pop D - RE 1 gt{BL 1 RE div dup scale}if}if - AT 2 le{SK AT mul 2 div YA neg R}if - AT 3 eq{0 YA neg R TB{/NB NB 1 sub D /NS NS 1 sub D}if /NB NB 1 sub NN D - /A3 NS 6 mul NB add D NS NB add 0 eq - {/A1 0 D /A2 0 D} - {NS 0 eq{/A1 SK NB div dup J gt{pop 0}if D /A2 0 D}{J A3 mul SK lt - {/A1 J D /A2 SK J NB mul sub NS div dup Ab gt{/A1 0 D pop 0}if D} - {/A1 SK A3 div D /A2 A1 6 mul D}ie}ie}ie /A1 A1 NN D /A2 A2 NN D}if - AT 4 eq{0 YA neg R PH 2 le{PD 0 lt{/PD L1 D}if PD M1 gt{/M1 PD D}if - L1 PD sub M2 gt{/M2 L1 PD sub D}if}{DV ID 1 sub get 0 ge{Lo 0 R}if}ie}if - F0 cF ne Cs cS ne or{F0 Cs NF}if - /ms Ms D /Ms f D CP FB sub - C1 cvx exec XO EO sub L1 add TB{BW sub}if dup LM gt{/LM E D}{pop}ie - PH 0 eq PH 4 eq or Ms and{HF not{/PO t D /AH t D}if - BB CP YA add E AT 3 eq LB and{A1 sub}if TB{BW sub}if E BB} - {pop pop}ie Ms HM PH 3 eq and or{/BP f D /Fl f D}if - /Lo 0 D /L1 0 D /F0 cF D /Cs cS D BP not{0 YB NN neg R}if - OU f1 and mF not and{k2 /f1 f D}if - OU PF not and PB or{RE 1 gt{RE dup scale}if}if /Ms ms Ms or D - /C1 AF{(Cp )}{()}ie D /YA 0 D /YB 0 D BL - AT 4 eq LB not and PH 3 ge and - {ID DV length lt{DV ID get dup 0 ge{DO E sub /Lo E D /L1 Lo D}{pop}ie - /ID ID 1 add D}if}if /T t D CD{/LN LN 1 add D PD}if - /PD -1 D /NS 0 D /NB 0 D /TB f D /Ph f D /Mf 0 D /HM f D} D -/RS {/TM E D /CN 0 D TM{10 eq{TM CN ( ) PI}if /CN CN 1 add D}forall - /CN 0 D /BK HM EN and{0}{1}ie D TM - {dup 32 ne{TM CN 3 2 roll put /CN CN 1 add D /BK 0 D} - {pop BK 0 eq{TM CN 32 put /CN CN 1 add D}if /BK 1 D}ie}forall - TM 0 CN GI dup dup () ne E ( ) ne and - {dup CN 1 sub get 32 eq{/EN f D}{/EN t D}ie}if} D -/join {2 copy length E length add string dup 4 2 roll 2 index 0 3 index - PI E length E PI}d -/WR {(\n) search{dup () ne BP not or - {Li 4 le CP E pop YI Li mul add LE add 0 lt and PL 0 eq and{NP}if - SH NL pop /Li Li 1 sub D WR}{pop pop WR}ie}{SH}ie /CI 0 D /BP f D} D -/SH {dup dup () ne E ( ) ne and PF or CS Mf gt and{/Mf CS D}if - T not Wf and{( ) E join /T t D}if dup BP{/MF CS D}if - AT 3 eq{2 copy length dup 0 gt{/NB E NB add D - {( ) search{/NS NS 1 add D pop pop}{pop exit}ie}loop}{pop pop}ie}if - CD PD 0 lt and{dup DC search{SW pop /PD E L1 add D pop pop}{pop}ie}if - 0 Np dup SW pop L1 add /L1 E D dup () ne - {C1 (\() join E join (\)) join AU AF and UF or Wf and{( U ) join}if - sF{( s ) join}if ( S ) join - /C1 E D dup length 1 sub get 32 eq /TB E D /Bw BW D}{pop pop}ie} D -/BG {AI LG BC add add 0 eq} D -/ON {OU{Ty AR AI NN get dup 1 add Ln Ns Ty 2 mod 0 eq{(. )}{(\) )}ie join - dup SW pop neg 0 R CP E 0 lt{0 E M}{pop}ie CP BB show /Ms t D}if} D -/Ln {AR AI 3 -1 roll put}D -/SP {dup CI lt BP not and{dup CI sub 0 E R /CI E D}{pop}ie} D -/BN {PF{WR /HM f D}{BT NL}ie} D -/NN {dup 0 lt{pop 0}if} D -/h {(h) HI ST cvs join cvx exec dup 1 get E Nf{0 get E join}{pop}ie} D -/H {/fn FN D /Hi E 1 add D 1 sub /HL E D /H2 HL 2 add D /GS EZ H2 get D - E Tm H2 get GS mul BE dup 0 gt{1 sub}{pop EG H2 get dup 0 lt{pop AT}if}ie NA - WW Np /SL SL 1 add D /FN EF H2 get D GS Ey H2 get FS - EU H2 get Sc Hs not HL Hl lt and Hs HL hl lt and or Hi 0 eq or - {/HI Hi D /Hs t D /hl HL D /Hv HL D}if HL Hl lt{/hi Hi D}if - Nf HI 0 gt and{(h) Hi ST cvs join cvx exec 0 get WB}if - /HF t D /AH f D /PO f D} D -/EH {Bm H2 get GS mul BE OA /SL SL 1 sub NN D /CF 0 D /FN fn D - SZ SL get FR SL get FS /HF f D /GS Ts D ()Ec} D -/P {E PF{WR}{PO{EP}{BN}ie Ts 4 mul Np AE not{Tm 0 get Ts mul neg SP}if - dup 0 ge AH and{Pi Pd}if}ie 1 sub dup 0 lt{pop AV AL get}if /AT E D /PO t D} D -/EP {PF{WR}{BN Ts 4 mul Np}ie AE not{Bm 0 get Ts mul neg SP}if - /AT AV AL get D /PO f D} D -/BE {E PO{EP}{BN}ie Ts 4 mul Np neg SP} D -/HR {/Aw W EO sub D /RW E dup 0 gt{Aw mul}{neg}ie dup Aw gt{pop Aw}if D /RZ E D - E BN Ts neg SP 1 sub 2 div Aw RW sub mul EO add CP E pop M PF{0 Ps neg R}if - 0 Np OU{gsave RZ LW Cf{Hc VC}{0 Sg}ie CP BB RW 0 RL CP BB stroke grestore}if - /CI 0 D /BP f D PF not{Ts neg SP}if /Ms t D} D -/AD {I NL EG 14 get dup 0 lt{pop AT}if NA /AE t D Tm 14 get Ts mul neg SP - Cf{EU 14 get dup -1 eq{pop CA CL get}if Sc}if} D -/DA {BN ()ES OA /AE f D ()Ec Bm 14 get Ts mul neg SP} D -/PR {/MW E D /Li E D Tm 1 get Ps mul BE 0 NA /FN Fp D /PF t D SI /SL SL 1 add D - /CF 0 D Ps CS mul Ts div MW WC mul CS mul Ts div dup LL gt PL 0 eq and - {LL div div}{pop}ie Ey 1 get FS CP E pop LE add YI neg div cvi dup Li lt - AH and{4 lt YI Li mul 5 mul LE add 0 gt or PL 0 eq and{NP}if}{pop}ie - EU 1 get Sc /GS Ps D}D -/RP {WR NL () /PF f D SI /FN 0 D ES Bm 1 get Ps mul neg SP OA /GS Ts D} D -/SI {/XO Lm 15 get BC NN mul Lm 16 get AI UI sub NN mul add - Lm 17 get UI NN mul add Lm 20 get LG NN mul add Ts mul - PF{Lm 1 get Ps mul add}if EO add D - /MR Rm 15 get BC NN mul Rm 16 get AI UI sub NN mul add - Rm 17 get UI NN mul add Rm 20 get LG NN mul add Ts mul - PF{Rm 1 get Ps mul add}if D /LL W XO sub MR sub D} D -/DT {/cC E D BN /LG LG 1 sub D SI /LG LG 1 add D WW 2 div Np BL} D -/DD {WB Cc 0 eq cC 0 eq and L1 0 eq or Lm 20 get Ts mul L1 sub TB{BW add}if - Ts 2 div lt or NL /LF E D SI BL /cC 0 D} D -/DL {Dc LG Cc put /Cc E D BG{Tm 18 get Ts mul BE}{BN}ie /LG LG 1 add D BL} D -/LD {BN LG 0 gt{/LG LG 1 sub D}if /Cc Dc LG get D SI - BG{()Bm 18 get Ts mul BE}if BL} D -/UL {BG{Tm 17 get Ts mul BE}{BN}ie NR AI NN 0 put /UI UI 1 add D - /AI AI 1 add D SI BL} D -/LU {BN /UI UI 1 sub D /AI AI 1 sub D SI BG{()Bm 17 get Ts mul BE}if BL} D -/OL {E BG{Tm 16 get Ts mul BE}{BN}ie TR AI NN Ty put /Ty E D NR AI NN 1 put - /AI AI 1 add D SI BL 1 Ln} D -/LO {BN /AI AI 1 sub D /Ty TR AI get D SI BG{()Bm 16 get Ts mul BE}if BL} D -/LI {E BN -1 SP /BP f D /CI 0 D 0 Np NR AI 1 sub NN get 1 eq - {dup dup 0 gt E 4 le and{/Ty E D}{pop}ie - /L1 L1 Ty AR AI NN get Ns SW pop XO sub dup 0 lt{pop 0}if add D ( ON )} - {pop ( B )}ie C1 E join /C1 E D CS Mf gt{/Mf CS D}if BL} D -/BQ {Tm 15 get Ts mul BE /BC BC 1 add D SI BL} D -/QB {Bm 15 get Ts mul BE /BC BC 1 sub D SI BL} D -/Al {E EP 1 sub dup 0 lt{pop AV AL get}if NA} D -/Ea {EP OA} D -/WB {PF{WR}{BT}ie} D -/F1 {WB /FN 0 D CS 0 FS} D -/F2 {WB /FN WI D CS 0 FS} D -/HY {/Hy t D WB /Hy f D} D -/YH {WB} D -/A {/LT E D LT 1 eq{/RN E D}if /Lh E D WB /C1 C1 ( Cp ) join D - Lc AF not and{Cl Sc}if /AF t D} D -/EA {Lc AF and{Ec}{WB}ie TL Pa AF and Lh 0 ne and - {( \() Lh join (\)) join /AF f D WB}if /AF f D} D -/TL {C1 ( Tl ) apa /C1 E D} d -/apa {AF OU and Lh 0 ne LT 1 eq or and{LT 1 eq{RN ( /) E ST cvs join} - {(\() Lh join (\)) join}ie E join join}{pop}ie} d -/Cp {/Xc CP /Yc E D D} D -/SS {Cf{dup 0 ge{EU E get dup -1 eq{pop CA CL get}if}{pop CA CL get}ie Sc} - {pop}ie SZ SL get /SL SL 1 add D} D -/I {WB 8 SS 1 FS} D -/EM {WB 8 SS /CF CF 1 xor D 0 FS} D -/BD {WB 9 SS 2 FS} D -/TT {WB 10 SS /FN Fp D 0 FS} D -/KB {WB 11 SS /FN Fp D 2 FS} D -/CT {WB 12 SS 1 FS} D -/SM {WB 13 SS /FN Fp D 0 FS} D -/Q {/QL QL 1 add D QO QL 2 mod get La get join WB} D -/EQ {QC QL 2 mod get La get join WB /QL QL 1 sub D} D -/RO {WB -1 SS /CF 0 D 0 FS} D -/SY {WB -1 SS -1 FS} D -/MY {WB -1 SS -2 FS} D -/ES {WB /SL SL 1 sub NN D /CF 0 D /FN FO SL get D SZ SL get FR SL get FS ()Ec}D -/FZ {3 sub 1.2 E exp GS mul E WB TL /C1 C1 ( Cp ) join D /SL SL 1 add D 0 FS} D -/Ef {WB TL ()ES /C1 C1 ( Cp ) join D} D -/BZ {dup /Bf E D FZ}D -/Sc {dup -1 ne Cf and{/CL CL 1 add D dup 0 eq{pop [0 0 0]}if - dup CA E CL E put VS ( VC ) join C1 E join /C1 E D}{pop}ie} D -/Ec {WB Cf{/CL CL 1 sub NN D CA CL get VS ( VC ) join C1 E join /C1 E D}if} D -/VS {dup type /arraytype eq{([) E {ST cvs join ( ) join}forall (]) join}if} D -/VC {{255 div}forall setrgbcolor} D -/Sl {dup type /integertype ne{Ds}if /La E D WB}d -/UN {WB /UF t D} D -/NU {WB /UF f D} D -/SE {WB /sF t D} D -/XE {WB /sF f D} D -/sM {/C1 C1 ( k1 ) join D}d -/eM {/C1 C1 ( k2 ) join D}d -/k1 {/YC CP E pop Ts add D /mF t D /f1 t D}d -/k2 {gsave 3 LW -9 CP E pop Ts 0.2 mul sub M -9 YC L stroke grestore /mF f D}d -/Ac {/AC E D WB}d -/Ca {eA{( \()join AC join(\) )join}if WB}d -/s {OU{gsave 0 CS .25 mul R dup SW pop CJ 0 RL stroke grestore}if}D -/CJ {AT 3 eq LB and{E dup dup length 1 sub A1 mul E - {( ) search{pop pop E A2 add E}{pop exit}ie}loop 3 -1 roll add - W CP pop sub 2 copy gt{E}if pop}if}D -/So {/Co E D} D -/SO {C1 Yo ST cvs join ( So ) join /C1 E D (j) SW pop 2 div Pd} D -/Se {E WB CS E div Pd}D -/Pd {dup type /stringtype eq{SW pop}if dup /L1 E L1 add D - ST cvs ( 0 R ) join C1 E join /C1 E D} D -/Sp {0.35 CO} D -/Sb {-0.2 CO} D -/CO {OV Io Yo put /Yo E CS mul Yo add D /Io Io 1 add D -1.5 Io mul 3 add FZ SO - CS Yo add dup YA gt{/YA E D}{pop}ie - Yo neg dup YB gt{/YB E D}{pop}ie} D -/Es {ES /Io Io 1 sub NN D /Yo OV Io get D SO} D -/SB {/N2 0 D 0 1 NI{/N E D{IX N2 get 0 lt{/N2 N2 1 add D}{exit}ie}loop - /K WS N get FC N get mul D /NY AY N2 get D /BV NY array D - 0 1 NY 1 sub{/TM K string D currentfile TM readhexstring pop pop BV E TM put} - for BM N BV put /N2 N2 1 add D}for} D -/IC [{/MA E D /MB 0 D}{2 div /MA E D /MB MA D}{/MB E CS sub D /MA CS D} - {pop /MA YS AB mul D /MB 1 AB sub YS mul D}{pop /MA 0 D /MB 0 D}] D -/IP {BV N get /N N 1 add D} D -/II {/K E D IX K get 0 lt{/EC E D}if /TY E D - TY 4 eq{/Y E D /X E D}if TY 3 eq{/AB E D}if - /XW AX K get D /YW AY K get D /IS SG IT K get get D /XS XW IS mul D - /YS YW IS mul D YS IC TY get exec /MA MA Fl not{3 add}if D} D -/IM {II /ty TY D /xs XS D /ys YS D /ya YA D /yb YB D /ma MA D /mb MB D /k K D - /ec EC D /BP f D /CI 0 D WB TL L1 xs add dup XO add MR add W gt - {pop /ma ma Fl{3 add}if D NL /YA ma D /YB mb D /YS ys D /L1 xs D} - {/L1 E D ma YA gt{/YA ma D}if mb YB gt{/YB mb D}if}ie /TB f D - OU{CP E pop YS sub LE neg lt Fl not and PB not and{NP /YA ma D /YB mb D}if - /BP f D ty ST cvs ( ) join IX k get 0 lt{(\() join ec join (\) ) join}if - k ST cvs join ty 3 eq{AB ST cvs ( ) join E join}if - ty 4 eq{X ST cvs ( ) join Y ST cvs join ( ) join E join}if C1 E join - ( DI ) join FP 2 eq FP 1 eq AF and or{( FM ) join}if - ( Il Cp ) apa /C1 E D /EN f D}if /HM t D /T f D} D -/DI {II /Xc CP /Yc E D D /YN YW neg D /HM t D /CI 0 D /K2 IX K get D gsave - TY 4 eq{OX X IS mul add OY FY add YS sub Y IS mul sub} - {/FY YS D CP MB sub 2 copy /OY E D /OX E D}ie - translate K2 0 ge{/DP AZ K2 get D /BV BM K2 get D XS YS scale /N 0 D XW YW DP - [XW 0 0 YN 0 YW] {IP} FC K2 get 1 eq{image}{f 3 colorimage}ie} - {EX}ie grestore XS 0 R /Ms t D} D -/FM {gsave 0 Sg CP MB sub translate XS neg 0 M 0 YS RL XS 0 RL 0 YS neg RL - XS neg 0 RL stroke grestore} D -/NA {/AT E D /AL AL 1 add D AV AL AT put} D -/OA {AL 0 gt{/AL AL 1 sub D /AT AV AL get D}if} D -/D1 {/BR {CP E pop E BN Mb{CP E pop eq{0 YI R}if}{pop}ie} D - /Sn {OU{C1 E ST cvs join ( Ld ) join /C1 E D}{pop}ie} D} D -/D1 {/BR {BN} D /Sn {OU {C1 E ST cvs join ( Ld ) join /C1 E D} {pop} ie} D} D -/TC {/TF t D /ML 0 D HN{SW pop dup ML gt{/ML E D}{pop}ie}forall NP /RM RM not D - RC /OU Tc D Ep /PN 0 D Ms not TP and{Ip}if /W IW ML sub Ts sub D - /A0 0 D TH{/BR {( ) join BT} D /Sn {pop} D /Au () D}if} D -/TN {0 eq{E EA PF HF or not XR and{HN E get Xr}{pop}ie} - {OU{Tn 0 ge{() BN}if /Tn E D}{pop}ie WB}ie} D -/NT {OU LB not and Tn 0 ge and{PL 0 eq{Ms not{CS CF FS}if CP dup - /y E YA sub D W 9 sub CS -1.8 mul XO L1 add 2 add{y M (.) show}for - HN Tn get dup SW pop IW E sub y M show CP BB M}if /Tn -1 D}if} D -/Ld {/DN E D HN DN Pn put [/View [/XYZ -4 Fl{PS}{CP YA add US E pop}ie null] - /Dest DN ST cvs cvn /DEST pdfmark} D -/C {ND 1 eq{1 sub}if TI mul /XO E D NL Nf not{pop()}if 0 3 -1 roll 1 A} D -/OP {BP not{NP}if PN 2 mod 0 eq{/Ms t D NP}if}D -/Ep {Xp PN 2 mod 0 eq and OU and{/Pn (-) D showpage /PM 1 D LA}if}D -/Dg [73 86 88 76 67 68 77] D -/Rd [0 [1 1 0][2 1 0][3 1 0][2 1 1][1 1 1][2 2 1][3 3 1][4 4 1][2 1 2]] D -/Ns {/m E D /c E 32 mul D /j m 1000 idiv D /p j 12 add string D - c 96 le m 0 gt and{c 32 le {/i 0 D /d 77 D /l 100 D /m m j 1000 mul sub D - j -1 1 {pop p i d c add put /i i 1 add D}for - 4 -2 0 {/j E D /n m l idiv D /m m n l mul sub D /d Dg j get D - n 0 gt {/x Rd n get D x 0 get -1 1 {pop p i d c add put /i i 1 add D}for - p i x 1 get sub Dg x 2 get j add get c add put}if /l l 10 idiv D - }for p 0 i GI} - {/i ST length 1 sub D m {1 sub dup 0 ge{dup 26 mod c add 1 add - ST i 3 -1 roll put 26 idiv dup 0 eq{pop exit}if}if /i i 1 sub D}loop - ST i ST length i sub GI}ie} - {m p cvs}ie} D -/US {matrix currentmatrix matrix defaultmatrix matrix invertmatrix - matrix concatmatrix transform} D -/GB {Gb{US}if}D -/Tl {/Rn E D Xc CP pop ne{ - [/Rect [Xc 1 sub Yc cS 0.25 mul sub GB CP E 1 add E cS 0.85 mul add GB] - /Subtype /Link /Border [0 0 Cf Lc and LX and AU or{0}{1}ie] Rn type - /nametype eq {/Dest Rn}{/Action [/Subtype /URI /URI Rn] Cd}ie - /ANN pdfmark}if} D -/Il {/Rn E D [/Rect [Xc Yc GB Xc XS add Yc YS add GB] /Subtype /Link - /Border [0 0 0] Rn type /nametype eq{/Dest Rn} - {/Action [/Subtype /URI /URI Rn] Cd}ie /ANN pdfmark} D -/XP {[{/Z Bz 2 div D Z 0 R Z Z RL Z neg Z RL Z neg Z neg RL Z Z neg RL - Fi cH 1 eq and{fill}if} {Bz 0 RL 0 Bz RL Bz neg 0 RL 0 Bz neg RL - Fi cH 1 eq and{fill}if} {0 -5 R Bz 0 RL 0 21 RL Bz neg 0 RL 0 -21 RL}]} D -/MS {/Sm E D WB}D -/O {BN()0 Sm BX} D -/BX {/Bt E D Bt 2 lt{/Ch E D CS 0.8 mul}{11 mul}ie W XO sub MR sub - 2 copy gt{E}if pop /HZ E D Bt 2 eq{Fi not{pop()}if ( )E join /Ft E D TT - /PF t D /MW 1 D /Li 1 D /Fw Ft SW pop D Fw HZ gt{/HZ Fw 8 add D}if - HZ ST cvs( )join}{WB Ch ST cvs( )join}ie L1 HZ add XO add MR add W gt{NL}if - Bt 2 eq{Ft ES Fw neg HM{CS sub}if Pd}if Bt ST cvs join( Bx )join - Bt 2 eq HM and{CS Pd}if C1 E join /C1 E D /L1 L1 HZ add D /T f D - ( ) Pd /PF f D Bt 2 lt{YA CS .8 mul lt{/YA CS .8 mul D}if} - {YB 5 lt{/YB 5 D}if YA 21 lt{/YA 21 D}if}ie /CI 0 D} D -/Bx {dup 2 eq{E /Bz E D}{E /cH E D /Bz CS .8 mul D}ie - OU {gsave 0 Sg XP E get exec stroke grestore}{pop}ie Bz 0 R /Ms t D}D -/SD {FD 4 mul Dy add DZ NF newpath 0 0 M DX t charpath pathbbox - 3 -1 roll sub /DY E D E dup /X1 E D sub WM mul WX DY mul add WM DG mul E div - /DF E D /DR WX DF mul DY mul WM div 2 div D} d -/Sd {gsave 0 IL Di mul neg translate IL IW atan Di 0 eq{neg}if rotate - FD 4 mul Dy add DZ NF DR X1 sub DY 2 div neg M cD VC DX show grestore} d -/Pt {/tp t D Tp{NP /Pn (TP) D 0 Tt neg R Th BN NP Ep ET RC ZF}if /tp f D} D -/RC {/AI 0 D /LG 0 D /BC 0 D /UI 0 D /PF f D /Cc 0 D /cC 0 D /Dc 10 array D - /NR [0 1 9{pop 0}for] D /La Ds D /AR 10 array D /TR 10 array D /AV 30 array D - SI /AL -1 D /AT A0 D AT NA /OV 9 array D /Yo 0 D /Co 0 D /Io 0 D /Hy f D - /Ph f D /CL -1 D Ct Sc}D -/ZF {/FR [0 1 30{pop 0}for] D /SZ [0 1 30{pop 0}for] D /FO [0 1 30{pop 0}for] D - /SL 0 D /CF 0 D /FN 0 D 0 Ts SF}D -/QO [[(\234)(\233)(\253\240)(\232)(\273)(\253)][(')(`)(\253\240)(\231)(\273)(\253)]] D -/QC [[(\234)(\234)(\240\273)(\233)(\253)(\273)][(')(')(\240\273)(`)(\253)(\273)]] D -/Hf EF length 2 sub D -/Hz EZ Hf get D -/HS Ey Hf get D -/Fz EZ Hf 1 add get D -/Fs Ey Hf 1 add get D -/LE IL D -/Ps EZ 1 get D -/Fp EF 1 get D -/XO 0 D -/YI 0 D -/CI 0 D -/FP 0 D -/WW Ts 7 mul D -/Mf 0 D -/YA 0 D -/YB 0 D -/Cs Ts D -/GS Ts D -/F0 0 D -/NS 0 D -/NB 0 D -/N 0 D -/C0 [] D -/C1 () D -/Lo 0 D -/L1 0 D -/LM 0 D -/PH 0 D -/EC 0 D -/Lh 0 D -/LT 0 D -/CH 1 string D -/ST 16 string D -/CA 9 array D -/HC (\255) D -/HM f D -/PF f D -/EN f D -/TB f D -/UF f D -/sF f D -/AE f D -/AF f D -/BP t D -/CD f D -/PA t D -/GL f D -/T t D -/HF f D -/AH f D -/SA f D -/PB f D -/f1 f D -/mF f D -/OX 0 D -/OY 0 D -/FY 0 D -/EO 0 D -/FB 0 D -/PL 0 D -/Bw 0 D -/PD -1 D -/TP f D -/tp f D -/TH t D -/Ty 4 D -/Tn -1 D -/Fl t D -/LB t D -/PM 1 D -/Ms f D -/Ba f D -/Bb f D -/Hl 3 D -/hl 6 D -/Hv 6 D -/Hs f D -/HI 0 D -/hi 0 D -/PO t D -/TE f D -/LF t D -/BO 0 D -/Sm 1 D -/Bf 3 D -/A1 0 D -/A2 0 D -/Ds 1 D -/QL -1 D -/Cb Db D -/Ct Dt D -/Cl Dl D -/AX [541] D -/AY [291] D -/IX [0] D -/IT [0] D -/AZ [8] D -/WS [541] D -/FC [3] D -/NI 0 D -/BM 1 array D -SB -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffcfdffe1edfb -c9e0f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c7def8d9e9fa -f8fbfeffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffe4effc -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8dceafbffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d2e4fac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c7def8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88495a77482928798abc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88b9caf -b5cbe4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf894a6baacc1d8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8393a57482928a9baec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88ea0b3626e7c2e343ac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7a898fa1b4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -3d454d9fb3c9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8525c688b9cafc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88d9eb15f6a77333a41c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c4dcf7afc4dcb9d0e9c5ddf8c5ddf8c5ddf896a9bd2e343ac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b3c9e1b3c9e1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8bdd4eeb0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b2c8e0bad0ea -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b9d0e9b4c9e2c5ddf8c5ddf8c4dcf7bed6f047505a768595bed6f0 -c1d8f3c5ddf8c5ddf8c3dbf6c1d8f3c5ddf8b2c8e0bfd6f1c5ddf8c3dbf6 -bed6f0bed6f0c4dcf7c5ddf8c5ddf8c5ddf8bfd6f1c5ddf8b6cce5c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b7cde6c4dcf7c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7c0d7f2c4dcf7b7cde6c5ddf8 -c5ddf8c5ddf8c4dcf7bed6f0bed6f0c3dbf6c5ddf8c5ddf8c3dbf6c1d9f4 -b4c9e2c5ddf8b8cfe8c4dcf7c5ddf8c3dbf6c1d8f3c1d9f4b9d0e9c5ddf8 -c5ddf8c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf895a7bb131518252a2f2024288494a6c5ddf8c5ddf896a9bd2e343a -c5ddf8c5ddf8c5ddf8c5ddf82d33392d3339282d3325292eaec3dbc5ddf8 -c5ddf847505a2f343b373e463d454dc5ddf8c5ddf8a9bdd4282d33373e46 -282d337d8d9ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c2daf5363c44323940323940525c68c5ddf8a5b9d030363d1214171e2125 -30363d687583c5ddf8c5ddf87b8a9b4149522c3137212529262b30c5ddf8 -96a9bd30363d0a0b0c9aadc2c5ddf8c5ddf8c5ddf8050606454e57272c31 -22272bafc4dcc5ddf8b7cee7464e5821252925292e181b1fa6bbd2c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a5b9d014171a252a2f22272b -48515bb8cfe8c5ddf8a8bcd430363d1012148393a5c5ddf8c5ddf87f8fa0 -1d202420242832383f292e34353b43c5ddf88b9cb021262a1e2125212529 -545f6ac1d9f4c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c0d7f214171a8797aac5ddf8c4dcf7b3c9e1c5ddf8c5ddf896a9bd -2e343ac5ddf8c5ddf8c5ddf8c5ddf8b7cde6c5ddf8c5ddf85a65715c6874 -c5ddf8a6bbd21e2125c5ddf8c5ddf8bfd6f1c5ddf8c5ddf85c6874687583 -c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88d9eb1373e46c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8c5ddf84a535d -7a899ac5ddf8c5ddf8c5ddf8c5ddf87b8a9b0303039cafc4c5ddf8bcd3ed -c5ddf8c5ddf8c5ddf82a2f359aadc2c5ddf8c5ddf8c5ddf80000008b9cb0 -c5ddf8505a65778696c5ddf8798898454e57c4dcf7a0b4ca000000a6bbd2 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a5b9d0000000a0b4ca -c5ddf847505a7d8c9dc5ddf8c5ddf8c5ddf84149528393a5c5ddf8c5ddf8 -7f8fa049525ca2b6cc0b0d0ec5ddf8212529c0d7f28b9cb0040505b5cbe4 -c1d9f430363d96a9bdc5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a4b8cf0d0f11c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -96a9bd2e343ac5ddf8c5ddf8c5ddf8c5ddf890a2b5505a652b30361b1e22 -4a535dc5ddf8c0d7f21e22263d454d768494bcd3edc5ddf8c5ddf88c9db1 -171a1e535d6992a3b7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b2c8e0171a1e454e577e8e9fc1d8f3c5ddf8c5ddf8c5ddf8 -4a535d7a899ac5ddf8c5ddf8c5ddf8c5ddf87b8a9b2b3036c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf82a2f359aadc2c5ddf8c5ddf8c5ddf8020202 -bfd6f1c5ddf8738190525c68c5ddf8424a537a899ac5ddf8c5ddf8101315 -a6bbd2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a5b9d00d0e10 -c5ddf8c5ddf879889847505ac5ddf8c5ddf8c5ddf84149528393a5c5ddf8 -c5ddf87f8fa05b6672b4c9e21d2024c5ddf82c3238abc0d78b9cb0252a2f -c5ddf8c5ddf85f6a77626e7bc5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a4b8cf0d0f11c2daf5c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf897a9be2d3339c5ddf8c5ddf8c5ddf8b9d0e916191ca0b4cac4dcf7 -69768547505ac5ddf8c5ddf8c2daf58a9bae1e222621262ac5ddf8c5ddf8 -c5ddf8b4cae36774820506066c7988c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bfd6f17f8fa01416193b424ac5ddf8c5ddf8 -c5ddf84a535d7a899ac5ddf8c5ddf8c5ddf8c5ddf87b8a9b49525cc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82a2f359aadc2c5ddf8c5ddf8c5ddf8 -060607c5ddf8c5ddf8748292505a65c5ddf849525c758393c5ddf8c4dcf7 -0c0d0fa6bbd2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a5b9d0 -0c0d0fc5ddf8c5ddf8788797454e57c5ddf8c5ddf8c5ddf84149528393a5 -c5ddf8c5ddf87f8fa05e6976b7cde6202428c5ddf82f343ba8bcd48b9cb0 -252a2fc5ddf8c5ddf85f6a775f6a77c5ddf8c5ddf892a4b8323940c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c0d7f214171a8797aac5ddf8c4dcf7b4c9e2 -c5ddf8c5ddf8bad1eb131518bdd4eec5ddf8c5ddf89cafc4272c31c5ddf8 -bed6f02a2f3547505ac5ddf8bad1ebc1d8f3c5ddf8b4c9e20e1012c0d7f2 -c5ddf8b6cce5c5ddf8c5ddf86c7988505a65c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b7cee7c3dbf6c5ddf89cafc51f2327c5ddf8 -c5ddf8c5ddf86673815f6b78c5ddf8c5ddf8c5ddf8c5ddf87b8a9b49525c -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82a2f359aadc2c5ddf8c5ddf8 -c5ddf8060607c5ddf8c5ddf8748292505a65c5ddf8808fa1394047bed6f0 -90a2b5000000a6bbd2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -a5b9d00000009db0c6c4dcf7454e577b8a9bc5ddf8c5ddf8c5ddf8414952 -8393a5c5ddf8c5ddf87f8fa05e6976b7cde6202428c5ddf82f343ba8bcd4 -8b9cb0030404b2c8e0c1d8f32f343b95a7bbc5ddf8c5ddf8b7cee715181b -bed6f0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a8bc171a1d262b3022272b -8495a7c5ddf8c5ddf8c5ddf86976851d202431373ec5ddf8c5ddf83d444c -2a2f351b1e2247505a47505ac5ddf899acc1181b1f394047282d326d7b8a -c5ddf8c5ddf856616c24282d363d452b3036a5b9d0c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88393a51b1e22394047272c318191a3 -c5ddf8c5ddf8c5ddf8a9bed5323940272c3164707ec5ddf8c5ddf87b8a9b -49525cc5ddf8c5ddf8c5ddf8c5ddf856616c2a2f35090a0b2125292a2f35 -a8bcd4c5ddf8060607c5ddf8c5ddf8748292505a65c5ddf8bdd4ee5f6a77 -1d20243e464e1d2024abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a5b9d014171a22272b21252948515bb8cfe8c5ddf86875832a2f35 -0d0f111c20232a2f3596a9bd7f8fa05e6976b7cde6202428c5ddf82f343b -a8bcd48b9cb021262a1b1e22202428545f6ac1d8f3c5ddf8c5ddf8c5ddf8 -6572801c2023353b43c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c6de -bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b7cde6c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3adc3dac3dbf6 -c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9b4c9e2c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed6f0aec3dbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bcd3ed1b1f23c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a5b9d01f2327c4dcf7b7cde6c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88b9cb0394047c1d9f4b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b4c9e240485165717f31373e697584c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a5b9d01f2327c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88b9cb0394047c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c4dcf79cafc48494a6b6cce5c5ddf8c5ddf87e8e9f6e7b8b6e7b8b -6e7b8b6e7b8b8a9baec5ddf8bcd3ed96a9bdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b4cae39eb1c7c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c4dcf78494a658626eb4c9e2c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf89eb1c721262a97a9bec1d8f3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86f7c8c55606bc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86875835b6672c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee3940477a8899c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4c9e2131518212529bcd3ed -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c3dbf63f474f -738190c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -6976855a6571c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8707e8d545e6ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a2b6cc1d20248b9cafbfd6f1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf892a3b7697685b7cde6c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff9fcfee6f0fce2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe2eefb -e2eefbe2eefbe2eefbe2eefbe2eefbe2eefbe8f2fcfdfeffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffbfcfed6e7fac6ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8cae0f9e6f0fc -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffe1eefbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8f3f8feffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c0d7f29fb2c8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -95a8bc47505ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffcfdffc9dff8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ddebfbffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db16191cc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b0c6de8fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8cae0f9ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b6cce57482924b545f636f7dbad0eac5ddf87a899a515b670a0b0c -5b67735b6773b7cde6c5ddf8c5ddf86a7786a8bcd465717f505a65a6bbd2 -c5ddf8707e8d5b6773798898c5ddf8c5ddf8c5ddf891a2b690a2b5697685 -5c6874acc1d8c5ddf8c5ddf8c1d9f478879758626e92a4b88494a6c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf84e57625e69769db0c67a899ab0c6dec5ddf8a2b6cc8292a4 -10131593a5b993a5b9bed6f0c5ddf8c5ddf81a1d2132383f6673818191a3 -93a5b9c5ddf89db0c66b7887363c44c5ddf8c5ddf8c5ddf8636f7d191c20 -7988986572802c3238c5ddf8c5ddf83940474e58637f8fa01c2023434b54 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf830363d707e8dbed5efc5ddf8c5ddf8c5ddf8c5ddf8 -aec3db16191cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf81a1d216f7c8cc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88ea0b3363c44c5ddf8c5ddf8c5ddf8636f7d -48515bc5ddf8c2daf50b0d0ebdd4eebcd3ed0a0c0dc0d7f2c5ddf85f6a77 -434b54c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a3b7ce434c550c0d0f454e57b9d0e9c5ddf8 -c5ddf8aec3db16191cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf81a1d21a3b7ce -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88ea0b3363c44c5ddf8c5ddf8c5ddf8 -636f7d677482c5ddf8c5ddf8131518b1c7df9cafc41e2226c5ddf8c5ddf8 -7d8c9d434b54c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd22024287c8b9c -c5ddf8c5ddf8b4cae3101315c5ddf8c5ddf8c5ddf8c5ddf8c5ddf81a1d21 -aabfd6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88ea0b3363c44c5ddf8c5ddf8 -c5ddf8636f7d677482c5ddf8c5ddf8131518b1c7dfc0d7f20b0d0ebed5ef -c5ddf8596470434b54c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8616d7a92a3b790a2b51e2226 -a6bbd2c5ddf8c5ddf8c5ddf823272c6774828d9eb1bed5efc5ddf8c5ddf8 -1a1d21aabfd6c5ddf8c5ddf8c5ddf8b9d0e98d9eb1667381262b308d9eb1 -9fb2c8c5ddf8636f7d677482c5ddf8c5ddf8131518b1c7dfc5ddf84a535d -3941486c7988202428434b54c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f4f59645b6672 -95a8bcc5ddf8c5ddf8c5ddf8c5ddf8b1c7df7a8899626e7bb7cee7c5ddf8 -c5ddf8707d8db7cee7c5ddf8c5ddf8c5ddf8b0c5dd626e7b626e7b626e7b -626e7b8190a2c5ddf894a6ba96a9bdc5ddf8c5ddf86c7988bbd2ecc5ddf8 -c5ddf891a2b6738190707d8d5a6571c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a3b7cebdd4eeb4c9e2343a4296a9bdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf87a899a282d33363c447d8d9ec3dbf6c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b4cae3a6bad1a6bad1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bbd2ecb6cce5 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4c9e2a6bad1a6bbd2c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3b0c6dec5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b8cfe8c2daf5c5ddf8c5ddf8c4dcf7b6cce5 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88595a84f5964010101c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8758393 -4f5964c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88292a44f5964000000 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8748292b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8697584c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bad11e2226c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee24282dc1d8f3c5ddf8c5ddf8c5ddf8 -2b3036b1c7dfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8030404c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bbd2ecb6cce5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7 -000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8000000c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3b0c6de -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c798865717fc5ddf8c5ddf8c5ddf8 -c5ddf87a899a57616dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c0d7f25b677321262a -202428768494c5ddf8c5ddf8c5ddf8030404c1d8f3c5ddf8c5ddf8c5ddf8 -7a899a262b301e21253d454dadc2d9c5ddf8c5ddf893a5b93c434b23272c -373e46bfd6f1c5ddf8c5ddf86673812c323824282d6d7b8ac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89cafc44c5560444d562c3137 -8494a6c5ddf8c5ddf8bed5ef59647021262a4b545fa3b7cec5ddf8c5ddf8 -b3c9e13d444c8190a2262b302a2f35b2c8e0c5ddf875839330363d23272c -5b6773c5ddf8c5ddf8b1c7df3e464e1c20233d444cb0c5ddc5ddf8b3c9e1 -424a53626e7b22272b5c6874c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf839414866738123272c606c79b7cee7c5ddf8c5ddf8 -343a422a2f35697685c5ddf8c5ddf8b6cce53d444c2c32384d5661434c55 -3e464ebad1ebc0d7f22f353c626e7b24282d6d7b8abed5efc5ddf8c5ddf8 -c4dcf7000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88fa1b44b555f444d568190a2c4dcf7 -c5ddf8c5ddf8c5ddf8c5ddf8c1d9f42d333964707e24282d6c7988bdd4ee -c5ddf8c4dcf7657280212529272c318696a9c5ddf8c5ddf8b7cee7505a65 -262b30292e3492a4b8c5ddf87d8d9e2a2f3505060625292e2a2f358a9bae -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8acc1d849525c -25292e2d3339a3b7cec5ddf86976852a2f350000002a2f352a2f359eb1c7 -c5ddf8c5ddf8515b668696a93941481b1f238190a2c5ddf85b66722a2f35 -434b54c5ddf8c5ddf8c5ddf88b9caf606c79434b54272c317d8c9dc5ddf8 -c5ddf8b0c5dd525c6824282d697584515b67c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8171a1dafc4dcc5ddf8c5ddf8 -c5ddf8c5ddf8bfd6f10c0d0fc0d7f2c5ddf8c5ddf8c5ddf8c5ddf88495a7 -899aadc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85c6874373e46 -a8bcd4bdd4ee92a3b7c5ddf8c5ddf8c5ddf8030404c1d8f3c5ddf8c5ddf8 -c5ddf898aabfb7cee7c1d9f46c7988363d45c5ddf8c5ddf82125299fb3c9 -c5ddf8a3b7cec1d9f4c5ddf89cafc52b3036bfd6f1c2daf5a3b6cdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf890a2b50000008b9caf -abc0d721262a9fb2c8c5ddf8545e6a434b54b5cbe496a9bd24282dc5ddf8 -c5ddf8aec3db0607084a545eaabfd6a4b8cfb7cde6b0c5dd1b1e22bbd2ec -c4dcf7a1b5cbc5ddf8c5ddf83a414955606bb7cee75b6773373e46c5ddf8 -adc3da0000007a8899b7cde6252a2f9baec3c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf81214174b545fb6cce556616c57616dc5ddf8 -c5ddf8c5ddf87583934f5964c5ddf8c5ddf8b2c8e00e1012b7cde60a0b0c -8ea0b3464e5896a9bdbed6f0000000616d7ab5cbe4424a53707e8dc5ddf8 -c5ddf8c4dcf7000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8454e580c0d0f0000000000000b0c0e -2d3238c1d9f4c5ddf8c5ddf8c5ddf8c1d8f30000005e6976b6cce5434c55 -6d7b8ac5ddf88495a71f2327a9bdd496a9bd0d0f11adc3dac5ddf8697584 -596470c4dcf7bad0eaabc0d7c5ddf8c5ddf8c5ddf8191c20abc0d7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84f5964 -72808fc5ddf8b3c9e1b2c8e0c5ddf8c5ddf8c5ddf8000000c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf830363d282d328ea0b3b7cee7a3b6cdc5ddf8c5ddf8 -a6bad11e2226c5ddf8c5ddf8c5ddf87a899a0d0e109fb3c9a8bcd40f1113 -c2daf5c5ddf83c434b677482b4cae33941482c3137c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b7cde6090a0bc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf81e2125a1b5cbc5ddf8c5ddf8c5ddf8c5ddf8 -3b424a454e57c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8191c20 -8fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8030404c1d8f3c5ddf8 -c5ddf8c5ddf8bed5ef8ea0b35f6a774a535d191c20c5ddf8c5ddf8292e34 -545f6a98aabfc4dcf7c5ddf8c5ddf8a5b9d0121417768494adc3dac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf890a2b5171a1d -c5ddf8c5ddf85a6571697685c5ddf8101315707e8d8b9caf899aad1c2023 -a9bed5c5ddf8aec3db000000aec3dbc5ddf8c5ddf8c5ddf8b7cde60d0f11 -6f7c8ca7bcd3c5ddf8c5ddf8c5ddf8060607a7bcd3c5ddf8adc2d9030303 -c1d9f4adc3da0d0e10c3dbf6c5ddf856616c6e7b8bc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf812141795a7bbc5ddf8a2b6cc21262a -c5ddf8c5ddf8c5ddf87583934f5964c5ddf8c5ddf8b2c8e024282dc5ddf8 -1e2125acc1d85d68757d8c9dbed6f0000000afc4dcc5ddf88899ac3c434b -c5ddf8c5ddf8c4dcf7000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88595a80c0d0f000000000000000000 -000000090a0c63707dc5ddf8c5ddf8c5ddf8c1d8f3000000acc1d8c5ddf8 -8b9cb0394047c5ddf8505a655c6874c5ddf8c5ddf832383f7a899ac5ddf8 -72808f2a2f358495a7b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8191c20abc0d7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -58636f3940478b9cb0bdd4eec5ddf8c5ddf8c5ddf8c5ddf8000000c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf830363d677482c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a899a3d454dc5ddf8c5ddf8 -23272ca2b6ccc1d8f30a0c0db9d0e9c5ddf88190a22c3137c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf897a9be23272cc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8383f468191a3c5ddf8c5ddf8c5ddf8 -c5ddf8b0c5ddb1c7dfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -0d0e10a8bcd4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8030404c1d8f3 -c5ddf8c5ddf8c5ddf8454e57515b6790a2b5808fa114171ac5ddf8c5ddf8 -b8cfe86c7a89171a1d212529bad1ebc5ddf8c5ddf89fb3c94e5863040505 -5f6a77c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf890a2b5 -282d32c5ddf8c5ddf86b7887515b66c5ddf80506065f6a77687583687583 -687583a9bed5c5ddf8aec3db14171ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -a9bdd458636f0607084a535dc5ddf8c0d7f2000000bad1ebc5ddf8bed5ef -000000bad0eaadc3da1d2024c5ddf8c5ddf85d6875677482c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8121417a6bad1c5ddf8b3c9e1 -0a0b0cc4dcf7c5ddf8c5ddf87583934f5964c5ddf8c5ddf8b2c8e02b3036 -c5ddf824282db3c9e1626e7b758393bed6f0000000bed6f0c5ddf899acc1 -22272bc5ddf8c5ddf8c4dcf7000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff9f9f9e7e7e7 -e6e6e6e5e5e5e4e4e4e2e2e2e1e1e1e0e0e0dfdfdfdedededddddddbdbdb -dadadad9d9d9d8d8d8d7d7d7d5d5d5d4d4d4d3d3d3d2d2d2d1d1d1d0d0d0 -cecececdcdcdcccccccbcbcbcacacac9c9c9c7c7c7a1b0c198aabf97a9be -96a9bd95a7bb94a6ba93a5b992a4b892a3b72b3036000000000000000000 -0000000000000000001f2327c5ddf8c5ddf8c5ddf8c1d8f3000000bcd3ed -c5ddf89cafc41f2327c5ddf8464e58707e8dc5ddf8c5ddf8444d566f7c8c -c5ddf8c4dcf7899aad363d450a0b0c8a9baec5ddf8c5ddf8c5ddf8191c20 -abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c1d8f37e8e9f2b30361013159cafc5c5ddf8c5ddf8c5ddf8000000 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf830363d92a3b7c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a899a505a65c5ddf8 -c5ddf82a2f359aadc2b7cde608090ac2daf5c5ddf88fa1b42c3137c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a3b7ce181b1f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82d33398ea0b3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf82f353c72808fc5ddf8c5ddf8c4dcf7c5ddf8c5ddf8c5ddf81e2226 -abc0d7c5ddf8c5ddf8c2daf50a0c0dbdd4eec5ddf8717f8e14171ac5ddf8 -c5ddf8c5ddf8c5ddf8b8cfe81f232791a2b6c5ddf8c5ddf8c5ddf8c5ddf8 -8e9fb216191cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -90a2b5060607c1d9f4c5ddf8464e588393a5c5ddf8272c317e8e9fc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8aec3db16191cc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a2b6cc060708c0d7f2c5ddf8171a1e8fa1b4c5ddf8 -96a9bd141619c5ddf8adc3da1d2024c5ddf8c5ddf85d6875677482c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf81214178190a2c5ddf8 -8e9fb23b424ac5ddf8c5ddf8c5ddf87583934f5964c5ddf8c5ddf8b2c8e0 -2b3036c5ddf824282db3c9e1626e7b758393bed6f00000009aadc2c5ddf8 -748292545f6ac5ddf8c5ddf8c5ddf8191c20b0c5ddc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffc0c0c0 -1a1a1a4141414242424343434444444545454747474848484949494a4a4a -4b4b4b4c4c4c4e4e4e4f4f4f505050515151525252545454555555565656 -5757575858585a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f4e565e4b545f -4c55604d56614e57624f5964505a65515b66515b67131518000000000000 -00000000000000000000000016191cc5ddf8c5ddf8c5ddf8c1d8f3000000 -97a9bec5ddf8768595515b67c5ddf8626e7b444d56c5ddf8c5ddf81b1f23 -8ea0b3c5ddf8c5ddf8c5ddf8c5ddf85b667249525cc5ddf8c5ddf8c5ddf8 -282d339db0c6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c2daf5434c55626e7cc5ddf8c5ddf8c5ddf8 -0f1113b7cde6c5ddf8c5ddf8c5ddf8c5ddf830363d94a6bac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a899a505a65 -c5ddf8c5ddf82a2f359aadc2c5ddf8282d329cafc5c5ddf8636f7d2c3137 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3 -050606c0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8111316afc4dcc5ddf8 -c5ddf8c5ddf8c5ddf895a8bc8ea0b3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf89aadc2131518474f595c6874515b67c5ddf8c5ddf8c5ddf8 -6c7a8925292e4f5964b4c9e2c5ddf8404851404851525c6830363d14171a -c5ddf8c2daf5292e3465717f5964701c2023c1d8f3c5ddf87e8e9f454e57 -6a7786363d455d6875c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf890a2b51214172c313748515b25292eb7cee7c5ddf894a6ba16191c -4b545f5f6a77272c31b7cee7c5ddf8aec3db16191cc5ddf8c5ddf8c5ddf8 -c5ddf892a4b83d454d6a7786424a53464e58c5ddf8c5ddf8788797101315 -545f6a131518768494c5ddf8adc3da1d2024c5ddf8c5ddf85d6875677482 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf812141723272c -545e6a1c20238797aac5ddf8a1b5cb5b6773363d4525292e5b67738a9bae -b2c8e02b3036c5ddf824282db3c9e1626e7b758393bed6f0030303282d32 -525c681c202399acc1c5ddf8c5ddf8c5ddf8687583262b304f5964b7cde6 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -c1c1c1676767ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8667281060708 -00000000000000000000000002030349525cc5ddf8c5ddf8c5ddf8c1d8f3 -010101282d33535d691b1f2398aabfc5ddf8b1c7df14171a454e5730363d -2e343ac4dcf7c5ddf856616c545f6a6774822125298ea0b3c5ddf8c5ddf8 -c5ddf86c7a89252a2f5a65719db0c6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8434c555b6672636f7d191c20a6bad1c5ddf8c5ddf8 -c5ddf8545e6a2e343a5b6773aabfd6c5ddf8c5ddf830363d94a6bac5ddf8 -c5ddf8c5ddf8bbd2ec5b67734e57620d0f115b6773707d8dc5ddf87a899a -505a65c5ddf8c5ddf82a2f359aadc2c5ddf88393a51d20243f474f2f343b -2c3137c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8333a4196a9bdc5ddf8c5ddf8c5ddf8c5ddf8a9bed51e2226c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8454e57373e46c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b5cbe48696a98495a7bad0eac5ddf8c5ddf8 -c5ddf8c5ddf8b0c6de93a5b9bed5efc5ddf8c4dcf793a5b98c9db1bad0ea -98abc0c5ddf8c5ddf8a4b8cf7e8e9f93a5b9c1d8f3c5ddf8c5ddf8bed6f0 -92a3b77d8c9da8bcd4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf890a2b5343a42a1b5cb8d9eb1c4dcf7c5ddf8c5ddf8c5ddf8 -b4cae38595a88191a3adc3dac5ddf8c5ddf8bfd6f199acc1c5ddf8c5ddf8 -c5ddf8c5ddf8c1d9f497a9be7c8b9ca1b5cbc5ddf8c5ddf8c5ddf8c5ddf8 -9fb3c97d8c9d9fb2c8c5ddf8c5ddf8bfd6f19baec3c5ddf8c5ddf8abc0d7 -adc3dac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8121417 -a3b6cd8494a6b8cfe8c5ddf8c5ddf8b4cae393a5b993a5b993a5b993a5b9 -a9bdd4c0d7f29fb2c8c5ddf89cafc5c1d8f3acc1d8b1c7dfbed6f0060607 -afc4dc8595a8bed5efc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c5dd93a5b9 -bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffc2c2c2656565ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1 -1c2024040505000000000000020202121416b6cce5c5ddf8c5ddf8c5ddf8 -c1d8f3030404b0c5dd8495a7bdd4eec5ddf8c5ddf8c5ddf8b5cbe48292a4 -8a9baec0d7f2c5ddf8c5ddf8b6cce58899ac8292a4b4cae3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b6cce594a6bab2c8e0c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b0c6de8494a68798abbad0eac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b0c6de94a6bab8cfe8c5ddf8c5ddf89fb3c9b9d0e9 -c5ddf8c5ddf8c5ddf8c0d7f293a5b993a5b993a5b993a5b99db0c6c5ddf8 -b2c8e0a8bcd4c5ddf8c5ddf89eb1c7bad1ebc5ddf8c5ddf8bdd4eea0b4ca -8292a4515b67c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf893a5b9424a53c5ddf8c5ddf8c5ddf8c5ddf856616c7e8e9f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf81f23278292a4c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf890a2b5343a42c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -121417b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed6f0 -060607c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffc4c4c4646464ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8bad0ea49525c131618111416404851b3c9e1c5ddf8c5ddf8c5ddf8 -c5ddf8c1d8f3030404c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf890a2b58899ac -8b9cb02a2f3590a2b5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf857616dbed5efc5ddf8c5ddf8c4dcf7535d69 -c2daf5c5ddf8c5ddf8c5ddf8c5ddf8bad1eb3f474fc4dcf7c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1bbd2ec -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a9bdd4788797c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf895a7bb6e7b8b6e7b8b6e7b8b6e7b8b738291c5ddf8 -c5ddf8657280bbd2ecc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c1d9f45f6b78c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffc5c5c5636363ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c3dbf65e6976c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a7bb6e7b8b -6e7b8b6e7b8b6e7b8b738291c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a2b6cc -5c68745e6976a6bad1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8434b542e343a -92a3b7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffc6c6c6616161ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b3c9e1141619 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffc8c8c8606060ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89eb1c7 -262b30c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffc9c9c95f5f5fffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bdd4ee8899acb4c9e2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8d9eb1323940c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffcacaca5d5d5dffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bcd3ed677482141619a9bdd4c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7482922c31377d8d9ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffcbcbcb5c5c5c -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8545f6a768595c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88393a530363d717f8ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffcdcdcd -5b5b5bffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85f6a776c7988c5ddf8 -c5ddf8c5ddf8c5ddf8bed5ef363d459baec3c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88fa1b42f353cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -cecece5a5a5affffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87482924b545f -c5ddf8c5ddf8c5ddf8c5ddf8bcd3ed11131690a2b5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf89eb1c7262b30c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffcfcfcf585858ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b6cce5 -282d322c3137b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b6cce5121417c4dcf7c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd1d1d1575757ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8e9fb2272c319fb3c9c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84f59642d33398c9db1 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd2d2d2565656ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8636f7d64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf84b545f95a7bb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bed5efb4cae3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd3d3d3545454ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf85e69766c7a89c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1000000 -8797aac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd4d4d4535353ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bbd2ec333a4191a2b6c5ddf8c5ddf8c5ddf8c5ddf893a5b9 -1e2125c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd6d6d6525252ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b4cae33940475f6b78bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8 -95a8bc95a7bbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b2c8e0394148c5ddf8c5ddf8c5ddf83f474facc1d8c5ddf88a9bae -282d32202428626e7cc4dcf7c5ddf8aabfd62a2f352a2f358e9fb2c5ddf8 -c5ddf8c5ddf8a9bdd44a535d262b3057616d404851c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd7d7d7505050ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8262b309baec3c5ddf8a3b6cd1e2226c5ddf8b1c7df -0a0c0d92a3b7abc0d7262b307f8fa0c5ddf8c5ddf8c5ddf8474f597d8d9e -c5ddf8c5ddf8c5ddf8282d327f8fa0afc4dc2a2f35404851c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd8d8d84f4f4f -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf86c7a8957616dc5ddf85f6a7765717fc5ddf8 -8393a5292e34c5ddf8c5ddf865717f47505ac5ddf8c5ddf8c5ddf8474f59 -7d8d9ec5ddf8c5ddf8b6cce50d0e10c4dcf7c5ddf86a7786404851c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffdadada -4e4e4effffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7df16191cc3dbf61b1f23abc0d7 -c5ddf87988983d454dc5ddf8c5ddf87786963c434bc5ddf8c5ddf8c5ddf8 -474f597d8d9ec5ddf8c5ddf8a2b6cc1b1f23c5ddf8c5ddf87d8c9d404851 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -dbdbdb4d4d4dffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8343a426a77862c3238 -c5ddf8c5ddf895a7bb121417c5ddf8c5ddf84e58635b6773c5ddf8c5ddf8 -c5ddf8474f597d8d9ec5ddf8c5ddf8c4dcf7101315bad1ebc5ddf8545e6a -404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffdcdcdc4b4b4bffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87b8a9b050606 -738291c5ddf8c5ddf8c5ddf83239402c313748515b141619adc3dac5ddf8 -8899ac5b67732125293a41495b6773a3b6cdc5ddf8616d7a25292e4c5560 -1c2023404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffdedede4a4a4affffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef -93a5b9bbd2ecc5ddf8c5ddf8c5ddf8c1d8f38b9caf8191a3b4c9e2c5ddf8 -c5ddf8a9bdd493a5b993a5b993a5b993a5b9b4cae3c5ddf8c5ddf8a9bed5 -8899acb2c8e0a4b8cfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffdfdfdf494949ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffe0e0e0474747ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bad0eaaec3dbc5ddf8c5ddf8c5ddf8bed6f0b3c9e1 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7b6cce5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b7cee7bad0eac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b8cfe8c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffe1e1e1464646ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd1e4f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c6ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf84e5762282d32414952c5ddf8c5ddf8c5ddf891a2b6 -333a41c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8697685 -c4dcf7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88595a857616dc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a2b6cc8b9cb0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf85b6672697685c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf86e7b8b6e7b8bc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -fffffffffffffffffffffffffffffffffffff6f6f6f1f1f1ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd7d7d7353535ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffe3effcc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8d6e7faffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bad0ea131518c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bed6f0b3c9e1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -020202c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7262b30abc0d7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87a899a -4a535dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b7cee7bad0eac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bad0ea1e2125bed6f0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffe7e7e7999999404040646464fcfcfcffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffc3c3c3151515ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffbfdffd6e7fac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8d3e5faf4f8feffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8545e6a25292e0506062a2f35363c44c5ddf8c5ddf8 -4a545e2a2f35535d69c5ddf8c5ddf8c5ddf8c5ddf86774827d8d9e434c55 -1b1e226a7786c5ddf8adc2d94a535d25292e2c3238a2b6ccc5ddf86b7887 -2a2f350000002a2f352a2f359cafc5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf82f353c74829223272c515b66bad0eac5ddf8a8bcd4 -363c441d20242b30368494a6c5ddf8a4b8cf424a53252a2f596470363c44 -4a545ec3dbf6c5ddf895a8bc32383f292e34768595c1d8f3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf894a6ba31373ec5ddf8 -c5ddf8c5ddf8c5ddf88393a5363c4423272c49525cc5ddf8c5ddf82f343b -1a1d211012142a2f353e464ec5ddf8c5ddf8b1c7df3e464e7f8fa0252a2f -2a2f35b4c9e2bad1eb2a2f352a2f357d8d9ec5ddf8c5ddf8c5ddf8505a65 -7482922b30363d444ca6bad1c5ddf8c5ddf890a2b531373e363d455f6a77 -8a9baec5ddf8c5ddf8c5ddf848515b7d8c9dc5ddf8c5ddf8c5ddf8c5ddf8 -a7bcd3687583c3dbf6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffd2d2d27c7c7c242424121212030303434343fcfcfcffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffc6c6c6131313 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffafcfe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef8fbfeffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed51b1e22c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8c5ddf84d56611a1d21 -8292a4b9d0e99eb1c7c5ddf8515b67707d8dc5ddf8b4c9e2b1c7dfc5ddf8 -c5ddf8c5ddf8020202c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf802020264707ebad0ea3a41498191a3c5ddf8 -adc3daa3b6cdc5ddf8a8bcd40a0b0cb1c7df9baec321262aaec3db000000 -a5b9d02f353cadc3daadc3da0d0e1092a4b8b8cfe84048518595a8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86e7b8b515b66 -c5ddf8c5ddf8c5ddf8bdd4ee16191cb3c9e1c5ddf8a0b4cac5ddf8c5ddf8 -c5ddf87a899a4a535dc5ddf8c5ddf8c5ddf8c5ddf8acc1d80708094b545f -abc0d7a3b7ceb8cfe8c5ddf8c5ddf85b6672697685c5ddf8c5ddf8c5ddf8 -2f353c3f474fb7cde6626e7c535d69c5ddf8b5cbe41013159fb2c89cafc4 -0a0c0d768595c5ddf8c5ddf8c5ddf868758357616dc5ddf8c5ddf8c5ddf8 -c5ddf88595a8000000c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3 -91a2b64b545d1717171313130303030000000808083a3a3af9f9f9ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffc9c9c9 -131313ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed51b1e22c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8c5ddf84d5661 -4a545ec5ddf8c5ddf8c5ddf8c5ddf85b6672373e468b9cafbdd4eec5ddf8 -c5ddf8c5ddf8c5ddf8020202c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8020202b6cce5c5ddf8707e8d545f6a -c5ddf8c5ddf8a2b6cc6d7b8a55606b13151897a9be9baec33b424ac5ddf8 -08090ac1d9f4464e5893a5b972808f2b30368b9cb08a9bae5f6b7848515b -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84e5863 -6b7887c5ddf8c5ddf8c5ddf8c1d9f4121417657280a0b4cac5ddf8c5ddf8 -c5ddf8c5ddf87a899a4a535dc5ddf8c5ddf8c5ddf8c5ddf8acc1d8000000 -b0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf85b6672697685c5ddf8c5ddf8 -c5ddf82f353c8899acc5ddf89fb2c8262b30c5ddf8808fa13f474fc5ddf8 -c5ddf8363c44768595c5ddf8c5ddf8c5ddf88292a4373e46c5ddf8c5ddf8 -c5ddf8c5ddf8bbd2eca6bad1c5ddf8c5ddf8c5ddf8b8cfe8667381282d32 -0a0b0c090a0b0000000000000000000000000404041e1e1e909090909090 -8b8b8b8686868282827d7d7d7878787373736e6e6e6969696464645f5f5f -5a5a5a5555555151514c4c4c4747474242423d3d3d3838383333332e2e2e -222222121212ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed51b1e22c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8c5ddf8 -4d5661768494c5ddf8c5ddf8c5ddf8c5ddf8c1d9f47f8fa02c3137101214 -9baec3c5ddf8c5ddf8c5ddf8020202c2daf5c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8050606c5ddf8c5ddf8768595 -4e5762c5ddf88d9eb1272c318292a499acc11e212592a3b79baec3424a53 -c5ddf8111316c5ddf84a545e8c9db16572802b3036687583687583687583 -7c8b9cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -5b6773606c79c5ddf8c5ddf8c5ddf8c5ddf8b0c6de626e7b0d0e10333a41 -c5ddf8c5ddf8c5ddf87a899a4a535dc5ddf8c5ddf8c5ddf8c5ddf8acc1d8 -171a1dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85b6672697685c5ddf8 -c5ddf8c5ddf82f353c9baec3c5ddf8a5b9d01f2327c5ddf86d7b8a4e5863 -c5ddf8c5ddf8454e57768595c5ddf8c5ddf8c5ddf8778696444d56c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed6f072808f171a1d -0202030506060000000000000000000000000000000505051e1e1e8c8c8c -9696969b9b9ba0a0a0a5a5a5a9a9a9aeaeaeb3b3b3b8b8b8bdbdbdc2c2c2 -c6c6c6cbcbcbd0d0d0d5d5d5dadadadfdfdfe3e3e3e8e8e8edededf2f2f2 -f7f7f7e0e0e0444444ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed51b1e22 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf891a2b6333a41c5ddf8c5ddf8c5ddf8 -c5ddf84d5661778696c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c3dbf6 -454e57606c79c5ddf8c5ddf8c5ddf8111316b4cae3c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8050606c5ddf8c5ddf8 -7685954e5762c5ddf84d5661778696c5ddf8b7cde602020292a3b79baec3 -424a53c5ddf8111316c5ddf84a545e8c9db1899aad1d2024c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf87c8b9c454e57c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db -0d0e10adc3dac5ddf8c5ddf88a9bae3c434bc5ddf8c5ddf8c5ddf8c5ddf8 -acc1d8181b1fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85b6672697685 -c5ddf8c5ddf8c5ddf82f353c9baec3c5ddf8a5b9d01f2327c5ddf8a3b6cd -22272bc4dcf7c4dcf71a1d21768595c5ddf8c5ddf8c5ddf85b677365717f -c5ddf8c5ddf8c5ddf8c5ddf8b1c7df7a899abdd4eec5ddf8c5ddf8c5ddf8 -c5ddf8c1d8f396a9bd5964701d21251313130e0e0e000000000000080808 -323232f3f3f3ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffe5e5e5424242ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed5 -1b1e22c5ddf8c5ddf8c5ddf8b0c5dd5b6773434c55171a1e5b67737b8a9b -c5ddf8c5ddf84d5661778696c5ddf8c5ddf8c5ddf8c5ddf8454e575a6571 -64707e191c20a4b8cfc5ddf8c5ddf8c5ddf856616c2d33395b6773a9bed5 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8050606c5ddf8 -c5ddf87685954e5762c5ddf88798ab1e2226616d7a2a2f351a1d2192a3b7 -9baec3424a53c5ddf8111316c5ddf84a545e8c9db1c4dcf73d454d272c31 -626e7b48515b5f6b78c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8adc3da1e2125c4dcf7c5ddf8c5ddf8a7bcd3343a42687583 -4e58632f343bc5ddf8c5ddf8c5ddf8bdd4ee181b1f4a535d697685c5ddf8 -c5ddf8acc1d8181b1fc5ddf8c5ddf8c5ddf8c5ddf893a5b95b67732a2f35 -31373e5b677398aabfc5ddf82f353c9baec3c5ddf8a5b9d01f2327c5ddf8 -c5ddf847505a282d332c3137282d32768595c5ddf8c5ddf8c5ddf82e343a -99acc1c5ddf8c5ddf8c5ddf8c5ddf88fa1b4000000b2c8e0c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8f1f1f1b0b0b05d5d5d1b1b1b -1515150404042b2b2bf1f1f1ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffe8e8e83f3f3fffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bed6f09aadc2c5ddf8c5ddf8c5ddf8bbd2ec93a5b993a5b993a5b993a5b9 -a2b6ccc5ddf8c5ddf8a7bcd3b1c7dfc5ddf8c5ddf8c5ddf8c5ddf8b0c6de -8495a78797aab9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7df94a6ba -b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a7bb -c5ddf8c5ddf8b1c7dfa7bcd3c5ddf8c5ddf8acc1d88292a4afc4dca0b4ca -b8cfe8bad1eba4b8cfc5ddf898aabfc5ddf8a6bbd2b7cde6c5ddf8c5ddf8 -98abc07c8b9c93a5b9c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf84b545f8b9cafc5ddf8c5ddf8c3dbf69cafc5 -7d8c9d9baec3c3dbf6c5ddf8c5ddf8c5ddf8c5ddf8c3dbf69fb3c99aadc2 -c5ddf8c5ddf8bed6f09aadc2c5ddf8c5ddf8c5ddf8c5ddf8adc3da93a5b9 -93a5b993a5b993a5b9b0c5ddc5ddf89fb3c9bad1ebc5ddf8bdd4ee9cafc4 -c5ddf8c5ddf8c5ddf8aabfd6b1c7df3941489cafc5c5ddf8c5ddf8a0b4ca -343a42c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8697685383f46c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffe3e3e39d9d9d4a4a4a4c4c4cedededffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeaeaea3d3d3dffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed56b7887c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf873829196a9bd7381901e2226c4dcf7c5ddf8c5ddf8 -7a899a9aadc2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85a65719eb1c7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -fffffffffffffffffffffffffffffffffffff3f3f3ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffededed3b3b3bffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88b9caf6e7b8b6e7b8b6e7b8b6e7b8b7d8d9ec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf87e8e9f525c68778696bad1ebc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffefefef383838ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff1f1f1363636ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff9fcfe -e0edfbcde2f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9 -cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9cce1f9d7e8faf2f7fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff4f4f4333333 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d8e8fac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -cce1f9feffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff6f6f6 -313131ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfe -fafcfefafcfefafcfefafcfefafcfefafcfefafcfefafcfefefeffffffff -ffffffc6def8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8f1f7fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f9f9f92f2f2fffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -d1e4f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c9e0f9 -e2eefbffffffc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffbfbfb2c2c2cffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffffefeff -cae0f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8f3f8fec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffdfdfd2a2a2affffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f2f7fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8e0edfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff282828ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff282828ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff282828ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff282828ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5efb4cae3c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff282828ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8474f597d8d9e -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff282828 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4 -bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -282828ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b2c8e0394148c5ddf8c5ddf8c5ddf83f474f -acc1d8c5ddf88a9bae282d32202428626e7cc4dcf7c5ddf8aabfd62a2f35 -2a2f358e9fb2c5ddf8c5ddf8c5ddf8a9bdd44a535d262b3057616d404851 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff282828ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bed5efa6bad1a6bad1bad1ebc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9 -b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c3dbf6aec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bdd4eea6bad1 -a6bad1bbd2ecc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8262b309baec3c5ddf8a3b6cd -1e2226c5ddf8b1c7df0a0c0d92a3b7abc0d7262b307f8fa0c5ddf8c5ddf8 -c5ddf8474f597d8d9ec5ddf8c5ddf8c5ddf8282d327f8fa0afc4dc2a2f35 -404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff282828ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8aabfd64f59641a1d218393a5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -64707e667381c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b3c9e1111316c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a7bcd3 -4f5964181b1f8798abc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7a8957616dc5ddf8 -5f6a7765717fc5ddf88393a5292e34c5ddf8c5ddf865717f47505ac5ddf8 -c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8b6cce50d0e10c4dcf7c5ddf8 -6a7786404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff282828ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84149528393a5c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf864707e667381c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c3dbf6aec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf83d444c8798abc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88899ac7482928494a6 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad0ea748292748292a3b7ce -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf897a9bea9bdd4c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88797aa7482928696a9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7df16191c -c3dbf61b1f23abc0d7c5ddf87988983d454dc5ddf8c5ddf87786963c434b -c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8a2b6cc1b1f23c5ddf8 -c5ddf87d8c9d404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff282828ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8494a62a2f351b1f23444d56c5ddf8c5ddf8c5ddf84149528393a5c5ddf8 -c5ddf8c5ddf8a2b6cc333a411d20242c32388b9cafc5ddf8c5ddf8b3c9e1 -4d5661252a2f2b303698abc0c5ddf8c5ddf88c9db139404723272c3c434b -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a3b7ce -414952292e346774826b7887c5ddf8c5ddf87f8fa02a2f35333a418797aa -c5ddf8c5ddf85c687472808f2e343a363d459eb1c7c5ddf8c5ddf898abc0 -383f4630363d49525c667381c5ddf8c4dcf76e7b8b262b303d444c93a5b9 -c5ddf8c5ddf8c5ddf8353b438d9eb12f353c2125299baec3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8697685626e7b2b3036424a53a3b6cd -c5ddf8c5ddf865717f2a2f35394047c5ddf8c5ddf8c5ddf84c5560454e57 -282d33626e7b2c32389cafc4c5ddf855606b64707e252a2f4e5863adc2d9 -c5ddf8c5ddf8c5ddf83d444c8798abc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf892a3b7697584 -25292ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bbd2ec8190a2363d45 -717f8ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85b66728292a4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf890a2b5657280292e34c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -343a426a77862c3238c5ddf8c5ddf895a7bb121417c5ddf8c5ddf84e5863 -5b6773c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8c4dcf7101315 -bad1ebc5ddf8545e6a404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff282828ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -99acc11416198fa1b4c2daf58b9cafc5ddf8c5ddf8c5ddf84149528393a5 -c5ddf8c5ddf8c5ddf8a9bed5a6bad1c5ddf8a2b6cc090a0bb8cfe8c5ddf8 -5f6a77626e7cc4dcf7b7cee7adc3dac5ddf8c2daf5191c20a9bed5c5ddf8 -9fb3c9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -1b1e228595a8adc2d922272b4d5661c5ddf892a3b7181b1fa2b6ccb0c5dd -262b30a9bdd4c5ddf83f474f333a41b4c9e2717f8e434c55c5ddf8bfd6f1 -1113169aadc2a1b5cb131518667381c5ddf8788797282d33abc0d7a7bcd3 -1b1f23bcd3edc5ddf8c5ddf80d0e103b424a9db0c6b0c5ddabc0d7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8505a651f2327aabfd68d9eb1 -191c20c5ddf8c5ddf8c5ddf8b3c9e1111316c5ddf8c5ddf8c5ddf82a2f35 -8fa1b4414952515b668494a658626ec5ddf8363d4530363db1c7df768494 -323940c5ddf8c5ddf8c5ddf83d444c8798abc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7b0c5ddb8cfe8c5ddf8c5ddf8c5ddf8 -9fb3c925292ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4cae3b1c7dfc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bed5efafc4dcc4dcf7c5ddf8c5ddf8c5ddf8 -c5ddf8b4c9e2b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c2daf5c1d9f4bed5efbdd4eec5ddf8c5ddf8c5ddf8c5ddf8 -c4dcf7b4c9e2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b8cfe8b5cbe4c5ddf8 -c5ddf8c5ddf8c1d9f4c2daf5bad1ebc1d8f3c5ddf8c5ddf8c5ddf8c5ddf8 -535d69717f8ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bbd2ecbcd3edc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1 -c4dcf7b7cde6c5ddf8c5ddf8c5ddf8c4dcf7bed6f0bed6f0c2daf5c5ddf8 -c5ddf8c3dbf6c1d9f4b4cae3c4dcf7b9d0e9c3dbf6c5ddf8c4dcf7c0d7f2 -c2daf5b8cfe8c5ddf8c5ddf8c5ddf8c5ddf89baec3292e34c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf87b8a9b050606738291c5ddf8c5ddf8c5ddf83239402c313748515b -141619adc3dac5ddf88899ac5b67732125293a41495b6773a3b6cdc5ddf8 -616d7a25292e4c55601c2023404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff282828ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf857616d515b66c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8414952 -8393a5c5ddf8c5ddf8c5ddf8c4dcf79fb2c86b788755606b0e1012a1b5cb -c5ddf86875832f353c8798abbad1ebc5ddf8c5ddf8c5ddf81e21255c6874 -9baec3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -a9bed516191cc5ddf8c5ddf85f6b784d5661c5ddf84e5863444d568b9cb0 -899aad474f596c7988c5ddf83f474f788797c5ddf8aec3db171a1dc5ddf8 -91a2b630363dc5ddf8c5ddf8444d56667381c5ddf8353b4357616d8b9caf -899aad353b438595a8c5ddf8c5ddf80d0e108b9cafc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8505a6557616dc5ddf8 -c5ddf81b1e22a9bed5c5ddf8c5ddf8b3c9e1111316c5ddf8c5ddf8c5ddf8 -2a2f35acc1d85b67736e7b8b9baec33e464ec5ddf8363d45707e8dc5ddf8 -c1d8f30a0c0dbed5efc5ddf8c5ddf83d444c8798abc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf89baec3171a1d23272c21262a7b8a9bc5ddf8 -c5ddf89fb3c925292ec5ddf8c5ddf8c5ddf8c5ddf8363c442c31372b3036 -212529a9bdd4c5ddf8c5ddf8505a652d3339383f46363c44c5ddf8c5ddf8 -b0c5dd2a2f35363d452b3036758393c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf86673812f343b1b1f231f23276c7a89c5ddf8c5ddf8 -96a9bd171a1d282d3331373e99acc1c5ddf8c5ddf84e576210121416191c -3d444cc1d9f4c5ddf84d5661333a411e21252024287e8e9fc5ddf8c5ddf8 -c5ddf8535d69717f8ec5ddf8c5ddf8c5ddf8c1d9f44a535d14171a282d32 -58636fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db -0f11132a2f3522272b434c55b4cae3c5ddf8afc4dc30363d121417798898 -c5ddf8c5ddf8899aad1b1e2221262a2f353c2b30362c3137c5ddf895a7bb -1d202420242821262a505a65bed5efc5ddf8c5ddf89baec3292e34c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bed5ef93a5b9bbd2ecc5ddf8c5ddf8c5ddf8c1d8f38b9caf -8191a3b4c9e2c5ddf8c5ddf8a9bdd493a5b993a5b993a5b993a5b9b4cae3 -c5ddf8c5ddf8a9bed58899acb2c8e0a4b8cfc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff282828ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf84a545e6a7786c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4149528393a5c5ddf8c5ddf8c5ddf88494a62c32388495a799acc116191c -9cafc4c5ddf8c3dbf68495a732383f0c0d0f92a3b7c5ddf8c5ddf8b5cbe4 -687583111316282d32c0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf897a9be25292ec5ddf8c5ddf86e7b8b4d5661c5ddf8424a533d454d -6875836875836875838d9eb1c5ddf83f474f8b9cb0c5ddf8b4cae3101214 -c5ddf87b8a9b414952c5ddf8c5ddf857616d667381c5ddf8282d334b545f -68758368758368758398abc0c5ddf8c5ddf80d0e10b5cbe4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8505a65687583 -c5ddf8c5ddf82b303690a2b5c5ddf8c5ddf8b3c9e1111316c5ddf8c5ddf8 -c5ddf82a2f35b2c8e0626e7b7482929fb3c9363d45c5ddf8363d458191a3 -c5ddf8c5ddf8111316aabfd6c5ddf8c5ddf83d444c8798abc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c4dcf71b1f237d8c9dc5ddf8c5ddf8b3c9e1 -c5ddf8c5ddf89fb3c925292ec5ddf8c5ddf8c5ddf8c5ddf8b7cde6c5ddf8 -c5ddf864707e535d69c5ddf8afc4dc15181bc5ddf8c5ddf8bfd6f1c5ddf8 -c5ddf86572805f6a77c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf86673811e2226bed6f0bbd2ec14171ab8cfe8 -c1d8f316191c8ea0b3c5ddf89baec33b424ac5ddf891a2b6171a1ebcd3ed -c1d8f32c31377d8c9dc5ddf84d5661353b43c2daf5b2c8e0121417c4dcf7 -c5ddf8c5ddf8535d69717f8ec5ddf8c5ddf8c5ddf873819030363dc1d9f4 -c4dcf7373e469fb3c9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -aec3db00000096a9bdc5ddf8515b66738190c5ddf8c5ddf8c5ddf84b545f -798898c5ddf8c5ddf8899aad3f474facc1d8030303c3dbf6282d32b9d0e9 -95a7bb000000afc4dcc3dbf63940478c9db1c5ddf8c5ddf89baec3292e34 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff282828ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf86d7b8a343a42c5ddf8c5ddf8c4dcf7c5ddf8c5ddf8 -c5ddf85c68746d7b8ac5ddf8c5ddf8c5ddf8434b548191a3c5ddf8afc4dc -0000009cafc4c5ddf8c5ddf8c5ddf8c4dcf7515b67535d69c5ddf8c5ddf8 -c5ddf8c5ddf8b4cae3171a1d9db0c6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c1d9f40d0f11bad1ebc5ddf8424a534d5661c5ddf8657280 -404750c5ddf8c5ddf8c5ddf8c5ddf8c5ddf83f474f8b9cb0c5ddf8b4cae3 -101214c5ddf8adc3da1c2023c5ddf8c5ddf82e343a667381c5ddf84b545f -5a6571c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf80d0e10b7cee7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8505a65 -424a53c5ddf8c3dbf60d0f11bdd4eec5ddf8c5ddf8b3c9e1111316c5ddf8 -c5ddf8c5ddf82a2f35b2c8e0626e7b7482929fb3c9363d45c5ddf8363d45 -5c6874c5ddf8b2c8e0171a1dc5ddf8c5ddf8c5ddf857616d72808fc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db070809bed6f0c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf89fb3c925292ec5ddf8c5ddf8c5ddf8c5ddf895a7bb -525c682c31371d2024404750c5ddf8c3dbf624282d3a4149738190bad1eb -c5ddf8c5ddf895a7bb171a1d515b668d9eb1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86673814a545ec5ddf8c5ddf83a4149 -8696a9a6bad10606075b667258636f57616d0a0c0dbed6f06b788747505a -c5ddf8c5ddf85d6875535d69c5ddf84d566164707ec5ddf8c5ddf8212529 -9fb3c9c5ddf8c5ddf8535d69717f8ec5ddf8c5ddf8c5ddf8424a53343a42 -5a657158626e2e343a64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8aec3db060607c1d9f4c5ddf88292a43e464ec5ddf8c5ddf8c5ddf8 -4b545f798898c5ddf8c5ddf8899aad515b66bed5ef131518c5ddf8363c44 -a2b6cc95a7bb1c2023c5ddf8c5ddf869758458626ec5ddf8c5ddf89baec3 -292e34c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a9bdd4a6bad1b1c7dfc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b8cfe8c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3b0c6dec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1bad1ebc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff282828 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee282d332c3238626e7c2d3339c5ddf8 -c5ddf8c5ddf89fb2c81b1f234b545f8fa1b4c5ddf87e8e9f22272b606c79 -2b303616191c9cafc4c5ddf84e586357616d6572801e212598aabfc5ddf8 -b6cce52e343a66738155606b22272bc4dcf7c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf86a77861e2226373e462c32384d5661c5ddf8 -bad0ea252a2f343a42636f7d3d454d7d8d9ec5ddf83f474f8b9cb0c5ddf8 -b4cae3101214c5ddf8c5ddf83e464e353b433d444c181b1f667381c5ddf8 -acc1d81c20233e464e626e7c343a4295a7bbc5ddf8c5ddf80d0e10b7cee7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -505a65171a1e474f592a2f35535d69c5ddf8c1d9f45b6773535d6908090a -5b6773697584c5ddf82a2f35b2c8e0626e7b7482929fb3c9363d45c5ddf8 -363d451b1f234e586322272b697685c5ddf8c5ddf8c5ddf89baec31b1f23 -4c556092a3b7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db070809bed6f0c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a1b5cb23272cc5ddf8c5ddf8c5ddf8bed5ef -171a1d9cafc5c3dbf67382913d454dc5ddf8c5ddf8c3dbf68ea0b323272c -191c20c4dcf7c5ddf8c5ddf8b7cde66c7a89070809626e7cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86673814a535dc5ddf8c5ddf8 -3a41498494a6a6bad10b0d0e98abc099acc199acc199acc1c1d9f46b7887 -474f59c5ddf8c5ddf85d6875535d69c5ddf84d5661636f7dc5ddf8c5ddf8 -2125299db0c6c5ddf8c5ddf8545e6a707e8dc5ddf8c5ddf8c5ddf8424a53 -58636f99acc199acc199acc1acc1d8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8aec3db060607c1d9f4c5ddf88292a43b424ac5ddf8c5ddf8 -c5ddf84b545f798898c5ddf8c5ddf8899aad545e6ac1d8f316191cc5ddf8 -3940479eb1c795a7bb1b1f23c5ddf8c5ddf869758455606bc5ddf8c5ddf8 -9cafc4282d33c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8596470333a41464e58c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88c9db1a1b5cbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bed5ef24282dc0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8697584c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bad11e2226 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4c9e22a2f35c4dcf7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8fffffff5f5f5ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -282828ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d9f491a2b67d8d9ea9bdd4 -c5ddf8c5ddf8c5ddf8c5ddf8bed6f095a8bcaec3dbc5ddf8c5ddf8a9bdd4 -8393a5b1c7df9eb1c7bad1ebc5ddf8b4c9e28797aa8495a7b7cde6c5ddf8 -c5ddf8c5ddf8a0b4ca7d8c9d96a9bdc1d9f4c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4cae3a7bcd3626e7c738190 -c5ddf8c5ddf8c1d8f390a2b57c8b9c9cafc4c4dcf7c5ddf8a3b7ceb7cde6 -c5ddf8c1d8f398aabfc5ddf8c5ddf8c5ddf89baec393a5b9adc2d9adc3da -c5ddf8c5ddf8bcd3ed8b9cb07d8d9ea3b6cdc5ddf8c5ddf8c5ddf897a9be -c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8505a6572808f8b9cb0a3b7cec5ddf8c5ddf8c4dcf793a5b993a5b9 -93a5b993a5b999acc1c5ddf89eb1c7c0d7f2acc1d8b0c6debbd2eca1b5cb -c5ddf8363d458797aa8797aaadc3dac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bed5ef95a7bbb0c5ddc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf71b1f237d8c9d -c5ddf8c5ddf8b3c9e1c5ddf8c5ddf8bfd6f1111316bad0eac5ddf8c5ddf8 -a5b9d01e2125c5ddf8c0d7f232383f3d454dc5ddf8bcd3edbfd6f1c5ddf8 -bad0ea0d0f11bad1ebc5ddf8b6cce5c5ddf8c5ddf8768494474f59c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86673811e2125bdd4ee -bad0ea141619b7cee7c1d8f316191c8b9cb0c5ddf8c5ddf8b1c7dfc5ddf8 -92a4b816191cbad0eabfd6f12a2f357e8e9fc5ddf84d5661323940c1d9f4 -b0c5dd111316c4dcf7c5ddf8c5ddf87d8c9d49525cc5ddf8c5ddf8c5ddf8 -73819030363dbed6f0c5ddf8c0d7f2b6cce5c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8aec3db00000093a5b9c5ddf84e586372808fc5ddf8 -c5ddf8c5ddf84b545f798898c5ddf8c5ddf8899aad545e6ac1d8f316191c -c5ddf83940479eb1c795a7bb000000acc1d8c2daf5363d458b9cb0c5ddf8 -c5ddf8bdd4ee111316bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f464e58c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84c5560788797c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf86e7b8b626e7cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8000000c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3 -b0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525c -8798abc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bed5ef8b9caf485059555555f0f0f0ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff292929ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88292a48fa1b48292a41c2023 -afc4dcc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8505a65748292c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8363d458e9fb2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89cafc4 -1b1e2223272c24282d7c8b9cc5ddf8c5ddf8c5ddf8707e8d1e2226282d33 -c5ddf8c5ddf8454e57282d321b1f234a535d3d454dc5ddf8a1b5cb171a1e -383f46282d33657280c5ddf8c5ddf85f6b7821262a373e46292e349eb1c7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86673812d3339 -191c201e22266c7a89c5ddf8c5ddf897a9be191c20262b30252a2f394148 -c5ddf8c5ddf84e57620f111315181b3d444cc1d9f4c5ddf84d566131373e -1c20231f23277e8e9fc5ddf8c5ddf8c5ddf8b8cfe84047501b1e22697685 -c5ddf8c1d9f44e57620e101232383f1b1f2390a2b5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8aec3db0e1012272c3121262a434c55b4cae3 -c5ddf8707d8d2a2f351012141a1d212a2f358ea0b3899aad545e6ac1d8f3 -16191cc5ddf83940479eb1c795a7bb1d20241d2024202428505a65bed5ef -c5ddf8c5ddf8c5ddf86c7a891e21252d3339c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f464e58c5ddf8 -c5ddf8c5ddf8c4dcf7444d561e222624282d616d7ac2daf5c5ddf8c5ddf8 -6673812c323824282d6d7b8ac5ddf8a6bad12a2f351012141a1d212a2f35 -626e7cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8667381 -707d8d32383f32383f98aabfc5ddf8c5ddf855606b20242821262a545f6a -bed6f0c5ddf8434c55444d562c32385f6a772f343ba1b5cbc5ddf8b7cde6 -4d566121252956616cadc3dac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8191c20adc2d9c5ddf8c5ddf8c5ddf8acc1d8 -49525c25292e2d3339a3b7cec5ddf86976852a2f350000002a2f352a2f35 -9eb1c7c5ddf8c5ddf8515b668696a93941481b1f238190a2c5ddf85a6571 -2a2f35434b54c5ddf8c5ddf8c5ddf88b9caf606c79434b54272c317d8c9d -c5ddf8c5ddf8b0c5dd525c6824282d697584525c68c5ddf8c5ddf8c5ddf8 -93a5b9323940c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86d7b8aa0b4cac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8adc2d9707d8d -292f340c0e0f0304041e2225f0f0f0ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff2b2b2bfdfdfdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf893a5b957616d687583 -b0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c5dd6e7b8b6e7b8b6e7b8b6e7b8b -6e7b8bafc4dcc5ddf88797aa9aadc2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf87a8899a7bcd3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b1c7dfbbd2ecc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b7cee7c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8 -c1d9f4adc3dac2daf5c5ddf8c5ddf8c5ddf8c5ddf8bad0eab2c8e0c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8667381 -5e6976bed5efbdd4eec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7dfb8cfe8 -c5ddf8c5ddf8c5ddf8c5ddf8b8cfe8b5cbe4c5ddf8c5ddf8c5ddf84d5661 -778696bad0eac1d8f3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bed6f0aec3dbc2daf5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db16191cc4dcf7b7cde6c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a7bb2f353cc2daf5b8cfe8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f464e58 -c5ddf8c5ddf8c5ddf8c4dcf78ea0b3c2daf5b6cce52c32388190a2c5ddf8 -9cafc52b3036bfd6f1c2daf5a3b6cdc5ddf8c5ddf8c5ddf84c5560788797 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4b545f2a2f35b0c6de7d8c9d373e46c5ddf8c5ddf88fa1b4c0d7f2bad1eb -3f474f697685c5ddf820242899acc1363d455b6773798898626e7cc5ddf8 -3a414956616cbad0ea8190a23a4149c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b8cfe8070809c4dcf7c5ddf8c5ddf8c5ddf8 -4f596472808fc5ddf8b3c9e1b2c8e0c5ddf8c5ddf8c5ddf8000000c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf830363d282d328ea0b3b7cee7a3b6cdc5ddf8 -c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a88990d0e109fb3c9a7bcd3 -0f1113c2daf5c5ddf83c434b677482b4cae33941482c3137c5ddf8c5ddf8 -c5ddf8b2c8e00d0e10c5ddf8c5ddf8c5ddf8c5ddf8c5ddf80a0b0c768595 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c2daf595a8bc535d6815181b0e1011 -0505060000000202021f2327bcd2e9ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff2d2d2dfbfbfbffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -6673815e6976c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4d5661778696c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aec3db16191cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a7bb2f353cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f -464e58c5ddf8c5ddf8c5ddf8c5ddf8b0c5dd7a899a57616d292e3464707e -c5ddf8a5b9d0121417768494adc3dac5ddf8c5ddf8c5ddf8c5ddf84c5560 -788797c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf84b545f6c7988c5ddf8bad1eb0a0c0dc5ddf8c5ddf8b4cae38190a2 -58636f333a414d5661c5ddf8202428b7cde6515b6679889890a2b549525c -bcd3ed0202028190a28b9caf8899ac111316bdd4eec5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf899acc1212529c5ddf8c5ddf8c5ddf8 -c5ddf858626e3940478b9cb0bdd4eec5ddf8c5ddf8c5ddf8c5ddf8000000 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf830363d677482c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a88993d454dc5ddf8 -c5ddf823272ca2b6ccc1d8f30a0c0db9d0e9c5ddf88190a22c3137c5ddf8 -c5ddf8c5ddf8c5ddf8070809b3c9e1c5ddf8c5ddf8c5ddf8c5ddf8a8bcd4 -b9d0e9c5ddf8c5ddf8b5cbe4616d7a252a2f090a0b090a0b000000000000 -000000000000010101141619778696808f9fa1a1a1a0a0a09e9e9e9c9c9c -9a9a9a9898989797979595959393939191918f8f8f8e8e8e8c8c8c8a8a8a -8888888686868585858383838181817f7f7f7d7d7d7c7c7c7a7a7a787878 -767676747474737373717171141414f8f8f8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8aabfd6a8bcd4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a3b7ceafc4dcc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8292a46e7b8b6e7b8b6e7b8b6e7b8b8696a9c5ddf8bed6f094a6bac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b7cee79baec3c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7e8e9f464e58c5ddf8c5ddf8c5ddf8b8cfe816191c76849498aabf464e58 -5f6a77c5ddf8c5ddf89fb3c94e58630405055f6a77c5ddf8c5ddf8c5ddf8 -4c5560788797c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf84b545f7f8fa0c5ddf8c1d8f3030404c5ddf8c1d9f4191c20 -6f7c8c96a9bd58626e47505ac5ddf8202428bdd4ee58626e7f8fa095a8bc -414952b0c6de040505677482687583687583687583b6cce5c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bad116191cc5ddf8c5ddf8 -c5ddf8c5ddf8c1d8f37d8d9e2a2f351013159cafc5c5ddf8c5ddf8c5ddf8 -000000c5ddf8c5ddf8c5ddf8c5ddf8c5ddf830363d92a3b7c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a8899515b66 -c5ddf8c5ddf8292e349baec3b7cde608090ac2daf5c5ddf88fa1b42c3137 -c5ddf8c5ddf8c5ddf8c0d7f2030404bed5efc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bfd6f17a899a1f2328030304060708000000000000 -000000000000000000020303171a1d616d7b677480858585878787898989 -8b8b8b8c8c8c8e8e8e9090909292929494949595959797979999999b9b9b -9d9d9d9e9e9ea0a0a0a2a2a2a4a4a4a5a5a5a7a7a7a9a9a9abababadadad -aeaeaeb0b0b0b2b2b2b4b4b4b5b5b5b7b7b7fdfdfdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c3dbf6a2b6cc93a5b9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf899acc12f353cc5ddf8c5ddf8c5ddf8808fa1444d56c5ddf8c5ddf8 -262b305f6a77c5ddf8c5ddf8c5ddf8c5ddf88e9fb216191cc5ddf8c5ddf8 -c5ddf85b67736a7786c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf84b545f7f8fa0c5ddf8c1d8f3030404c5ddf897a9be -2d3339c5ddf8c5ddf83d454d47505ac5ddf8202428bdd4ee58626e7f8fa0 -95a8bc414952c4dcf70f111398aabfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d9f4060607bed6f0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c2daf5434b54626e7cc5ddf8c5ddf8 -c5ddf80f1113b7cde6c5ddf8c5ddf8c5ddf8c5ddf830363d94a6bac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a6bad11e2226c5ddf8c5ddf8c5ddf87a8899 -515b66c5ddf8c5ddf8292e349baec3c5ddf8272c319cafc5c5ddf8626e7c -2c3137c5ddf8c5ddf8c5ddf8a6bad11b1e22c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88494a6a0b4cac5ddf8c5ddf8c5ddf8c5ddf8c2daf59aadc25c6874 -1e22260e10120a0b0d0000000000000607082d3339c3d8f1ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf858636f373e46899aadc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c4dcf7282d333d454d6b7887c5ddf8b4c9e21214175e6976 -323940272c315f6a77c5ddf87e8e9f454e576a7786363d455d6875c5ddf8 -c5ddf8c5ddf899acc1191c20545e6a8292a4c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf84b545f7f8fa0c5ddf8c1d8f3030404c5ddf8 -c0d7f2171a1d5964703d444c292e3447505ac5ddf8202428bdd4ee58626e -7f8fa095a8bc414952c5ddf88190a215181b545e6a5a6571292e34c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8363c44 -94a6bac5ddf8c5ddf8c5ddf8434c555b6672636f7d191c20a6bad1c5ddf8 -c5ddf8c5ddf8545e6a2f343b5b6773aabfd6c5ddf8c5ddf830363d94a6ba -c5ddf8c5ddf8c5ddf8bad1eb5b67734d56610e10125b6773707d8dc5ddf8 -7a8899515b66c5ddf8c5ddf8292e349baec3c5ddf88393a51d20243f474f -2f343b2c3238c5ddf8c5ddf8c5ddf87988984f5964c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8141619687583c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b8cfe88595a8424a531113150f11130202032c3036f8f8f8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf821262aa3b7cec5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88798ab596470adc3da -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89fb2c89fb2c8c5ddf8c5ddf8b9d0e9 -8494a6a0b4caadc3daabc0d7c5ddf8bed6f092a3b77d8c9da8bcd4c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bfd6f198abc0a6bad1c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd2b4c9e2c5ddf8c4dcf795a7bb -c5ddf8c5ddf8bed5ef8797aa99acc1b3c9e1a6bad1c5ddf89cafc4c3dbf6 -a9bed5b4c9e2b9d0e9a4b8cfc5ddf8c5ddf8aec3db8191a38595a8b4c9e2 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -95a8bc404750c5ddf8c5ddf8c5ddf8b0c6de8494a68798abbad0eac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b0c6de94a6bab8cfe8c5ddf8c5ddf89fb3c9 -b9d0e9c5ddf8c5ddf8c5ddf8c0d7f293a5b993a5b993a5b993a5b99db0c6 -c5ddf8b2c8e0a8bcd4c5ddf8c5ddf89eb1c7bad1ebc5ddf8c5ddf8bdd4ee -a0b4ca8292a4515b67c5ddf8c5ddf8c5ddf8282d33acc1d8c5ddf8c5ddf8 -c5ddf8c5ddf8b4c9e2060607aec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd26d7a892e3339 -515151f5f5f5ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf816191cadc3dac5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a8bcd41b1f2395a8bc -bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf858626ebdd4eec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf890a2b5 -8899ac8b9cb02a2f3590a2b5c5ddf8c5ddf8adc3da677482c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf894a6ba64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8f9f9f9ecececffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bbd2ec070809bfd6f1c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87988984c5560 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8abc0d7 -6e7b8b6e7b8b6e7b8b6e7b8b6e7b8bb4c9e2c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -a2b6cc5c68745e6976a6bad1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87a899a171a1e64707ec5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf872808f -515b66c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad0ea7f8fa0141619c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed6f0 -414952707d8dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8101214 -b1c7dfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bbd2ec -14171a1b1e22b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -171a1eadc2d9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c4dcf748515b697584c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf83e464e7a899ac4dcf7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8738190505a65c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf89cafc44e58635c6874c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf87a899a4a535dc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8abc0d7171a1e899aadbdd4eec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a8bc6b7887b1c7df -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf89cafc572808fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf84d5661c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf89cafc572808fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8050606c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b5cbe4bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5efb4cae3 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf893a5b9 -bed5efc5ddf8c5ddf8abc0d7a6bad1c5ddf8c5ddf89cafc57d8d9ea2b6cc -c5ddf8c5ddf8c5ddf895a8bc8d9eb19fb3c9c5ddf8c5ddf8c5ddf8c5ddf8 -bcd3ed8495a7b1c7df050606c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf832383fabc0d7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86d7b8a758393c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8474f597d8d9ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88a9bae -404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4048517f8fa0c5ddf8c5ddf83d454d8393a5c5ddf86f7c8c16191c56616c -1416197e8e9fc5ddf8c5ddf8707e8d424a53404750c5ddf8c5ddf8c5ddf8 -92a4b81e2125545f6a2a2f35030404c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88696a9bad0ea -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8616d7a697685c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88798ab3b424ac5ddf8b9d0e9101214bed6f0c5ddf80d0e109aadc2 -c5ddf88e9fb21c2023c5ddf8c5ddf8c5ddf88495a7404750c5ddf8c5ddf8 -c5ddf84a545e7f8fa0c5ddf893a5b9020202c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf89db0c68190a2c5ddf8c5ddf8c1d8f35f6b78c2daf5 -c5ddf899acc1525c6856616ca6bbd2c5ddf8c5ddf89db0c65b67735b6773 -b5cbe4c5ddf8c5ddf8c5ddf8bad1eb687583626e7b5a6571697685c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b2c8e0394148c5ddf8 -c5ddf8c5ddf83f474facc1d8c5ddf88a9bae282d32202428626e7cc4dcf7 -c5ddf8aabfd62a2f352a2f358e9fb2c5ddf8c5ddf8c5ddf8a9bdd44a535d -262b3057616d404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c0d7f2121417b7cee77a899a4a545ec5ddf8b7cee7030404 -c1d8f3c5ddf8b5cbe4010101c1d9f4c5ddf8c5ddf88495a7404750c5ddf8 -c5ddf8c5ddf8181b1fa3b7cec5ddf8bad1eb030303c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8afc4dc141619c3dbf6c5ddf88b9caf363c44 -c5ddf8a5b9d0101214748292697685121417b7cde6c5ddf8b2c8e093a5b9 -15181ba7bcd3c5ddf8c5ddf8c3dbf6191c206a7786707d8d0d0e10697685 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8262b30 -9baec3c5ddf8a3b6cd1e2226c5ddf8b1c7df0a0c0d92a3b7abc0d7262b30 -7f8fa0c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8c5ddf8282d32 -7f8fa0afc4dc2a2f35404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf84f5964788797363c4491a2b6c5ddf8c0d7f2 -000000b0c6dec5ddf8a3b6cd0a0c0dc5ddf8c5ddf8c5ddf88495a7404750 -c5ddf8c5ddf8c5ddf832383f92a3b7c5ddf8a8bcd4020202c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf832383f91a2b6c5ddf8464e58 -7d8c9dc5ddf85f6b7847505ac5ddf8c5ddf831373e788797c5ddf8c5ddf8 -c5ddf81d2024a7bcd3c5ddf8c5ddf89cafc42a2f35c5ddf8c5ddf8363d45 -697685c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -6c7a8957616dc5ddf85f6a7765717fc5ddf88393a5292e34c5ddf8c5ddf8 -65717f47505ac5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8b6cce5 -0d0e10c4dcf7c5ddf86a7786404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a8bc262b30171a1dc3dbf6c5ddf8 -c5ddf832383f596470b6cce5505a65434b54c5ddf8c3dbf6bed6f08190a2 -3d454dbed6f0c1d8f3c5ddf8667381464e58b5cbe455606b020202c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87887974d5661bed5ef -111316bbd2ecc5ddf84e5863697685c5ddf8c5ddf8515b66636f7dc5ddf8 -c5ddf8c5ddf81d2024a7bcd3c5ddf8c5ddf874829247505ac5ddf8c5ddf8 -56616c697685c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b1c7df16191cc3dbf61b1f23abc0d7c5ddf87988983d454dc5ddf8 -c5ddf87786963c434bc5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8 -a2b6cc1b1f23c5ddf8c5ddf87d8c9d404851c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf73d444c6d7b8ac5ddf8 -c5ddf8c5ddf8adc2d93a41491b1f23414952b4c9e2c5ddf89eb1c730363d -30363d30363d30363d657280c5ddf8bbd2ec68758323272c677482353b43 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9131518 -7e8e9f444d56c5ddf8c5ddf8616d7a474f59c5ddf8c5ddf830363d798898 -c5ddf8c5ddf8c5ddf81d2024a7bcd3c5ddf8c5ddf89db0c6292e34c5ddf8 -c5ddf8363c44697685c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8343a426a77862c3238c5ddf8c5ddf895a7bb121417 -c5ddf8c5ddf84e58635b6773c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8 -c5ddf8c4dcf7101315bad1ebc5ddf8545e6a404851c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4047501214178b9cafc5ddf8c5ddf8a6bbd20e101272808f667381111316 -b7cee7c5ddf899acc18d9eb114171a7887978d9eb1bed6f0c3dbf6181b1f -6875836c7a890c0d0f697685c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf87b8a9b050606738291c5ddf8c5ddf8c5ddf8 -3239402c313748515b141619adc3dac5ddf88899ac5b67732125293a4149 -5b6773a3b6cdc5ddf8616d7a25292e4c55601c2023404851c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf89db0c6636f7dc1d9f4c5ddf8c5ddf8c5ddf899acc1525c6856616c -a6bbd2c5ddf8c5ddf8778696626e7b626e7b626e7b626e7bb9d0e9c5ddf8 -bad1eb687583636f7d8d9eb197a9bec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef93a5b9bbd2ecc5ddf8c5ddf8 -c5ddf8c1d8f38b9caf8191a3b4c9e2c5ddf8c5ddf8a9bdd493a5b993a5b9 -93a5b993a5b9b4cae3c5ddf8c5ddf8a9bed58899acb2c8e0a4b8cfc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef -b4cae3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad1ebbfd6f1c5ddf8c5ddf8c5ddf8 -b5cbe4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf72a2f35b4c9e2c5ddf8c5ddf8 -c5ddf84048519cafc4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b8cfe8a6bbd2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82f343bb4c9e2 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf893a5b9667381c5ddf8c5ddf8c5ddf890a2b5697584 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88798ab49525cc5ddf8c5ddf8 -c5ddf8c5ddf896a9bd3a4149c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a2b6ccafc4dcc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c3dbf6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88b9caf394148c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf81a1d21 -b0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf830363da3b7cec5ddf8c5ddf8c5ddf8c1d8f3 -1f2327b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b7cde6c3dbf6c5ddf8c5ddf8c3dbf6b7cee7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7df -545f6a23272c6975844e5863c5ddf8c5ddf897a9be323940282d33768494 -c0d7f2c5ddf87a899a6975843a41492b3036899aadc5ddf8c5ddf8a9bdd4 -4a535d262b3057616d404851c5ddf8c5ddf88798ab2c32382f353c8190a2 -c4dcf7c5ddf8c5ddf8535d698595a83a41491b1f237f8fa0c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf832394093a5b9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf81b1e22abc0d7c5ddf8c5ddf8c5ddf8c5ddf8 -92a3b77c8b9cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b9d0e98495a73f474f0d0f11515b66c4dcf7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8a5b9d0262b300d0f110d0e10383f46b4cae3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf896a9bd8797aa65717f677482bad0eac5ddf8c5ddf8 -c1d8f36c79884c5560738190c3dbf6c5ddf8c5ddf8abc0d76a77864a545e -6c7a89c5ddf8c5ddf86774824048511b1e225b6773616d7ac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8adc2d958636f778696 -7c8b9caec3dbc5ddf8c5ddf88495a7515b668292a4c1d9f4c5ddf8bfd6f1 -65717f95a8bc525c688798abc4dcf7c5ddf8c5ddf8a3b7ce55606b8495a7 -1a1d21b0c6dec5ddf8c3dbf6798898515b668d9eb1c4dcf7c5ddf8c5ddf8 -a5b9d07c8b9c92a4b8515b66697584c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf898abc02f353cc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8626e7b667381c5ddf8c5ddf8c5ddf8c5ddf8bfd6f199acc1bbd2ec -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b6cce5272c31c4dcf7c5ddf8c5ddf8c3dbf6 -252a2fb9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee899aad6a7786bed6f0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -404851626e7cb4cae33d444c272c31c5ddf8afc4dc0d0e1091a2b6b8cfe8 -434b548393a5c5ddf8657280191c20a8bcd496a9bd1d2024c5ddf8c5ddf8 -282d327f8fa0afc4dc2a2f35404851c5ddf89cafc51214179db0c6b3c9e1 -2f353c9cafc5c5ddf8c5ddf8323940262b308d9eb1b7cee7a2b6ccc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf80d0e10b2c8e0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf83941488595a8c5ddf8c5ddf8c5ddf8 -c5ddf857616d292e34c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf89fb3c9626e7b2125290e10120a0b0c04050549525cc4dcf7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8aabfd60e101200000000000000000002020216191cbdd4ee -c5ddf8c5ddf8c5ddf8c5ddf86c7a890c0d0f6e7b8b6c7988171a1ec2daf5 -c5ddf84a545e383f468798ab31373e5c6874c5ddf8c5ddf82a2f35798898 -9db0c66f7c8cc5ddf8c5ddf899acc16875832b303693a5b995a8bcc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bad116191c7c8b9c -56616c06070897a9bec5ddf86875832c31378899ac5b6773404750c5ddf8 -bad1eb0506064c5560899aad1d20249aadc2c5ddf88fa1b42125298494a6 -444d56040505b0c6dec5ddf84e58633941488b9cb04a545e596470c5ddf8 -c5ddf88899ac1b1f233941488292a4687583c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86a778656616cc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88798ab394047c5ddf8c5ddf8c5ddf8c5ddf8acc1d8000000 -9aadc2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85f6a77738190c5ddf8c5ddf8c5ddf8 -c5ddf86d7b8a64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a9bdd46c7a89272c31030303101315acc1d8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c2daf50d0e10b5cbe4c5ddf88595a8272c31c5ddf8748292292e348b9cb0 -8a9bae616d7a454e57c5ddf8657280525c68c5ddf8c5ddf80f1113b6cce5 -b6cce50d0e10c4dcf7c5ddf86a7786404851c5ddf85b66723c434b8b9cb0 -899aad4f59645f6b78c5ddf8c5ddf832394065717fc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b3c9e1070809 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8545e6a657280c5ddf8c5ddf8 -c5ddf8c5ddf8b4c9e2adc2d9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b8cfe8 -8393a53d454d0f11130f11130202020000000000000a0c0d4a545ec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8394148000000000000000000000000000000050606 -677482c5ddf8c5ddf8c5ddf8c5ddf86c7a8931373ec5ddf8c5ddf82d3339 -9baec3c3dbf6030404a6bad1c5ddf898abc0101315c5ddf8c2daf5101315 -8e9fb2c2daf5c5ddf8c5ddf8c5ddf8c5ddf88b9caf394148c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7a8955606b -c5ddf8c4dcf70b0d0e97a9bec5ddf80d0e109aadc2bcd3edb9d0e91b1f23 -bed5efbad1eb000000b5cbe4c5ddf85c6874697685c5ddf8545e6a717f8e -c5ddf8b4cae3000000b0c6deb7cee7060607adc3dabbd2ecb0c5dd1e2226 -c5ddf8c5ddf88899ac070809bed6f0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525c72808fc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a3b7ce171a1dc5ddf8c5ddf8c5ddf8c5ddf8bad1eb -748292b4c9e2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82f343b677482 -23272c677482bbd2ecc5ddf8c5ddf87d8c9d292e34353b438899acc5ddf8 -c5ddf8c5ddf8474f59899aad363d451d20248b9cafc5ddf898aabf3e464e -23272c363c44bbd2ecc5ddf8c1d9f45b67731f23272a2f3591a2b6c5ddf8 -c5ddf8464e58758393282d32434b54acc1d8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c3dbf60d0e10bad1ebc5ddf8c5ddf8 -c5ddf8c5ddf8b7cde6101214c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f -8fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c0d7f28fa1b44c55601315180e101203040400000014171aacc1d8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8bad1eb060708c0d7f2c5ddf895a7bb272c31c5ddf8687583292e34 -6875836875836875837b8a9bc5ddf865728065717fc5ddf8c5ddf815181b -afc4dca2b6cc1b1f23c5ddf8c5ddf87d8c9d404851c5ddf84e5863373e46 -6875836875836875838797aac5ddf8c5ddf83239408fa1b4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef -030404c0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525c72808fc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1707d8d131518 -00000003030300000000000000000000000000000002020216191c434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54434b54 -434b54434b54434b54434b54434b54434b54434b54434b54434b54444c54 -575757575757575757575757575757575757575757575757575757575757 -575757575757575757575757575757575757575757575757575757575757 -575757575757575757575757575757575757575757575757575757575757 -575757575757575757575757575757575757575757575757575757575757 -575757575757575757575757575757575757575757575757575757575757 -575757575757575757575757575757515456434b54434b54434b54434b54 -434b54434b54434b54434b54060607000000000000000000000000000000 -000000323940c5ddf8c5ddf8c5ddf8c5ddf86c7a894e5762c5ddf8c5ddf8 -4a535d717f8eb6cce5040505c4dcf7c5ddf8b8cfe8000000c1d9f4c5ddf8 -92a4b8363d450c0d0f58636fc5ddf8c5ddf8c5ddf88b9caf394148c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf847505a -738291c5ddf8c5ddf8282d3297a9bebcd3ed000000363d45363d45363d45 -363d45a6bbd2bad1eb101214c5ddf8c5ddf86a77865a6571c5ddf82d3339 -8ea0b3c5ddf8c5ddf80f1113b0c6dea2b6cc070809363d45363d45363d45 -363d45b9d0e9c5ddf88899ac353b43c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8474f59738291c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a6bad115181bc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8050606 -56616cb6cce54b545f64707ec5ddf88ea0b31a1d21a3b7ceaec3db25292e -acc1d8c5ddf8c5ddf823272c2f343b94a6bab5cbe4a5b9d0c5ddf8282d33 -98abc0c5ddf8a6bbd2bed6f0c5ddf87583932a2f35aec3db8e9fb20d0e10 -b7cee7c5ddf822272b49525cb9d0e956616c606c79c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bdd416191cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8101214afc4dcc5ddf8c5ddf8c5ddf8c5ddf8 -2d3339535d69c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8afc4dc -7482922d33390d0e100c0d0f00000000000000000000000014171aacc1d8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7c3dbf6 -c2daf5c1d9f4c1d8f3c0d7f2bfd6f1bed6f0bed5efbed5efbdd4eebcd3ed -bbd2ecbad1ebbad0eab9d0e9b8cfe8b7cee7b7cde6b6cce5b6cce5b5cbe4 -dbe1e8e9e9e9e8e8e8e7e7e7e6e6e6e5e5e5e4e4e4e3e3e3e2e2e2e2e2e2 -e1e1e1e0e0e0dfdfdfdedededddddddcdcdcdbdbdbdadadad9d9d9d8d8d8 -d8d8d8d7d7d7d6d6d6d5d5d5d4d4d4d3d3d3d2d2d2d1d1d1d0d0d0dbdbdb -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf82c323898aabfc5ddf8687583272c31c5ddf88b9cb0 -1b1e22c5ddf8c5ddf8c5ddf8c5ddf8c5ddf865728065717fc5ddf8c5ddf8 -15181bafc4dcc4dcf7101315bad1ebc5ddf8545e6a404851c5ddf872808f -333a41c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf832394092a3b7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf81b1e22a6bbd2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82d333993a5b9 -c5ddf8c5ddf8c5ddf8c5ddf8a0b4ca8494a6c5ddf8c5ddf8c5ddf8c0d7f2 -7c8b9c3f474f1013150c0d0f0405050000000000000000000000000d0e10 -8797aa9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c99fb3c9 -a3b5c9cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf -cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf -cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf -cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf -cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcf -cfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfcfc3c8cd9fb3c99fb3c99fb3c9 -9fb3c99fb3c99fb3c99fb3c99fb3c9181b1f000000000000000000000000 -00000000000047505ac5ddf8c5ddf8c5ddf8c5ddf86c7a8930363dc5ddf8 -c5ddf82c323898abc0c3dbf6040505a5b9d0c5ddf898aabf111316c5ddf8 -c5ddf8c5ddf8c5ddf893a5b90f11139fb3c9c5ddf8c5ddf891a2b6343a42 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -738291505a65c5ddf8c1d9f407080997a9bec5ddf80d0e109cafc4c5ddf8 -c5ddf8c5ddf8c5ddf8bad1eb101214c5ddf8c5ddf86a77865a6571c5ddf8 -56616c707e8dc5ddf8b4c9e2000000b0c6deb7cee7030303b3c9e1c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88899ac3c434bc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf868758358636f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8899aad363c44c5ddf8c5ddf8c5ddf8 -c5ddf8c3dbf6acc1d8bed5efc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -050606a2b6ccc5ddf895a7bb2f343bc5ddf84b545f474f598b9cb0899aad -444d566f7c8cc5ddf8c5ddf823272c748292c5ddf8c5ddf8c5ddf8c5ddf8 -31373e505a6595a8bcc3dbf6c5ddf8c5ddf84047506c7a89c5ddf8c5ddf8 -21262a8b9cafc5ddf822272b95a8bcc5ddf892a3b7333a41c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8899aad30363dc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82b30368fa1b4c5ddf8c5ddf8c5ddf8 -c5ddf8adc3dab3c9e1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4515b67 -000000000000000000000000000000000000000000000000010101141719 -1e22261e22261e22261e22261e22261e22261e22261e22261e22261f2327 -20242821252921262a22272b23272c24282d25292e252a2f262b30272c31 -272c31282d32282d33292e342a2f352b30362c31372c32382d33392e343a -2f343b393b3d3e3e3e3f3f3f404040414141424242434343444444454545 -4646464747474848484848484949494a4a4a4b4b4b4c4c4c4d4d4d4e4e4e -4f4f4f5050505151515252525353535353535454545555555656564c4c4c -484848ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88797aa1d20244047502f353c272c31c5ddf8 -c5ddf8404750262b30626e7b49525c5d6875c5ddf865728065717fc5ddf8 -c5ddf815181bafc4dcc5ddf8616d7a25292e4c55601c2023404851c5ddf8 -bed6f02c32382f353c636f7d414952738190c5ddf8c5ddf832394092a3b7 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf84f59647a899ac5ddf8c5ddf8c5ddf8c5ddf8bbd2ec171a1d -bbd2ecc5ddf8c5ddf8c5ddf8c5ddf8616d7a1b1e22c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8acc1d8707e8d2b30360d0f110d0e10000000 -000000101214a6bad1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86a77860a0b0c000000000000 -0000000000000d0e1094a6bac5ddf8c5ddf8c5ddf8c5ddf86c7a890b0d0e -6b7887697685171a1dc2daf5c5ddf84c5560353b438696a92e343a5d6875 -c5ddf8bad0ea5f6b7898aabf8797aa171a1ebdd4eec5ddf8c5ddf8bed5ef -10121477869690a2b5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8adc2d9181b1f657280454e5710121497a9bec5ddf8687583282d33 -8191a38e9fb2535d69c3dbf6bad1eb101214c5ddf8c5ddf86a77865a6571 -c5ddf88fa1b41e21258292a4414952040505b0c6dec5ddf84e5863363c44 -8899ac899aad5b6773c5ddf8c5ddf88899ac3c434bc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf892a3b7 -363c44c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8657280606c79c5ddf8c5ddf8 -c5ddf8c5ddf8b8cfe80000008798abc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8050606b3c9e1c5ddf8a6bad116191cc5ddf83f474f3f474f687583 -6875836875838ea0b3c5ddf8c5ddf823272c9fb2c8c5ddf8c5ddf8c5ddf8 -c5ddf8bad0ea6f7c8c1a1d211e2125b6cce5c5ddf8363d458190a2c5ddf8 -c5ddf8343a427f8fa0c5ddf822272ba8bcd4c5ddf898aabf2c3238c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf896a9bd252a2f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf82024289cafc4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b9d0e98595a8414952101315101214030303000000000000000000 -0d0f119cafc5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -dfdfdf494949ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef9fb3c98797aa4d5661 -c5ddf8c5ddf8c5ddf899acc17c8b9c92a4b8c1d8f3c5ddf8adc3daadc2d9 -c5ddf8c5ddf899acc1bfd6f1c5ddf8c5ddf8a9bed58899acb2c8e0a4b8cf -c5ddf8c5ddf8c3dbf693a5b97c8b9c98abc0c3dbf6c5ddf8c5ddf8a0b4ca -b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8acc1d82a2f35c5ddf8c5ddf8c5ddf8c5ddf872808f -626e7cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf83b424a667381c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f18ea0b3 -4b545f1416190506060a0c0da6bad1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c3dbf63a41490d0e10 -0000000101010e10125e6976c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7a89 -525c68626e7c677482bad0eac5ddf8c5ddf8c1d8f36c79884c5560738190 -c3dbf6c5ddf8c1d8f36f7c8c4b545f65717fa3b6cdc5ddf8c5ddf8c5ddf8 -c5ddf8a8bcd4717f8e667381c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bad1eb72808f93a5b925292eaec3dbc5ddf8c5ddf8 -899aad515b67515b67808fa1c5ddf8c0d7f26a7786c5ddf8c5ddf898aabf -8fa1b4c5ddf8c5ddf8a3b7ce55606b8797aa707d8dbad1ebc5ddf8c4dcf7 -7d8d9e4e586355606b8c9db1c5ddf8c5ddf8a6bbd28190a2c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8282d33aabfd6c5ddf8c5ddf8c5ddf8c3dbf6202428b3c9e1c5ddf8 -c5ddf8c5ddf8c5ddf89db0c6090a0bb4cae3c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf80506068e9fb2c5ddf88190a247505ac5ddf8626e7b434c55 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf823272ca1b5cbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bad1eb25292e899aadc5ddf8525c68545f6a -c5ddf8c4dcf70d0e109fb2c8c5ddf822272ba8bcd4c5ddf898aabf2c3238 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b7cde6 -0a0c0dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7060708bbd2ecc5ddf8 -c5ddf8c5ddf8c5ddf891a2b693a5b9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a3b7ce68758325292e0e1012 -0c0d0f0000000a0b0c9cafc4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffdddddd4a4a4affffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf892a4b88797aa8c9db12d3339 -8b9cb0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8677482adc3dac5ddf8c5ddf8c5ddf8 -5c6874b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf83d444cbbd2ecc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8a9bed56e7b8b4c5560aec3dbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -90a2b55b667264707e9fb2c8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -6c7a8958626ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c4dcf79db0c6c4dcf794a6ba262b30c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8899aad5f6b78c5ddf8c5ddf8c5ddf88e9fb25a6571c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf86a77865e6976c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8050606272c31545e6a1b1f2391a2b6c5ddf8b8cfe8 -24282d363c44636f7d3c434b808fa1c5ddf8c5ddf823272ca1b5cbc5ddf8 -c5ddf8c5ddf8c5ddf82b3036636f7d5b66721a1d21bed5efc5ddf8a6bbd2 -1013154a545e282d333d444cc5ddf8c5ddf822272ba8bcd4c5ddf898aabf -2c3238c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8262b30a4b8cfc5ddf8c5ddf8c5ddf8c5ddf89cafc52c3137c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8383f46444d56c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -bdd4ee8b9caf48515b10121408090a9aadc2c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffdcdcdc4b4b4bffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a4b8cf5d68755d6875 -a4b8cfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8808fa1707d8dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88292a48190a28190a2 -8190a28190a2a2b6ccc5ddf8c3dbf63d444c25292e525c68a3b7cec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d9f4c3dbf6c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8050606adc2d98495a7bbd2ecc5ddf8c5ddf8 -c5ddf8c1d8f38fa1b47d8c9d9cafc5c4dcf7c5ddf8c5ddf89cafc5bcd3ed -c5ddf8c5ddf8c5ddf8c5ddf8a6bad17f8fa091a2b6c0d7f2c5ddf8c5ddf8 -c5ddf8b0c6de8190a28d9eb1c2daf5c5ddf8c5ddf89cafc5bed5efc5ddf8 -bad0ea9fb2c8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88696a94f5964c5ddf8c5ddf8c5ddf8c5ddf849525c8b9cb0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf812141790a2b5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a9bed57d8c9dbdd4eec5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffdbdbdb4c4c4cffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8050606bfd6f1c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c4dcf7535d69c2daf5c5ddf8c5ddf8c1d8f3545e6a -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c6de48515bc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffdadada4e4e4effffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85f6a77c2daf5c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd9d9d94f4f4fffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b8cfe8c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd8d8d8505050ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf87e8e9f282d335b6773c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd7d7d7515151ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bad0ea131518c4dcf7c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f38797aab1c7dfc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd5d5d5525252 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf80a0c0dc0d7f2c5ddf8c5ddf8 -c5ddf8c5ddf898abc0758393c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c0d7f2697584171a1e9fb3c9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd4d4d4 -535353ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8171a1dadc2d9c5ddf8 -c5ddf8c5ddf8c5ddf86673811a1d21c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85f6a77 -6c7a89c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d3d3d3545454ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8657280333a41 -8494a6c5ddf8c5ddf8c5ddf8b6cce5aabfd6c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -697584626e7bc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8363d4594a6bac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd2d2d2555555ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85c6874 -3d454d91a2b6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf87e8e9f414952c5ddf8c5ddf8c5ddf8c5ddf8c5ddf81113168798ab -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd1d1d1575757ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -14171ab0c5ddc5ddf8c5ddf8c5ddf8c5ddf8a6bbd27d8d9ec5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8b9d0e92d33392a2f35abc0d7c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0d0d0585858ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8bed5efb4cae3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf80a0c0dc0d7f2c5ddf8c5ddf8c5ddf8c5ddf8717f8e0b0d0ec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf896a9bd21262a9db0c6c1d9f4c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffcfcfcf595959ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b7cee714171ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf84b545f57616d -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf86d7b8a5a6571c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8515b668fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffcdcdcd5a5a5affffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf87887972c3137667381c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8444d56 -b4c9e2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8677482626e7cc5ddf8c5ddf8c5ddf8 -c5ddf8c3dbf60607087d8c9dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffcccccc5b5b5bffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b2c8e0394148c5ddf8c5ddf8c5ddf83f474facc1d8c5ddf88a9bae282d32 -202428626e7cc4dcf7c5ddf8aabfd62a2f352a2f358e9fb2c5ddf8c5ddf8 -c5ddf8a9bdd44a535d262b3057616d404851c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee3c434b8798abc5ddf8c5ddf8 -c5ddf8c5ddf89cafc5171a1dc0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffcbcbcb5c5c5cffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8262b309baec3c5ddf8a3b6cd1e2226c5ddf8b1c7df0a0c0d -92a3b7abc0d7262b307f8fa0c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8 -c5ddf8c5ddf8282d327f8fa0afc4dc2a2f35404851c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bcd3ed373e465d6875bbd2ecc5ddf8 -c5ddf8c5ddf8c5ddf89baec38fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffcacaca5d5d5d -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf86c7a8957616dc5ddf85f6a7765717fc5ddf88393a5 -292e34c5ddf8c5ddf865717f47505ac5ddf8c5ddf8c5ddf8474f597d8d9e -c5ddf8c5ddf8b6cce50d0e10c4dcf7c5ddf86a7786404851c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfb -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffc9c9c9 -5f5f5fffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b1c7df16191cc3dbf61b1f23abc0d7c5ddf8 -7988983d454dc5ddf8c5ddf87786963c434bc5ddf8c5ddf8c5ddf8474f59 -7d8d9ec5ddf8c5ddf8a2b6cc1b1f23c5ddf8c5ddf87d8c9d404851c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -c8c8c8606060ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8343a426a77862c3238c5ddf8 -c5ddf895a7bb121417c5ddf8c5ddf84e58635b6773c5ddf8c5ddf8c5ddf8 -474f597d8d9ec5ddf8c5ddf8c4dcf7101315bad1ebc5ddf8545e6a404851 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffff0f6fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffc7c7c7616161ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87b8a9b050606738291 -c5ddf8c5ddf8c5ddf83239402c313748515b141619adc3dac5ddf88899ac -5b67732125293a41495b6773a3b6cdc5ddf8616d7a25292e4c55601c2023 -404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff0f6fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffc5c5c5626262ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5ef93a5b9 -bbd2ecc5ddf8c5ddf8c5ddf8c1d8f38b9caf8191a3b4c9e2c5ddf8c5ddf8 -a9bdd493a5b993a5b993a5b993a5b9b4cae3c5ddf8c5ddf8a9bed58899ac -b2c8e0a4b8cfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffc4c4c4636363ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffc3c3c3646464ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed5efbdd4ee -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8adc2d9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9c1d9f4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffc2c2c2656565ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf83d454d -9fb2c8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -050606c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8748292b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8717f8e6c7988c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffff0f6fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8deecfbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fdffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffc1c1c1676767ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a0b4ca -30363dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8050606c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8bbd2ec1d2024 -bed5efc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a0b4ca64707e56616cbbd2ecc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffff2f7fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8e0edfbc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8eff5fd -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffc0c0c0686868ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf87a899a262b301e21253d454dadc2d9c5ddf8c5ddf893a5b9 -323940343a42606c798696a9c5ddf8c2daf568758325292e40485198abc0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4c5560798898c5ddf8c5ddf8c5ddf8c1d9f458636f292e34262b308190a2 -c5ddf8c5ddf805060674829223272c515b66bad0eac5ddf8c4dcf7657280 -212529272c318797aac5ddf8c5ddf8c5ddf83f474f8b9caf333a411e2226 -92a4b87d8d9e2a2f3505060625292e2a2f358a9baec5ddf8c5ddf8c5ddf8 -4b545f7a899ac5ddf8c5ddf8c5ddf8c5ddf8a8bcd4687583c2daf5c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad0ea8495a7 -3e464f1012140304041b1f22b7cde6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffcde1f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8f1f7fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -eff5fdffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffbfbfbf696969 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf898aabfb7cee7c1d9f46c7988363d45c5ddf8b9d0e9 -1012149cafc59eb1c70d0e10717f8ec5ddf86d7b8a30363daec3dba3b7ce -1b1e22c1d8f3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8262b3098abc0c5ddf8c5ddf8c5ddf88292a4414952c1d9f4bed6f0 -a6bbd2c5ddf8c5ddf802020264707ebad0ea3a41498191a3c5ddf88495a7 -202428a9bdd496a9bd0d0f11adc3dac5ddf8c5ddf8191c20343a4298aabf -b3c9e1a7bcd3c5ddf8c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf86a7786545f6ac5ddf8c5ddf8c5ddf8c5ddf88798ab000000bed6f0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a2b6cc63707d21252a0e0f11 -090a0c0000000203031d2125b7cde6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeef5fdd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8cbe1f9e4effcffffff -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8eff5fdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffbebebe -6a6a6affffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bed5ef8ea0b35f6a774a535d191c20c5ddf8 -8595a83a4149c5ddf8c5ddf83b424a717f8ec5ddf82a2f355f6a778b9caf -899aad2d333990a2b5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8070809b3c9e1c5ddf8c5ddf8c5ddf88b9cb01e21257d8d9e -b3c9e1c5ddf8c5ddf8c5ddf8020202b6cce5c5ddf8707e8d545f6ac5ddf8 -4f59645d6875c5ddf8c5ddf831373e7b8a9bc5ddf8c5ddf8191c207e8e9f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88495a7353b43c5ddf8c5ddf8c5ddf8c5ddf8bbd2eca6bad1 -c4dcf7c5ddf8c5ddf8bbd2ec728090373d450d0f110c0e0f010202000000 -000000000000020202171a1e95a8bca0b4caa0b4ca9fb3c99fb2c89fb2c8 -9eb1c79db0c69db0c69cafc59cafc49cafc49baec39aadc29aadc299acc1 -98abc098abc098aabf98aabf97a9be96a9bd96a9bd95a8bc95a7bb95a7bb -94a6ba93a5b993a5b992a4b892a3b792a3b791a2b691a2b690a2b58fa1b4 -8fa1b48ea0b38e9fb28e9fb28d9eb18c9db18c9db18b9cb08b9caf8b9caf -8a9bae8c9caeb2b2b2b1b1b1b1b1b1b0b0b0afafafafafafaeaeaeadadad -adadadacacacababababababaaaaaaaaaaaaa9a9a9a8a8a8a8a8a8a7a7a7 -a6a6a6a6a6a6a5a5a5a4a4a4a4a4a4a3a3a3a2a2a2a2a2a2a1a1a1a1a1a1 -a0a0a0cdcdcdffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fcfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdff -fbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffbfdfffeffffffffff -ffffffcae0f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8f4f8feffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -bcbcbc6b6b6bffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8454e57515b6790a2b5808fa114171a -c5ddf873819049525cc5ddf8c5ddf84a535d717f8ec5ddf81e2125515b66 -6875836875836875839eb1c7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8141619a9bdd4c5ddf8c5ddf8c5ddf8c5ddf895a7bb -434b54050606758393c5ddf8c5ddf8050606c5ddf8c5ddf87685954e5762 -c5ddf8464e58717f8ec5ddf8c5ddf8434c55707d8dc5ddf8c5ddf8191c20 -a9bdd4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8191c20abc0d7c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf87a8899414952c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b8cfe8616d7a090b0c010101010102000000000000 -000000000000000000030304202428424a53434b54434c55434c55444d56 -444d56454e57464e58464e58474f5947505a47505a48515b49525c49525c -4a535d4a545e4a545e4b545f4c55604c55604d56614d56614e57624e5863 -4e58634f5964505a65505a65515b66515b67515b67525c68535d69535d69 -545e6a545f6a545f6a55606b55606b56616c57616d57616d58626e58636f -58636f5964705c6672757575767676777777777777787878797979797979 -7a7a7a7a7a7a7b7b7b7c7c7c7c7c7c7d7d7d7e7e7e7e7e7e7f7f7f808080 -808080818181828282828282838383838383848484858585858585868686 -8787875d5d5d787878ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffe3effcc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8d0e4f9ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffbbbbbb6c6c6cffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c2daf50a0c0dbdd4eec5ddf8717f8e -14171ac5ddf8a7bcd31e2125c4dcf7c4dcf71e2226717f8ec5ddf8404851 -65717fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8343a428d9eb1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf87382912f353cc5ddf8c5ddf8050606c5ddf8c5ddf8768595 -4e5762c5ddf8626e7b454e57c5ddf8c5ddf81b1f238fa1b4c5ddf8c5ddf8 -191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8282d339db0c6c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf85e6976626e7cc5ddf8c5ddf8c5ddf8c5ddf8 -b3c9e17a899abbd2ecc5ddf8c5ddf8c5ddf8c5ddf8b2c8e0798899333a41 -0e10120e10120000000000000000000c0e106c7988c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffafafaf787878ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffeffffeef5fdddebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfbdcebfb -dcebfbdcebfbe9f2fcfefeffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffbababa6d6d6dffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8404851404851525c68 -30363d14171ac5ddf8c5ddf84c5560272c312c3238282d3372808fc5ddf8 -a6bad11a1d21424a53626e7b30363d9fb2c8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8697584616d7ac5ddf8c5ddf8c5ddf8 -6976854d56616976852b3036768494c5ddf8c5ddf8050606c5ddf8c5ddf8 -7685954e5762c5ddf8b0c6de14171a454e572f353c2e343ac4dcf7c5ddf8 -c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7988252a2f -5a65719db0c6c5ddf8c5ddf8c5ddf831373e97a9bec5ddf8c5ddf8c5ddf8 -c5ddf892a3b7000000b0c5ddc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c2daf598aabf57616d191d200f11130607080404056a7786c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffaeaeae797979ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffb9b9b96f6f6fffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf793a5b9 -8c9db1bad0ea98abc0c5ddf8c5ddf8c5ddf8abc0d7b0c6de3e464e97a9be -c5ddf8c5ddf8bad0ea8a9bae7e8e9fa6bad1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad1eb202428c0d7f2c5ddf8 -c5ddf8bad1eb8d9eb17f8fa0afc4dcc5ddf8c5ddf8c5ddf895a7bbc5ddf8 -c5ddf8b1c7dfa7bcd3c5ddf8c5ddf8b5cbe48292a48a9baec0d7f2c5ddf8 -c5ddf8c5ddf89aadc2bed6f0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b6cce594a6bab2c8e0c5ddf8c5ddf8a3b6cd32383fc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf86c7988363c44c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b3c9e17a899a343b420a0b0c -6e7b8bc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffadadad7a7a7affffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffb8b8b8707070ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf875839395a8bc7583931c2023 -c3dbf6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87887979cafc5 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87c8b9c98abc0c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf85c68749cafc4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c2daf59aadc2b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffadadad7b7b7bffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffb7b7b7717171ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88191a3535d69758393 -b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffacacac7b7b7bffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffb6b6b6727272ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffababab7c7c7cffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffb4b4b4737373ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffababab7d7d7d -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffb3b3b3747474 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffaaaaaa -7d7d7dffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffb2b2b2 -757575ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -a9a9a97e7e7effffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -b1b1b1767676ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffa9a9a97f7f7fffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffafcfef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafe -f6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef6fafef8fbfe -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffb0b0b0787878ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffa8a8a87f7f7fffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -f9fcfed8e8fac6ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8d1e4f9f5f9feffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffafafaf797979ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffa7a7a7808080ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffe1edfbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8d8e8faffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffaeaeae7a7a7affffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffa7a7a7818181ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd1e4f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c6ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffacacac7b7b7bffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffa6a6a6818181ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffababab7c7c7cffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffa5a5a5828282ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffaaaaaa7d7d7dffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3edc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bed5efb4cae3c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffa5a5a5838383ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffa9a9a97e7e7effffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffa4a4a4838383 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffa8a8a8808080 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b5cbe4bcd3ed -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88a9bae404851c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffa3a3a3 -848484ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffa7a7a7 -818181ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b2c8e0394148c5ddf8c5ddf8c5ddf83f474facc1d8 -c5ddf88a9bae282d32202428626e7cc4dcf7c5ddf8aabfd62a2f352a2f35 -8e9fb2c5ddf8c5ddf8c5ddf8a9bdd44a535d262b3057616d404851c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -a3a3a3858585ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -a6a6a6828282ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8262b309baec3c5ddf8a3b6cd1e2226 -c5ddf8b1c7df0a0c0d92a3b7abc0d7262b307f8fa0c5ddf8c5ddf8c5ddf8 -474f597d8d9ec5ddf8c5ddf8c5ddf8282d327f8fa0afc4dc2a2f35404851 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffa2a2a2858585ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffa4a4a4838383ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86c7a8957616dc5ddf85f6a77 -65717fc5ddf88393a5292e34c5ddf8c5ddf865717f47505ac5ddf8c5ddf8 -c5ddf8474f597d8d9ec5ddf8c5ddf8b6cce50d0e10c4dcf7c5ddf86a7786 -404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffa1a1a1868686ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffa3a3a3848484ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b1c7df16191cc3dbf6 -1b1f23abc0d7c5ddf87988983d454dc5ddf8c5ddf87786963c434bc5ddf8 -c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8a2b6cc1b1f23c5ddf8c5ddf8 -7d8c9d404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffa0a0a0878787ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffa2a2a2858585ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8343a42 -6a77862c3238c5ddf8c5ddf895a7bb121417c5ddf8c5ddf84e58635b6773 -c5ddf8c5ddf8c5ddf8474f597d8d9ec5ddf8c5ddf8c4dcf7101315bad1eb -c5ddf8545e6a404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffa0a0a0878787ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88495a77482928798abc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88495a7bed5efc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c5dd90a2b5c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a1b5cb748292748292bcd3edc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffa1a1a1868686ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7b8a9b050606738291c5ddf8c5ddf8c5ddf83239402c313748515b141619 -adc3dac5ddf88899ac5b67732125293a41495b6773a3b6cdc5ddf8616d7a -25292e4c55601c2023404851c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff9f9f9f888888ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88ea0b3626e7c2e343a -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8181b1fb2c8e0c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85a6571a2b6cc -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf893a5b94a535d -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd28190a20e1012aec3db -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffa0a0a0888888ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8bed5ef93a5b9bbd2ecc5ddf8c5ddf8c5ddf8c1d8f38b9caf8191a3 -b4c9e2c5ddf8c5ddf8a9bdd493a5b993a5b993a5b993a5b9b4cae3c5ddf8 -c5ddf8a9bed58899acb2c8e0a4b8cfc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff9e9e9e898989ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c4dcf7afc4dcb9d0e9c5ddf8c5ddf8c5ddf896a9bd -2e343ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b3c9e1b3c9e1c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bdd4eeb0c6dec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b2c8e0bad0eac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b9d0e9b4c9e2c5ddf8c5ddf8c5ddf8181b1fb2c8e0 -b7cee7c2daf5c5ddf8c5ddf8c5ddf8c5ddf8b7cde6b7cde6c5ddf8c5ddf8 -c5ddf8c5ddf8c0d7f2c4dcf7c1d9f4b0c5ddc5ddf8c3dbf6bed6f02f343b -8fa1b4bed6f0c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c0d7f2c4dcf7b7cde6c5ddf8c5ddf8c5ddf8c5ddf8c0d7f2bed6f0 -c1d8f3c5ddf8c5ddf8c5ddf8bfd6f1bad1ebbed5efc1d9f4bbd2ecc5ddf8 -c5ddf8bfd6f1c5ddf8b6cce5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf816191c -aec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff9f9f9f898989ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff9e9e9e8a8a8affffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf895a7bb131518252a2f2024288494a6c5ddf8c5ddf8 -96a9bd2e343ac5ddf8c5ddf8c5ddf8c5ddf82d33392d3339282d3325292e -aec3dbc5ddf8c5ddf847505a2f343b373e463d454dc5ddf8c5ddf8a9bdd4 -282d33373e46282d337d8d9ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c2daf5363c44323940323940525c68c5ddf8c5ddf8181b1f -47505a282d321b1f239eb1c7c5ddf8c4dcf7454e57131518131518444d56 -c4dcf7c5ddf8c5ddf830363d616d7a14161923272c67748292a3b730363d -0b0d0e25292e30363d7b8a9bc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8292e34353b4321262a282d3295a7bbc5ddf8c5ddf84b545f -22272b383f46c5ddf8c5ddf8c5ddf80d0e1032383f15181b3941481e2125 -a1b5cbc5ddf8101214363c4424282d31373ea3b6cdc5ddf8c5ddf8c5ddf8 -16191caec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff9e9e9e8a8a8affffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bdd4eebdd4eec5ddf8c5ddf8c5ddf8b6cce5 -c4dcf7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff9d9d9d8a8a8a -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c0d7f214171a8797aac5ddf8c4dcf7b3c9e1c5ddf8 -c5ddf896a9bd2e343ac5ddf8c5ddf8c5ddf8c5ddf8b7cde6c5ddf8c5ddf8 -5a65715c6874c5ddf8a6bbd21e2125c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8 -5c6874687583c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf88d9eb1373e46c5ddf8c5ddf8bfd6f1c5ddf8c5ddf8 -181b1f72808fc5ddf86976855e6976c5ddf88798ab1f2327bed5efbfd6f1 -24282d8696a9c5ddf8c5ddf830363d31373eb7cee7c5ddf8bcd3edc5ddf8 -c5ddf830363d94a6bac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8292e3455606bc5ddf892a3b732383fc5ddf8c5ddf8 -c5ddf88c9db1383f46c5ddf8c5ddf8c5ddf8060607c2daf5272c318696a9 -697584788797c5ddf8101214707d8dc5ddf87887974c5560c5ddf8c5ddf8 -c5ddf816191caec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff9c9c9c8b8b8b -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf88c9db1a1b5cbc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf83b424aa1b5cbc5ddf8c5ddf8c5ddf8 -57616d8595a8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff9c9c9c -8b8b8bffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a4b8cf0d0f11c2daf5c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf896a9bd2e343ac5ddf8c5ddf8c5ddf8c5ddf890a2b5505a65 -2b30361b1e224a535dc5ddf8c0d7f21e22263d454d768494bcd3edc5ddf8 -c5ddf88c9db1171a1e535d6992a3b7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b2c8e0171a1e454e577e8e9fc1d8f3c5ddf8 -c5ddf8181b1fa9bdd4c5ddf88c9db1383f46c5ddf8616d7a515b66c5ddf8 -c5ddf8535d695d6875c5ddf8c5ddf830363d768494c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf830363d94a6bac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8292e348798abc5ddf8bfd6f1090a0bbed5ef -c5ddf8c5ddf88c9db1383f46c5ddf8c5ddf8c5ddf814171ac5ddf8383f46 -98abc0768595616d7ac5ddf8101214a1b5cbc5ddf8a9bed5171a1dc5ddf8 -c5ddf8c5ddf816191caec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff9b9b9b -8c8c8cffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88899ac4e576258636f9baec3c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84c5560788797c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89eb1c7323940c5ddf8c5ddf8c5ddf8 -c5ddf8abc0d7262b30c4dcf7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -9c9c9c8c8c8cffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a4b8cf0d0f11c2daf5c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf897a9be2d3339c5ddf8c5ddf8c5ddf8b9d0e916191c -a0b4cac4dcf769768547505ac5ddf8c5ddf8c2daf58a9bae1e222621262a -c5ddf8c5ddf8c5ddf8b4cae36774820506066c7988c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f17f8fa01416193b424a -c5ddf8c5ddf8181b1fb2c8e0c5ddf88e9fb2363d45c5ddf8626e7b515b66 -c5ddf8c5ddf8535d695d6875c5ddf8c5ddf830363d94a6bac5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf830363d94a6bac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8292e348797aac5ddf8bfd6f108090a -bcd3edc5ddf8c5ddf88c9db1383f46c5ddf8c5ddf8c5ddf8171a1ec5ddf8 -3b424a9cafc47988985e6976c5ddf8101214a0b4cac5ddf8a9bdd414171a -c5ddf8c5ddf8c5ddf8171a1dadc3dac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -9a9a9a8d8d8dffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c1d8f32d33390b0d0e0000000000000b0d0e -5b6672c5ddf8c5ddf8c5ddf8c5ddf84f596465717f25292e525c68afc4dc -c5ddf8c5ddf88a9bae282d32202428626e7cc4dcf7c5ddf8c5ddf8667381 -2c323824282d6d7b8ac5ddf8a6bad12a2f351012141a1d212a2f35626e7c -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8626e7b636f7d -282d3347505aa7bcd3c5ddf8c5ddf8a3b7ce39414825292e6c7988bbd2ec -c5ddf8c5ddf87988987381904f59641b1f2357616dc5ddf8b7cee7505a65 -262b30292e3492a4b8c5ddf8c5ddf88899ac272c3121252964707ec4dcf7 -c5ddf87887976976853941482b30368b9cafc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf84a535d7c8b9cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf831373e94a6bac5ddf8c5ddf8c5ddf8c5ddf89cafc5 -717f8ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff9b9b9b8c8c8cffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c0d7f214171a8797aac5ddf8 -c4dcf7b4c9e2c5ddf8c5ddf8bad1eb131518bdd4eec5ddf8c5ddf89cafc4 -272c31c5ddf8bed6f02a2f3547505ac5ddf8bad1ebc1d8f3c5ddf8b4c9e2 -0e1012c0d7f2c5ddf8b6cce5c5ddf8c5ddf86c7988505a65c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b7cee7c3dbf6c5ddf89cafc5 -1f2327c5ddf8c5ddf8181b1fb2c8e0c5ddf88e9fb2363d45c5ddf8899aad -1e2125bcd3edbed5ef22272b8899acc5ddf8c5ddf830363d94a6bac5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf84d5661798898c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8292e34535d69c5ddf88ea0b3 -31373ec5ddf8c5ddf8c5ddf88c9db1383f46c5ddf8c5ddf8c5ddf8171a1e -c5ddf83b424a9cafc47988985e6976c5ddf81012146c7a89c5ddf8758393 -4a545ec5ddf8c5ddf8c5ddf84047508696a9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff9999998e8e8effffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85c6874070809000000000000000000 -0000000d0f1197a9bec5ddf8c5ddf8c5ddf82e343a363d45b4c9e26e7b8b -3a4149c5ddf8b1c7df0a0c0d92a3b7abc0d7262b307f8fa0c5ddf89cafc5 -2b3036bfd6f1c2daf5a3b6cdc5ddf8c5ddf8c5ddf84c5560788797c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8454e57 -262b30adc3da8494a623272cc5ddf8bbd2ec141619808fa1bbd2ec55606b -6c7988c5ddf8c5ddf864707e101214798898b8cfe89cafc4c5ddf8697584 -596470c4dcf7bad0eaabc0d7c5ddf8b0c5dd0a0c0d93a5b9aabfd625292e -8292a4c5ddf8626e7c1b1f23a9bdd494a6ba202428c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf824282d9baec3c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8515b666e7b8bc5ddf8c5ddf8c5ddf8c5ddf8 -6e7b8b121417c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff9a9a9a8d8d8dffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a8bc171a1d -262b3022272b8495a7c5ddf8c5ddf8c5ddf86976851d202431373ec5ddf8 -c5ddf83d444c2a2f351b1e2247505a47505ac5ddf899acc1181b1f394047 -282d326d7b8ac5ddf8c5ddf856616c24282d363d452b3036a5b9d0c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88393a51b1e22394047 -272c318191a3c5ddf8c5ddf8181b1fb2c8e0c5ddf88e9fb2363d45c5ddf8 -c4dcf7454e57111316121417444d56c4dcf7c5ddf8c5ddf830363d94a6ba -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf899acc12d3339282d33788797c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8292e34323940202428 -272c3195a7bbc5ddf8a2b6cc2a2f351e21250c0d0f2a2f355b6773c5ddf8 -171a1ec5ddf83b424a9cafc47988985e6976c5ddf8101214333a4122272b -30363da2b6ccc5ddf8c5ddf8c5ddf898aabf292e341e21259db0c6c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff9898984343437979797b7b7b7c7c7c7e7e7e7f7f7f818181 -8282828484848686868787878989898a8a8a8c8c8c8d8d8d8f8f8f909090 -9292929494949595959797979898989a9a9a9b9b9b9d9d9d9e9e9ea0a0a0 -a1a1a1a3a3a3a5a5a5a6a6a69da1a78292a48494a68495a78696a98797aa -8899ac8a9bae8b9caf8c9db18d9eb18ea0b3101215000000000000000000 -0000000000000000004e5762c5ddf8c5ddf8c5ddf82e343a798898c5ddf8 -bcd3ed0b0d0ec1d9f48393a5292e34c5ddf8c5ddf865717f47505ac5ddf8 -a5b9d0121417768494adc3dac5ddf8c5ddf8c5ddf8c5ddf84c5560788797 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -454e57626e7bc5ddf8c5ddf8101315b4c9e28b9cb0181b1f8b9cb08a9bae -717f8e2f343bc5ddf8c5ddf864707e333a41c5ddf8c5ddf8c5ddf8c5ddf8 -72808f2b30368495a7b8cfe8c5ddf8c5ddf88190a22c3238c5ddf8c5ddf8 -626e7c4a535dc5ddf8626e7c545f6ac5ddf8c5ddf80d0e10b8cfe8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7050606b6cce5 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86b78874e5863c5ddf8c5ddf8c5ddf8 -c5ddf8b7cee7a9bdd4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff9a9a9a8e8e8effffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b0c6debcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b7cde6c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8c1d8f3 -adc3dac3dbf6c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9b4c9e2c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bed6f0 -aec3dbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b7cde6b7cde6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8292e349baec3 -b6cce5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8101214b4cae3 -b5cbe4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffdfdfdfafafafadadadabababaaaaaaa8a8a8a6a6a6 -a4a4a4a3a3a3a1a1a19f9f9f9e9e9e9c9c9c9a9a9a989898979797959595 -9393939292929090908e8e8e8c8c8c8b8b8b898989878787868686848484 -8282828181817f7f7f7d7d7d7b7b7b7275795c68745b66725a657158636f -57616d55606b545f6a535d69515b67515b664f5964060607000000000000 -0000000000000000000000003a4149c5ddf8c5ddf8c5ddf82e343a8a9bae -c5ddf8c5ddf80a0c0db2c8e07988983d454dc5ddf8c5ddf87786963c434b -c5ddf8c5ddf89fb3c94e58630405055f6a77c5ddf8c5ddf8c5ddf84c5560 -788797c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8454e57738190c5ddf8c5ddf82024289baec37f8fa01d2024687583 -687583687583707e8dc5ddf8c5ddf864707e5f6a77c5ddf8c5ddf8c5ddf8 -c5ddf8c4dcf7899aad363d450a0b0c8a9baec5ddf8768595404750c5ddf8 -c5ddf87482923e464ec5ddf8626e7c687583c5ddf8c5ddf8121417b2c8e0 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8101315 -abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8606c795b6773c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff9999998e8e8effffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8292e34 -9baec3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8101214 -b4cae3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8343a42000000 -000000000000000000000000060708707e8dc5ddf8c5ddf8c5ddf82e343a -64707ec5ddf8a9bed51e2226c5ddf895a7bb121417c5ddf8c5ddf84e5863 -5b6773c5ddf8c5ddf8c5ddf8c5ddf88e9fb216191cc5ddf8c5ddf8c5ddf8 -5b67736a7786c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8454e574d5661c5ddf8bed5ef0d0f11c1d9f4a2b6cc0a0c0d -bed6f0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf864707e606c79c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85b667249525cc5ddf892a4b814171a -c5ddf8c5ddf84c55605e6976c5ddf8626e7c687583c5ddf8c5ddf8121417 -b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -32383f8fa1b4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8444d567c8b9cc5ddf8 -c5ddf8c5ddf8c5ddf8a9bdd47b8a9bc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff9898988f8f8fffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf89fb2c86e7b8b6e7b8b6e7b8b6e7b8b6e7b8bc0d7f2c5ddf8 -99acc1b9d0e9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -92a4b8c0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a8bcd4 -0f11130000000000000000000506061d2024c0d7f2c5ddf8c5ddf8c5ddf8 -2e343a1d2024505a65202428707e8dc5ddf8c5ddf83239402c313748515b -141619adc3dac5ddf87e8e9f454e576a7786363d455d6875c5ddf8c5ddf8 -c5ddf899acc1191c20545e6a8292a4c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8454e57191c204a545e262b305c6874c5ddf8c5ddf8 -56616c1e21255f6a774f59644b545fc5ddf8c5ddf864707e606c79c5ddf8 -c5ddf8c5ddf8c5ddf855606b545f6a6774822125298ea0b3c5ddf8c4dcf7 -30363d2d333947505a14171aafc4dcc5ddf8626e7c687583c5ddf8c5ddf8 -121417b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8667381636f7dc5ddf8c5ddf8c5ddf8c5ddf8c3dbf61d2024adc3da -c5ddf8c5ddf8c5ddf8c5ddf8788797030404c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff989898909090ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8a8bcd42c32380b0d0e10131549525cbad1ebc5ddf8c5ddf8c5ddf8 -c5ddf82e343a8d9eb18595a8b0c5ddc5ddf8c5ddf8c5ddf8c1d8f38b9caf -8191a3b4c9e2c5ddf8c5ddf8bed6f092a3b77d8c9da8bcd4c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bfd6f198abc0a6bad1c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8454e577b8a9b899aada8bcd4c5ddf8c5ddf8 -c5ddf8c5ddf8a0b4ca7d8c9d8e9fb2bed5efc5ddf8c5ddf8adc2d9acc1d8 -c5ddf8c5ddf8c5ddf8c5ddf8b6cce58899ac8393a5b4cae3c5ddf8c5ddf8 -c5ddf8c0d7f28a9bae8191a3b4cae3c5ddf8c5ddf8adc2d9adc3dac5ddf8 -c5ddf898abc0c0d7f2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8bad0ea202428c1d8f3c5ddf8c5ddf8c5ddf8899aad4b545f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8525c684f5964c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff979797909090ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf82e343a96a9bdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8454e577f8fa0c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf87685959eb1c7c5ddf8c5ddf8c5ddf86a7786 -a9bed5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525cafc4dcc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff969696919191 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c4dcf78494a658626eb4c9e2c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b6cce5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8758393acc1d8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8abc0d76e7b8b -6e7b8b6e7b8b6e7b8b6e7b8bb4c9e2c5ddf88191a39fb3c9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff969696 -929292ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89eb1c721262a97a9bec1d8f3 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8515b6623272c8ea0b3c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -959595929292ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86f7c8c55606bc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf87e8e9f4e5762c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff949494939393ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf86875835b6672 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf892a3b7394047c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf87c8b9c92a3b7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff949494949494ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee394047 -7a8899c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89eb1c725292ec5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8282d3358626ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff939393949494ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b4c9e2131518 -212529bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d8f32f343b515b66a3b6cd -c5ddf8c5ddf8c5ddf8adc2d9b4c9e2c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff929292959595ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c3dbf63f474f738190c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1262b305f6b78 -a9bed5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff919191969696ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf86976855a6571c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf89cafc5282d32 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88fa1b495a7bbc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff919191979797ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8707e8d545e6ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf892a3b7 -394047c5ddf8c5ddf8c5ddf8c5ddf8c5ddf832394049525cc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff909090979797ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8a2b6cc1d20248b9cafbfd6f1c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7a899a515b66c5ddf8c5ddf8c5ddf8c5ddf8c4dcf70e101295a7bbc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff8f8f8f989898 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf892a3b7697685b7cde6c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -49525c2c323895a7bbc5ddf8c5ddf8c5ddf8c5ddf8adc2d94c5560c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff8f8f8f -999999ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -8e8e8e999999ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff8d8d8d9a9a9affffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff8d8d8d9b9b9bffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88696a95c6874c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bad1eba4b8cf -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff8c8c8c9b9b9bffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87d8c9d4e5762 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf895a7bb -2f353cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff8b8b8b9c9c9cffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8b6cce57482924b545f636f7dbad0eac5ddf87d8c9d -4e576275839357616da3b6cdc5ddf8c5ddf8c2daf5707d8d4b545f6e7b8b -c1d9f4c5ddf8c5ddf8abc0d776849498abc0535d69626e7cc3dbf66c7a89 -454e5716191c5b67735b6773c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff8b8b8b9d9d9dffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf84e57625e69769db0c67a899ab0c6dec5ddf8 -7d8c9d1012146d7b8a798898141619c5ddf8c5ddf855606b32383f8798ab -363d45515b67c5ddf8c5ddf895a7bb171a1e373e467f8fa0697685c0d7f2 -9cafc46f7c8c24282d93a5b993a5b9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff8a8a8a9d9d9dffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf830363d707e8dbed5efc5ddf8c5ddf8 -c5ddf87d8c9d2f343bc5ddf8c5ddf81e2226a7bcd3c5ddf80b0d0e9cafc4 -c5ddf8a3b6cd070809c4dcf7c5ddf895a7bb020202b7cde6c5ddf8c5ddf8 -c5ddf8c5ddf895a7bb2f353cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffeff5fdc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff8989899e9e9effffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a3b7ce434c550c0d0f454e57 -b9d0e9c5ddf87d8c9d4e5762c5ddf8c5ddf82c323898aabfc0d7f2000000 -bed5efc5ddf8c1d8f3000000b7cee7c5ddf895a7bb282d32c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf895a7bb2f353cc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffeff5fd -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c8dff8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff8989899f9f9f -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd2 -2024287c8b9cc5ddf87d8c9d4e5762c5ddf8c5ddf82c323898aabfc5ddf8 -0c0d0f9baec3c5ddf8a2b6cc08090ac5ddf8c5ddf895a7bb2f353cc5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf89baec32a2f35c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -eff5fdc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c8dff8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff888888 -9f9f9fffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8616d7a92a3b7 -90a2b51e2226a6bbd2c5ddf87d8c9d4e5762c5ddf8c5ddf82c323898aabf -c5ddf856616c2f343b8696a9333a41535d69c5ddf8c5ddf895a7bb2f353c -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d9f41113167583938d9eb1c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffff3f8fec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8cbe0f9ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -878787a0a0a0ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87e8e9f -4f59645b667295a8bcc5ddf8c5ddf8a1b5cb899aadc5ddf8c5ddf8798898 -aec3dbc5ddf8c2daf5707d8d4b545f6e7b8bc1d9f4c5ddf8c5ddf8adc2d9 -7a899ac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aabfd6738291626e7b -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffcfe3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8e2eefbffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff878787a1a1a1ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffe6f0fcc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c8dff8fbfdffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffff868686a1a1a1ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffebf3fdcfe3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c6def8d8e8faf1f7fdffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffff858585a2a2a2ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffffffff3f8fe -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fdf2f8fd -f2f8fdf2f8fdfbfcfeffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffff848484a3a3a3ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffff848484a3a3a3ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8bfd6f1b3c9e1c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bfd6f1 -bbd2ecc5ddf8c5ddf8c5ddf8b8cfe8c1d9f4c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffff838383a4a4a4ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8748292b9d0e9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf894a6ba363d45c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b9d0e9748292c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -525c688a9baec5ddf8c5ddf8c5ddf86f7c8c6e7b8bc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffff828282a5a5a5ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8a6bbd27d8c9d8ea0b3bbd2ec -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8191c20abc0d7c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf894a6ba363d45c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8acc1d8181b1fc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -b0c6de22272bc4dcf7c5ddf8c5ddf8c5ddf8bad0ea1e2125bed6f0c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffff828282a6a6a6 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c1d9f4444c560d0f110606070c0d0f -12151792a4b9c5ddf8c5ddf8c5ddf8c5ddf8c1d9f42d333964707e24282d -6c7988bdd4eec5ddf8c4dcf7657280212529272c318696a9c5ddf8c5ddf8 -b7cee7505a65262b30292e3492a4b8c5ddf87d8d9e2a2f3505060625292e -2a2f358a9baec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -acc1d849525c25292e2d3339a3b7cec5ddf894a6ba333a41515b6624282d -6c7988c5ddf8c5ddf8b9d0e948515b1c2023343a42a5b9d0c5ddf8c5ddf8 -b1c7df3e464e7f8fa0262b302a2f35b4c9e255606b25292e0506062a2f35 -2a2f35b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8616d7a64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525c7d8c9d -c5ddf8c5ddf8c5ddf8c5ddf8a7bcd3687583c3dbf6c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffff818181 -a6a6a6ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8606b7808090a000000000000 -0000000000000f1113b4cae3c5ddf8c5ddf8c5ddf8c1d8f30000005e6976 -b6cce5434c556d7b8ac5ddf88495a71f2327a9bdd496a9bd0d0f11adc3da -c5ddf8697584596470c4dcf7bad0eaabc0d7c5ddf8c5ddf8c5ddf8191c20 -abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf84f596472808fc5ddf8b3c9e1b2c8e0c5ddf894a6ba02020291a2b6 -b1c7df141619b4c9e2c5ddf8515b67434b54b6cce56f7c8c212529c4dcf7 -c5ddf8acc1d80708094b545fabc0d7a3b7ceb8cfe8c5ddf8acc1d8181b1f -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf83b424a8494a6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8687583 -57616dc5ddf8c5ddf8c5ddf8c5ddf88595a8000000c1d8f3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -808080a7a7a7ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8121517000000000000 -000000000000000000030404738292c5ddf8c5ddf8c5ddf8c1d8f3000000 -acc1d8c5ddf88b9cb0394047c5ddf8505a655c6874c5ddf8c5ddf832383f -7a899ac5ddf872808f2a2f358495a7b8cfe8c5ddf8c5ddf8c5ddf8c5ddf8 -191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf858636f3940478b9cb0bdd4eec5ddf8c5ddf894a6ba24282d -c5ddf8c5ddf83d454d8798abc5ddf81c202390a2b5c5ddf8bfd6f1040505 -aec3dbc5ddf8acc1d8000000b0c6dec5ddf8c5ddf8c5ddf8c5ddf8acc1d8 -181b1fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf81b1f239eb1c7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -8393a5373e46c5ddf8c5ddf8c5ddf8c5ddf8bbd2eca6bad1c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffff7f7f7f4343436464646161615f5f5f5c5c5c595959565656535353 -5050504d4d4d4b4b4b4848484545454242423f3f3f3c3c3c3a3a3a373737 -3434343131312e2e2e2b2b2b2929292828282828282828282828281f2326 -1e22261e22261e22261e22261e22261e22261e22261d2125010202000000 -000000000000000000000000000000525d68c5ddf8c5ddf8c5ddf8c1d8f3 -000000bcd3edc5ddf89cafc41f2327c5ddf8464e58707e8dc5ddf8c5ddf8 -444d566f7c8cc5ddf8c4dcf7899aad363d450a0b0c8a9baec5ddf8c5ddf8 -c5ddf8191c20abc0d7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c1d8f37e8e9f2b30361013159cafc5c5ddf894a6ba -363d45c5ddf8c5ddf8434c558190a2c5ddf8131518a4b8cfc5ddf8c5ddf8 -101315a3b6cdc5ddf8acc1d8171a1dc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -acc1d8181b1fc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8282d3394a6bac5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8778696434c55c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffdededec1c1c1c4c4c4c7c7c7cacacacccccccfcfcfd2d2d2 -d5d5d5d8d8d8dbdbdbdddddde0e0e0e3e3e3e6e6e6e9e9e9ebebebeeeeee -f1f1f1f4f4f4f7f7f7f9f9f9fcfcfcffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8171a1d -0000000000000000000000000000000608097f8fa0c5ddf8c5ddf8c5ddf8 -c1d8f300000097a9bec5ddf8768595515b67c5ddf8626e7b444d56c5ddf8 -c5ddf81b1f238ea0b3c5ddf8c5ddf8c5ddf8c5ddf85b667249525cc5ddf8 -c5ddf8c5ddf8282d339db0c6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c2daf5434c55626e7cc5ddf8 -94a6ba363d45c5ddf8c5ddf8434c558190a2c5ddf82f343b788797c5ddf8 -adc3da050606bcd3edc5ddf8acc1d8181b1fc5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b8cfe80f1113c3dbf6c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf849525c788797c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf85b677365717fc5ddf8c5ddf8c5ddf8c5ddf8b2c8e07a899a -bcd3edc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7f8fa10a0c0d000000000000000000000000171a1ec0d7f2c5ddf8c5ddf8 -c5ddf8c1d8f3010101282d33535d691b1f2398aabfc5ddf8b1c7df14171a -454e5730363d2e343ac4dcf7c5ddf856616c545f6a6774822125298ea0b3 -c5ddf8c5ddf8c5ddf86c7a89252a2f5a65719db0c6c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8434c555b6672636f7d191c20a6bad1 -c5ddf894a6ba363d45c5ddf8c5ddf8434c558190a2c5ddf88c9db10e1012 -535d691a1d215f6b78c5ddf8c5ddf8acc1d8181b1fc5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf83b424a3941485b6773b8cfe8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf87d8d9e4c5560c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf82f343b99acc1c5ddf8c5ddf8c5ddf8c5ddf88fa1b4 -000000b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf87583940d0f110f11130f11132b3036b0c6dec5ddf8c5ddf8 -c5ddf8c5ddf8c1d8f3030404b0c5dd8495a7bdd4eec5ddf8c5ddf8c5ddf8 -b5cbe48292a48a9baec0d7f2c5ddf8c5ddf8b6cce58899ac8292a4b4cae3 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b6cce594a6bab2c8e0c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8b0c6de8494a68798abbad0ea -c5ddf8c5ddf8b9d0e9a1b5cbc5ddf8c5ddf8a5b9d0b4c9e2c5ddf8c5ddf8 -a6bbd27d8d9e97a9bec5ddf8c5ddf8c5ddf8bed6f09aadc2c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8aabfd693a5b9bfd6f1c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c2daf522272bb6cce5 -c5ddf8c5ddf8c5ddf8a0b4ca343a42c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -697685383f46c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c4dcf7a9bed5b9d0e9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c1d8f3030404c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf88797aa -8e9fb2c5ddf8c5ddf8c5ddf87a899a9aadc2c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf85a65719eb1c7c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c3dbf65e6976c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -95a7bb6e7b8b6e7b8b6e7b8b6e7b8b738291c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bdd4ee8899acb4c9e2c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8bcd3ed677482141619a9bdd4c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8545f6a768595 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf85f6a77 -6c7988c5ddf8c5ddf8c5ddf8c5ddf8bed5ef363d459baec3c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -7482924b545fc5ddf8c5ddf8c5ddf8c5ddf8bcd3ed11131690a2b5c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8b6cce5282d322c3137b2c8e0c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf88e9fb2272c319fb3c9c2daf5c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8636f7d64707ec5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -4b545f95a7bbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf85e69766c7a89c5ddf8c5ddf8c5ddf8c5ddf8 -bfd6f10000008797aac5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8bbd2ec333a4191a2b6c5ddf8c5ddf8c5ddf8 -c5ddf893a5b91e2125c2daf5c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8b4cae33940475f6b78bfd6f1c5ddf8c5ddf8 -c5ddf8c5ddf895a8bc95a7bbc5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffd0e3f9 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -d0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffd0e3f9c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8ffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffd2e5fac5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c7def8ffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffe7f1fcc5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8d9e9fa -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff -fffffffffffffffffffffffffffffffffffffffffffffffffdfeffddebfb -c9dff8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8 -c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c5ddf8c7def8dceafb -f8fbfe - -[/Creator (html2ps version 1.0 beta7) /Author () /Keywords (xsd, xml, schema, c++, mapping, data, binding, parser, validation) /Subject () - /Title (C++/Parser Mapping Getting Started Guide) /DOCINFO pdfmark -/ND 1 D -/HN [(1) (1) (1) (1) (1) (1) (1) (1) (2) (3) (3) (4) (6) (8) (8) (9) (12) (13) -(14) (18) (18) (21) (24) (27) (27) (28) (28) (28) (29) (35) (??) (38) (39) -(39) (41) (42) (43) (44) (45) (46) (47) (47) (48) (49) (50) (50) (55) (59) -(63) (??) (1) (1) (1) (1) (1) (2) (3) (3) (4) (6) (8) (8) (9) (12) (13) -(14) (18) (18) (21) (24) (27) (27) (28) (28) (28) (29) (35) (38) (39) (39) -(41) (42) (43) (44) (45) (46) (47) (47) (48) (49) (50) (50) (55) (59) (63)] D -/h0 [()(Table of Contents)] D -/h1 [(1\240\240)(Preface)] D -/h2 [(1.1\240\240)(About This Document)] D -/h3 [(1.2\240\240)(More Information)] D -/h4 [(2\240\240)(1 Introduction)] D -/h5 [(2.1\240\240)(1.1 Mapping Overview)] D -/h6 [(2.2\240\240)(1.2 Benefits)] D -/h7 [(3\240\240)(2 Hello World Example)] D -/h8 [(3.1\240\240)(2.1 Writing XML Document and Schema)] D -/h9 [(3.2\240\240)(2.2 Translating Schema to C++)] D -/h10 [(3.3\240\240)(2.3 Implementing Application Logic)] D -/h11 [(3.4\240\240)(2.4 Compiling and Running)] D -/h12 [(4\240\240)(3 Parser Skeletons)] D -/h13 [(4.1\240\240)(3.1 Implementing the Gender Parser)] D -/h14 [(4.2\240\240)(3.2 Implementing the Person Parser)] D -/h15 [(4.3\240\240)(3.3 Implementing the People Parser)] D -/h16 [(4.4\240\240)(3.4 Connecting the Parsers Together)] D -/h17 [(5\240\240)(4 Type Maps)] D -/h18 [(5.1\240\240)(4.1 Object Model)] D -/h19 [(5.2\240\240)(4.2 Type Map File Format)] D -/h20 [(5.3\240\240)(4.3 Parser Implementations)] D -/h21 [(6\240\240)(5 Mapping Configuration)] D -/h22 [(6.1\240\240)(5.1 C++ Standard)] D -/h23 [(6.2\240\240)(5.2 Character Type and Encoding)] D -/h24 [(6.3\240\240)(5.3 Underlying XML Parser)] D -/h25 [(6.4\240\240)(5.4 XML Schema Validation)] D -/h26 [(6.5\240\240)(5.5 Support for Polymorphism)] D -/h27 [(7\240\240)(6 Built-In XML Schema Type Parsers)] D -/h28 [(7.1\240\240)(6.1 QName Parser)] D -/h29 [(7.2\240\240)(6.2 NMTOKENS and IDREFS Parsers)] D -/h30 [(7.3\240\240)(6.3 base64Binary and hexBinary Parsers)] D -/h31 [(7.4\240\240)(6.4 Time Zone Representation)] D -/h32 [(7.5\240\240)(6.5 date Parser)] D -/h33 [(7.6\240\240)(6.6 dateTime Parser)] D -/h34 [(7.7\240\240)(6.7 duration Parser)] D -/h35 [(7.8\240\240)(6.8 gDay Parser)] D -/h36 [(7.9\240\240)(6.9 gMonth Parser)] D -/h37 [(7.10\240\240)(6.10 gMonthDay Parser)] D -/h38 [(7.11\240\240)(6.11 gYear Parser)] D -/h39 [(7.12\240\240)(6.12 gYearMonth Parser)] D -/h40 [(7.13\240\240)(6.13 time Parser)] D -/h41 [(8\240\240)(7 Document Parser and Error Handling)] D -/h42 [(8.1\240\240)(7.1 Xerces-C++ Document Parser)] D -/h43 [(8.2\240\240)(7.2 Expat Document Parser)] D -/h44 [(8.3\240\240)(7.3 Error Handling)] D -/h45 [(9\240\240)(Appendix A \236 Supported XML Schema Constructs)] D -/Hr [50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 -72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94]D -/HV [1 2 2 1 2 2 1 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 2 -2 2 2 2 2 2 2 1 2 2 2 1]D -/Cn [2 0 0 2 0 0 4 0 0 0 0 4 0 0 0 0 3 0 0 0 5 0 0 0 0 0 13 0 0 0 0 0 0 -0 0 0 0 0 0 0 3 0 0 0 0]D -Hr length 0 gt{[/PageMode /UseOutlines /DOCVIEW pdfmark}if -/Hn 1 D -0 1 Hr length 1 sub{ - /Bn E D [Cn Bn get dup 0 gt{/Count E HV Bn get Bl ge{neg}if}{pop}ie - /Dest Hr Bn get dup abs ST cvs cvn E 0 ge{(h)Hn ST cvs join cvx exec - dup 1 get E Nf{0 get E join}{pop}ie /Hn Hn 1 add D}{()}ie - /Title E dup length 255 gt{0 255 getinterval}if /OUT pdfmark}for -ZF /FN Fp D Ps 0 FS /WC Wf{( )}{<A1A1>}ie SW pop D -ET RC ZF -/Df f D -/R0 (http://www.codesynthesis.com/licenses/fdl-1.2.txt) D -/R1 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/index.xhtml) D -/R2 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.pdf) D -/R3 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.ps) D -/R1 (http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml) D -/R2 (http://www.codesynthesis.com/mailman/listinfo/xsd-users) D -/R3 (http://www.codesynthesis.com/pipermail/xsd-users/) D -/R4 (http://www.w3.org/TR/xmlschema-0/) D -/TS { - tables E get /table E D - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D pop pop - /w W D /eps 0.1 D /OU f D /PL 1 D - /FN EF 21 get D EZ 21 get Ey 21 get FS - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - pass 0 eq cspan 1 eq and pass 1 eq cspan 1 gt and or{ - /W 1e5 D /LL W D /PH 1 D - ctype 1 eq{() BD}if - RC align NA - AT 4 eq{/CD t D /DC dp D /LN 0 D /M1 0 D /M2 0 D}{/CD f D}ie - 0 0 M /LM 0 D proc exec BN - AT 4 eq{ - LN array astore cell 15 3 -1 roll put - cdesc icol get dup dup 5 get M1 lt{5 M1 put}{5 get /M1 E D}ie - dup 6 get M2 lt{6 M2 put}{6 get /M2 E D}ie - /LM M1 M2 add D - }if - /CD f D - ang 0 ne{/LM CP E pop neg D}if - /thiswid LM left add right add eps add D - /oldmin 0 D /oldmax 0 D - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 get /oldmax E oldmax add D - 1 get /oldmin E oldmin add D - }for - thiswid oldmax ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 E 2 get oldmax 0 eq - {pop thiswid cspan div}{thiswid mul oldmax div}ie - put - }for - }if - nowrap 1 eq{ - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }{ - /W 0 D /LL W D /PH 2 D - ctype 1 eq{() ES () BD}if - 0 0 M /LM 0 D RC proc exec BN - /thiswid LM left add right add eps add D - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }ie - ctype 1 eq{() ES}if - }if - }if - }for - }for - }for - /tmin 0 D /tmax 0 D - 0 1 ncol{ - cdesc E get dup 1 get E 2 get 2 copy gt{pop dup}if - tmax add /tmax E D tmin add /tmin E D - }for - twid 0 lt{twid neg IW gt{IW neg}{twid}ie /twid E D}if - tdesc 0 twid neg tmin 2 copy lt{E}if pop put - tdesc 1 twid neg tmax 2 copy lt{E}if pop put - /W w D /LL W D /OU t D /PH 0 D /PL 0 D -} D -/PT { - /PL PL 1 add D - tables E get /table E D Tm 21 get Ts mul BE - PL 2 ge{save}if - /SL SL 1 add D /FN EF 21 get D EZ 21 get Ey 21 get FS - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D /tmax E D /tmin E D - /w W D /xo XO D /mr MR D /ll LL D /lg LG D /ai AI D /bc BC D /nr NR D /ar AR D - /tr TR D /ui UI D /ph PH D /a0 A0 D /pf PF D /at AT D /av AV D /al AL D - /Le LE D /la La D - talign 0 lt{/talign AL 0 gt{AV AL get}{A0 2 le{A0}{0}ie}ie D}if - ph 1 eq ph 2 eq or{ - NL ph 1 eq{tmax}{tmin}ie dup XO add LM gt{/LM E XO add D}{pop}ie LM E - }{ - /PH 3 D /LE 1e5 D RC %ZF - border 0 gt{/border 1 D}if - /twidth 0 D /avail W xo sub D - twid 0 eq{0 1 ncol{cdesc E get dup 2 get E 3 get dup 0 gt{div neg dup twid lt - {/twid E D}{pop}ie}{pop pop}ie}for}if - /twid twid dup 0 lt{neg avail 2 copy gt{E}if pop}{avail mul}ie D - /OK t D 0 1 ncol{cdesc E get dup 1 get E 3 get twid mul gt{/OK f D}if}for - 0 1 ncol{ - cdesc E get dup 1 get /colmin E D dup 3 get /cwid E twid mul D dup - tmax avail le{2 get}if - tmin avail le tmax avail gt and{ - dup 2 get E 1 get dup 3 1 roll sub avail tmin sub mul tmax tmin sub div add - }if - tmin avail gt{1 get}if - 0 E colmin cwid lt OK and{pop cwid}if dup /twidth E twidth add D put - }for - /OU f D CP - tmin twid le{ - 0 1 ncol{cdesc E get dup 0 get twidth div twid mul 0 E put}for - /twidth twid D - }if - CP printcap CP E pop sub /caphig E D pop - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /W 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /W E W add D}for - pass 0 eq rspan 1 eq and pass 1 eq rspan 1 gt and or{ - ctype 1 eq{() BD}if - /W W left sub right sub D /XO 0 D /EO 0 D SI - /A0 align D RC align NA - AT 4 eq{ - /DC dp D /DO 0 D /ID 1 D - 0 1 DV length 1 sub{DV E get dup DO gt{/DO E D}{pop}ie}for - /Lo DO DV 0 get sub D /L1 Lo D - }if - 0 0 M /BP t D /Fl t D /MF 0 D /FB 0 D - proc exec T not{/CI 0 D}if BN 0 FB neg R MF 0 eq{/MF CS D}if - CP /thishig E neg bot add top add CI add D pop - ang 0 ne{/thishig LM bot add top add D}if - cell 16 MF put cell 17 Ya put cell 18 thishig put - valign 4 eq{ - /below thishig Ya sub D - rdesc irow get dup dup 4 get Ya lt - {4 Ya put}{4 get /Ya E D}ie - dup 5 get below lt{5 below put}{5 get /below E D}ie - /thishig Ya below add D - }if - ctype 1 eq{()ES}if - /oldhig 0 D - 0 1 rspan 1 sub{ - irow add rdesc E get 0 get /oldhig E oldhig add D - }for - thishig oldhig ge{ - 0 1 rspan 1 sub{ - irow add rdesc E get dup 0 E 0 get oldhig 0 eq - {pop thishig rspan div}{thishig mul oldhig div}ie - put - }for - }if - }if - }if - }for - }for - }for M RC %ZF - /thight 0 D /racc 0 D /maxh 0 D /brk 0 D /rbeg nhead nfoot add D - 0 1 nrow{ - rdesc E get dup 0 get dup /thight E thight add D - brk 0 eq{/racc E D}{/racc E racc add D}ie - racc maxh gt{/maxh racc D}if 2 get /brk E D - }for - ph 3 ge{thight caphig add E}if - ph 0 eq ph 4 eq or{ - /PH 4 D /LE Le D /OU Ou D /yoff 0 D /headsz 0 D - 0 1 nhead 1 sub{rdesc E get 0 get headsz add /headsz E D}for - /footsz 0 D - 0 1 nfoot 1 sub{rdesc E nhead add get 0 get footsz add /footsz E D}for - /ahig LE BO add MI add D /maxh maxh headsz add footsz add D - /thight thight headsz add footsz add D - tmin avail gt maxh ahig gt or - {/Sf avail tmin div dup ahig maxh div gt{pop ahig maxh div}if D /SA t D} - {/Sf 1 D}ie - tclass 1 eq thight LE 15 sub gt and - {/SA t D LE 15 sub thight div dup Sf lt{/Sf E D}{pop}ie}if - SA{Sf Sf scale /ll ll Sf div D /xo xo Sf div D /LE LE Sf div D - /mr mr Sf div D /BO BO Sf div D /ahig ahig Sf div D}if - nhead nfoot add getwid - LE CP E pop add capalg 0 eq{caphig sub}if - bT{f}{dup thight lt thight ahig lt and}ie - E headsz sub footsz sub rwid lt or{NP}if - capalg 0 eq{printcap -8 SP}if - CP /ycur E D pop - printhead - rbeg 1 nrow{/row E D row - getwid - ycur yoff add rwid sub footsz sub LE add 0 lt - {nfoot 0 gt{printfoot}if Tf NP /rbeg irow1 D - Ba{MI /MI MI SA{Sf div}if D MI SP /MI E D}if - CP /ycur E D pop /yoff 0 D printhead}if - irow1 printrow - }for - printfoot /row row 1 add D Tf - 0 ycur yoff add M - capalg 1 eq{/EO 0 D SI -3 SP printcap}if - Sf 1 lt{1 Sf div dup scale /ll ll Sf mul D /xo xo Sf mul D /LE LE Sf mul D - /mr mr Sf mul D /BO BO Sf mul D /SA f D}if - /EO 0 D - }if - }ie - /W w D /XO xo D /MR mr D /LL ll D /LG lg D /AI ai D /BC bc D /NR nr D /AR ar D - /TR tr D /UI ui D /PH ph D /A0 a0 D /PF pf D /AT at D /AV av D /AL al D - /La la D - /SL SL 1 sub NN D /CF 0 D /FN 0 D SZ SL get FR SL get FS Wf not{()F2}if - PL 2 ge{Ms E restore Ms or /Ms E D PH 1 eq PH 2 eq or - {/LM E D}if PH 3 ge{/CI 0 D NL 0 E neg R}if - }if - /PL PL 1 sub D /CI 0 D /BP f D /PO f D () Bm 21 get Ts mul BE BL %CF CS SF -} D -/printcap{ - capalg 0 ge{ - SA{/W w Sf div D} - {talign 1 eq{/XO xo ll twidth sub 2 div add D}if - talign 2 eq{/XO xo ll twidth sub add D}if - /W XO twidth add D - }ie /XO xo D /LL W XO sub MR sub D - /PA f D /Fl capalg 0 eq D - 1 NA BL caption exec BN OA /PA t D - }if -} D -/getwid{ - /irow1 E D - /irow2 irow1 D - /rwid 0 D - {rdesc irow2 get dup 0 get rwid add /rwid E D 2 get 0 eq - {exit}{/irow2 irow2 1 add D}ie - }loop -} D -/printrow{ - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /xleft xoff xo add D - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D /cvsize E D /above E D /fontsz E D - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - /W xo xoff add width add right sub D - ang 0 ne{/W xo xoff add hight add right sub D}if - /EO xo xoff add left add D SI - Cf{ - gsave CB VC xo xoff add ycur yoff add M - 0 hight neg RL width 0 RL 0 hight RL width neg 0 RL fill - grestore - }if - ctype 1 eq{() BD}if - /A0 align D RC - AT 4 eq{ - /DC dp D /ID 1 D /DO cdesc icol get 5 get D /Lo DO DV 0 get sub D /L1 Lo D - }if - ang 0 ne{ - gsave ang 90 eq - {xoff ycur add hight cvsize sub 2 div sub ycur hight sub xoff sub} - {xoff ycur sub width add hight cvsize sub 2 div add ycur xoff add}ie - translate ang rotate - }if - valign 3 le{0 ycur yoff add top sub - hight cvsize sub valign 1 sub mul 2 div sub M} - {0 ycur yoff add top sub above add rdesc irow get 4 get sub M}ie - /PA f D /BP t D /Fl t D - BL proc exec BN - ang 0 ne{grestore}if - /PA t D - ctype 1 eq{() ES}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D -} D -/printhead {0 1 nhead 1 sub{printrow}for} D -/printfoot {nhead 1 nhead nfoot add 1 sub{printrow}for} D -/Tf { - OU{rules 2 ge{/yoff 0 D - gsave 0 Sg - [0 1 nhead 1 sub{}for rbeg 1 row 1 sub{}for nhead 1 nhead nfoot add 1 sub{}for]{ - /irow E D - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - /rspan cell 6 get D - /cspan cell 5 get D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - xo xoff add width add ycur yoff add M - 0 hight neg icol cspan add 1 sub ncol lt - {cdesc icol 1 add get 4 get dup rules 3 le{1 eq}{pop t}ie - {1 eq{0.8}{0.3}ie - LW RL CP stroke M}{pop R}ie}{R}ie - irow nhead nfoot add 1 sub ne nfoot 0 eq or - {irow rspan add 1 sub nrow lt - {rdesc irow rspan add get 3 get}{nfoot 0 eq{0}{1}ie}ie - dup rules 2 mod 0 eq{1 eq}{pop t}ie - {1 eq irow rspan add nhead eq or irow rspan add row eq nfoot 0 gt and or - {0.8}{0.3}ie LW width neg 0 RL CP stroke M}{pop}ie}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D - }forall - grestore - /Ms t D - }if - frame 1 gt{ - gsave - 1 LW 0 Sg - xleft ycur M CP BB - 0 yoff frame 5 eq frame 7 ge or{RL}{R}ie - twidth 0 frame 3 eq frame 4 eq or frame 8 ge or{RL}{R}ie CP BB - 0 yoff neg frame 6 ge{RL}{R}ie - twidth neg 0 frame 2 eq frame 4 eq or frame 8 ge or{RL}{R}ie - closepath stroke - grestore - /Ms t D - }if - }if -} D -/tables [[[0 0 0 0 0 -1 0 0 1 56 2 0 0 9 5 {()} -1] - [[0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0]] - [[0 0 0 0 0 0 [[{()1 Sl()WB(XML Schema type)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Parser imple)HY(men)HY(ta)HY(tion)YH( in the )SM(xml_schema)ES( names)HY(pace)YH()} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Parser return type - )} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(anyType and anySim)HY(ple)HY(Type)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anyType)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(any_type_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(void)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anySim)HY(ple)HY(Type)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(any_simple_type_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(void)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(byte_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(signed\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Byte)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_byte_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(short)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Short)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_short_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(int)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsignedInt)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_int_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(long)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Long)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_long_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(integer_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonPos)HY(i)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_posi)HY(tive)YH(_integer_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonNeg)HY(a)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_nega)HY(tive)YH(_integer_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(posi)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(posi)HY(tive)YH(_integer_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nega)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nega)HY(tive)YH(_integer_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(boolean types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(boolean)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(boolean_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(bool)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(float)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(double)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(decimal)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(decimal_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(string-based types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(string_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(normal)HY(ized)HY(String)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(normal)HY(ized)YH(_string_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(token)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(token_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(Name)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(name_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTOKEN)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmtoken_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NCName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(ncname_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(language)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(language_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(qual)HY(i)HY(fied)YH( name - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(QName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(qname_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::qname)ES()BR()0 31 1 A(Section 6.1, - ")SM(QName)ES( Parser")31 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(ID/IDREF types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ID)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(id_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREF)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idref_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(list types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTO)HY(KENS)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmto)HY(kens)YH(_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::string_sequence)ES()BR()0 32 1 A(Section - 6.2, ")SM(NMTO)HY(KENS)YH()ES( and )SM(IDREFS)ES( Parsers")32 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREFS)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idrefs_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::string_sequence)ES()BR()0 32 1 A(Section - 6.2, ")SM(NMTO)HY(KENS)YH()ES( and )SM(IDREFS)ES( Parsers")32 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(URI types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anyURI)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(uri_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::string)ES( or )SM(std::wstring)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(binary types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(base64Binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(base64_binary_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::[auto|unique]_ptr< xml_schema::buffer>)ES()BR( )0 33 1 A(Section 6.3, ")SM(base64Binary)ES( and - )SM(hexBi)HY(nary)YH()ES( Parsers")33 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(hexBi)HY(nary)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(hex_binary_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(std::[auto|unique]_ptr< xml_schema::buffer>)ES()BR( )0 33 1 A(Section 6.3, ")SM(base64Binary)ES( and - )SM(hexBi)HY(nary)YH()ES( Parsers")33 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(date/time types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::date)ES()BR()0 35 1 A(Section 6.5, - ")SM(date)ES( Parser")35 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)HY(Time)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date_time_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::date_time)ES()BR()0 36 1 A(Section 6.6, - ")SM(date)HY(Time)YH()ES( Parser")36 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(dura)HY(tion)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(dura)HY(tion)YH(_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::dura)HY(tion)YH()ES()BR()0 37 1 A(Section 6.7, - ")SM(dura)HY(tion)YH()ES( Parser")37 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gDay)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gday_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gday)ES()BR()0 38 1 A(Section 6.8, - ")SM(gDay)ES( Parser")38 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMonth)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gmonth)ES()BR()0 39 1 A(Section 6.9, - ")SM(gMonth)ES( Parser")39 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMon)HY(th)HY(Day)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth_day_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gmonth_day)ES()BR()0 40 1 A(Section 6.10, - ")SM(gMon)HY(th)HY(Day)YH()ES( Parser")40 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gyear)ES()BR()0 41 1 A(Section 6.11, - ")SM(gYear)ES( Parser")41 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)HY(Month)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear_month_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gyear_month)ES()BR()0 42 1 A(Section - 6.12, ")SM(gYear)HY(Month)YH()ES( Parser")42 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(time_pimpl)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::time)ES()BR()0 43 1 A(Section 6.13, - ")SM(time)ES( Parser")43 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -]] -[[0 0 0 0 0 -1 0 0 1 57 1 0 0 9 5 {()} -1] - [[0 0 0 0 0 0 0][0 0 0 0 0 0 0]] - [[0 0 0 0 0 0 [[{()1 Sl()WB(Construct)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Notes)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(Struc)HY(ture)YH()} 0 0 1 0 2 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(element)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(attribute)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(any)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(anyAt)HY(tribute)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(all)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(sequence)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(choice)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, empty content)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, mixed content)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, simple content exten)HY(sion)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, simple content restric)HY(tion)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Simple type facets are not vali)HY(dated)YH(.)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, complex content exten)HY(sion)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(complex type, complex content restric)HY(tion)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(list)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(Datatypes)} 0 0 1 0 2 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(byte)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(unsigned)HY(Byte)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(short)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(unsigned)HY(Short)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(int)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(unsignedInt)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(long)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(unsigned)HY(Long)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(integer)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(nonPos)HY(i)HY(tiveIn)HY(te)HY(ger)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(nonNeg)HY(a)HY(tiveIn)HY(te)HY(ger)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(posi)HY(tiveIn)HY(te)HY(ger)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(nega)HY(tiveIn)HY(te)HY(ger)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(boolean)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(float)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(double)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(decimal)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(string)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(normal)HY(ized)HY(String)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(token)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(Name)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(NMTOKEN)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(NCName)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(language)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(anyURI)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(ID)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Iden)HY(tity)YH( constraint is not enforced.)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(IDREF)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Iden)HY(tity)YH( constraint is not enforced.)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(NMTO)HY(KENS)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(IDREFS)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Iden)HY(tity)YH( constraint is not enforced.)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(QName)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(base64Binary)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(hexBi)HY(nary)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(date)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(date)HY(Time)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(dura)HY(tion)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(gDay)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(gMonth)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(gMon)HY(th)HY(Day)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(gYear)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(gYear)HY(Month)YH()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(time)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -]] -] D -0 1 1{TS}for RC ZF -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/parser/guide/index.xhtml) D -/Ti (C++/Parser Mapping Getting Started Guide) D -/Au () D -/Df f D -/ME [] D -Pt -/BO 0 D TC /Ba f D Bs /AU f D /UR () D RC ZF - tH WB -ND 1 gt{Ts 3 mul Np 0()0 C()BD(C++/Parser Mapping Getting Started Guide)ES()0 1 TN()EA()BN}if -1 NH le{50(1\240\240)1 C(Preface)WB 3 Sn()50 1 TN()EA()BN}if -2 NH le{51(1.1\240\240)2 C(About)WB 4 Sn( This Docu)HY(ment)YH()51 1 TN()EA()BN}if -2 NH le{52(1.2\240\240)2 C(More)WB 5 Sn( Infor)HY(ma)HY(tion)YH()52 1 TN()EA()BN}if -1 NH le{53(2\240\240)1 C(1)WB 6 Sn( Intro)HY(duc)HY(tion)YH()53 1 TN()EA()BN}if -2 NH le{54(2.1\240\240)2 C(1.1)WB 7 Sn( Mapping Overview)54 1 TN()EA()BN}if -2 NH le{55(2.2\240\240)2 C(1.2)WB 8 Sn( Bene)HY(fits)YH()55 1 TN()EA()BN}if -1 NH le{56(3\240\240)1 C(2)WB 9 Sn( Hello World Example)56 1 TN()EA()BN}if -2 NH le{57(3.1\240\240)2 C(2.1)WB 10 Sn( Writing XML Docu)HY(ment)YH( and Schema)57 1 TN()EA()BN}if -2 NH le{58(3.2\240\240)2 C(2.2)WB 11 Sn( Trans)HY(lat)HY(ing)YH( Schema to C++)58 1 TN()EA()BN}if -2 NH le{59(3.3\240\240)2 C(2.3)WB 12 Sn( Imple)HY(ment)HY(ing)YH( Appli)HY(ca)HY(tion)YH( Logic)59 1 TN()EA()BN}if -2 NH le{60(3.4\240\240)2 C(2.4)WB 13 Sn( Compil)HY(ing)YH( and Running)60 1 TN()EA()BN}if -1 NH le{61(4\240\240)1 C(3)WB 14 Sn( Parser Skele)HY(tons)YH()61 1 TN()EA()BN}if -2 NH le{62(4.1\240\240)2 C(3.1)WB 15 Sn( Imple)HY(ment)HY(ing)YH( the Gender Parser)62 1 TN()EA()BN}if -2 NH le{63(4.2\240\240)2 C(3.2)WB 16 Sn( Imple)HY(ment)HY(ing)YH( the Person Parser)63 1 TN()EA()BN}if -2 NH le{64(4.3\240\240)2 C(3.3)WB 17 Sn( Imple)HY(ment)HY(ing)YH( the People Parser)64 1 TN()EA()BN}if -2 NH le{65(4.4\240\240)2 C(3.4)WB 18 Sn( Connect)HY(ing)YH( the Parsers Together)65 1 TN()EA()BN}if -1 NH le{66(5\240\240)1 C(4)WB 19 Sn( Type Maps)66 1 TN()EA()BN}if -2 NH le{67(5.1\240\240)2 C(4.1)WB 20 Sn( Object Model)67 1 TN()EA()BN}if -2 NH le{68(5.2\240\240)2 C(4.2)WB 21 Sn( Type Map File Format)68 1 TN()EA()BN}if -2 NH le{69(5.3\240\240)2 C(4.3)WB 22 Sn( Parser Imple)HY(men)HY(ta)HY(tions)YH()69 1 TN()EA()BN}if -1 NH le{70(6\240\240)1 C(5)WB 23 Sn( Mapping Config)HY(u)HY(ra)HY(tion)YH()70 1 TN()EA()BN}if -2 NH le{71(6.1\240\240)2 C(5.1)WB 24 Sn( C++ Stan)HY(dard)YH()71 1 TN()EA()BN}if -2 NH le{72(6.2\240\240)2 C(5.2)WB 25 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()72 1 TN()EA()BN}if -2 NH le{73(6.3\240\240)2 C(5.3)WB 26 Sn( Under)HY(ly)HY(ing)YH( XML Parser)73 1 TN()EA()BN}if -2 NH le{74(6.4\240\240)2 C(5.4)WB 27 Sn( XML Schema Vali)HY(da)HY(tion)YH()74 1 TN()EA()BN}if -2 NH le{75(6.5\240\240)2 C(5.5)WB 28 Sn( Support for Poly)HY(mor)HY(phism)YH()75 1 TN()EA()BN}if -1 NH le{76(7\240\240)1 C(6)WB 29 Sn( Built-In XML Schema Type Parsers)76 1 TN()EA()BN}if -2 NH le{77(7.1\240\240)2 C(6.1)WB 31 Sn( )SM(QName)ES( Parser)77 1 TN()EA()BN}if -2 NH le{78(7.2\240\240)2 C(6.2)WB 32 Sn( )SM(NMTO)HY(KENS)YH()ES( and )SM(IDREFS)ES( Parsers)78 1 TN()EA()BN}if -2 NH le{79(7.3\240\240)2 C(6.3)WB 33 Sn( )SM(base64Binary)ES( and )SM(hexBi)HY(nary)YH()ES( Parsers)79 1 TN()EA()BN}if -2 NH le{80(7.4\240\240)2 C(6.4)WB 34 Sn( Time Zone Repre)HY(sen)HY(ta)HY(tion)YH()80 1 TN()EA()BN}if -2 NH le{81(7.5\240\240)2 C(6.5)WB 35 Sn( )SM(date)ES( Parser)81 1 TN()EA()BN}if -2 NH le{82(7.6\240\240)2 C(6.6)WB 36 Sn( )SM(date)HY(Time)YH()ES( Parser)82 1 TN()EA()BN}if -2 NH le{83(7.7\240\240)2 C(6.7)WB 37 Sn( )SM(dura)HY(tion)YH()ES( Parser)83 1 TN()EA()BN}if -2 NH le{84(7.8\240\240)2 C(6.8)WB 38 Sn( )SM(gDay)ES( Parser)84 1 TN()EA()BN}if -2 NH le{85(7.9\240\240)2 C(6.9)WB 39 Sn( )SM(gMonth)ES( Parser)85 1 TN()EA()BN}if -2 NH le{86(7.10\240\240)2 C(6.10)WB 40 Sn( )SM(gMon)HY(th)HY(Day)YH()ES( Parser)86 1 TN()EA()BN}if -2 NH le{87(7.11\240\240)2 C(6.11)WB 41 Sn( )SM(gYear)ES( Parser)87 1 TN()EA()BN}if -2 NH le{88(7.12\240\240)2 C(6.12)WB 42 Sn( )SM(gYear)HY(Month)YH()ES( Parser)88 1 TN()EA()BN}if -2 NH le{89(7.13\240\240)2 C(6.13)WB 43 Sn( )SM(time)ES( Parser)89 1 TN()EA()BN}if -1 NH le{90(8\240\240)1 C(7)WB 44 Sn( Docu)HY(ment)YH( Parser and Error Handling)90 1 TN()EA()BN}if -2 NH le{91(8.1\240\240)2 C(7.1)WB 45 Sn( Xerces-C++ Docu)HY(ment)YH( Parser)91 1 TN()EA()BN}if -2 NH le{92(8.2\240\240)2 C(7.2)WB 46 Sn( Expat Docu)HY(ment)YH( Parser)92 1 TN()EA()BN}if -2 NH le{93(8.3\240\240)2 C(7.3)WB 47 Sn( Error Handling)93 1 TN()EA()BN}if -1 NH le{94(9\240\240)1 C(Appendix)WB 48 Sn( A \236 Supported XML Schema Constructs)94 1 TN()EA()BN}if -/OU t D /Cb Db D NP Ep ET -/Cb Db D /Ct [16#00 16#00 16#00] D /Cl [16#00 16#00 16#00] D /CL -1 D Ct Sc - -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/parser/guide/index.xhtml) D -/Ti (C++/Parser Mapping Getting Started Guide) D -/Au () D -/Df f D -/ME [] D - -NP RC ZF -()1 Sl()WB 0 Sn( - -)BR()WB 1 Sn( )BR()WB 2 Sn( - - - )0 1 0 H(Preface)WB 50 Sn()WB 3 Sn()EA()EH( - - )0 2 1 H(About)WB 51 Sn()WB 4 Sn( This Docu)HY(ment)YH()EA()EH( - - )0 P(The goal of this docu)HY(ment)YH( is to provide you with an under)HY(stand)HY(ing)YH( of - the C++/Parser program)HY(ming)YH( model and allow you to effi)HY(ciently)YH( eval)HY(u)HY(ate)YH( - XSD against your project's tech)HY(ni)HY(cal)YH( require)HY(ments)YH(. As such, this - docu)HY(ment)YH( is intended for C++ devel)HY(op)HY(ers)YH( and soft)HY(ware)YH( archi)HY(tects)YH( - who are looking for an XML process)HY(ing)YH( solu)HY(tion)YH(. Prior expe)HY(ri)HY(ence)YH( - with XML and C++ is required to under)HY(stand)YH( this docu)HY(ment)YH(. Basic - under)HY(stand)HY(ing)YH( of XML Schema is advan)HY(ta)HY(geous)YH( but not expected - or required. - )EP( - - - )0 2 2 H(More)WB 52 Sn()WB 5 Sn( Infor)HY(ma)HY(tion)YH()EA()EH( - - )0 P(Beyond this guide, you may also find the follow)HY(ing)YH( sources of - infor)HY(ma)HY(tion)YH( useful:)EP( - - )UL( )-1 LI()R1 2 A(XSD - Compiler Command Line Manual)EA( - - )-1 LI(The )SM(exam)HY(ples)YH(/cxx/parser/)ES( direc)HY(tory)YH( in the XSD - distri)HY(bu)HY(tion)YH( contains a collec)HY(tion)YH( of exam)HY(ples)YH( and a README - file with an overview of each example. - - )-1 LI(The )SM(README)ES( file in the XSD distri)HY(bu)HY(tion)YH( explains - how to compile the exam)HY(ples)YH( on various plat)HY(forms)YH(. - - )-1 LI(The )R2 2 A(xsd-users)EA( - mailing list is the place to ask tech)HY(ni)HY(cal)YH( ques)HY(tions)YH( about XSD and the C++/Parser mapping. - Further)HY(more)YH(, the )R3 2 A(archives)EA( - may already have answers to some of your ques)HY(tions)YH(. - - )LU( - - - - )0 1 3 H(1)WB 53 Sn()WB 6 Sn( Intro)HY(duc)HY(tion)YH()EA()EH( - - )0 P(Welcome to CodeSyn)HY(the)HY(sis)YH( XSD and the C++/Parser mapping. XSD is a - cross-plat)HY(form)YH( W3C XML Schema to C++ data binding compiler. C++/Parser - is a W3C XML Schema to C++ mapping that repre)HY(sents)YH( an XML vocab)HY(u)HY(lary)YH( - as a set of parser skele)HY(tons)YH( which you can imple)HY(ment)YH( to perform XML - process)HY(ing)YH( as required by your appli)HY(ca)HY(tion)YH( logic. - )EP( - - )0 2 4 H(1.1)WB 54 Sn()WB 7 Sn( Mapping Overview)EA()EH( - - )0 P(The C++/Parser mapping provides event-driven, stream-oriented - XML parsing, XML Schema vali)HY(da)HY(tion)YH(, and C++ data binding. It was - specif)HY(i)HY(cally)YH( designed and opti)HY(mized)YH( for high perfor)HY(mance)YH( and - small foot)HY(print)YH(. Based on the static anal)HY(y)HY(sis)YH( of the schemas, XSD - gener)HY(ates)YH( compact, highly-opti)HY(mized)YH( hier)HY(ar)HY(chi)HY(cal)YH( state machines - that combine data extrac)HY(tion)YH(, vali)HY(da)HY(tion)YH(, and even dispatch)HY(ing)YH( - in a single step. As a result, the gener)HY(ated)YH( code is typi)HY(cally)YH( - 2-10 times faster than general-purpose vali)HY(dat)HY(ing)YH( XML parsers - while main)HY(tain)HY(ing)YH( the lowest static and dynamic memory foot)HY(prints)YH(. - )EP( - - )0 P(To speed up appli)HY(ca)HY(tion)YH( devel)HY(op)HY(ment)YH(, the C++/Parser mapping - can be instructed to gener)HY(ate)YH( sample parser imple)HY(men)HY(ta)HY(tions)YH( - and a test driver which can then be filled with the appli)HY(ca)HY(tion)YH( - logic code. The mapping also provides a wide range of - mech)HY(a)HY(nisms)YH( for control)HY(ling)YH( and customiz)HY(ing)YH( the gener)HY(ated)YH( code.)EP( - - )0 P(The next chapter shows how to create a simple appli)HY(ca)HY(tion)YH( that uses - the C++/Parser mapping to parse, vali)HY(date)YH(, and extract data from a - simple XML docu)HY(ment)YH(. The follow)HY(ing)YH( chap)HY(ters)YH( show how to - use the C++/Parser mapping in more detail.)EP( - - )0 2 5 H(1.2)WB 55 Sn()WB 8 Sn( Bene)HY(fits)YH()EA()EH( - - )0 P(Tradi)HY(tional)YH( XML access APIs such as Docu)HY(ment)YH( Object Model \201DOM\202 - or Simple API for XML \201SAX\202 have a number of draw)HY(backs)YH( that - make them less suit)HY(able)YH( for creat)HY(ing)YH( robust and main)HY(tain)HY(able)YH( - XML process)HY(ing)YH( appli)HY(ca)HY(tions)YH(. These draw)HY(backs)YH( include: - )EP( - - )UL( )-1 LI(Generic repre)HY(sen)HY(ta)HY(tion)YH( of XML in terms of elements, attributes, - and text forces an appli)HY(ca)HY(tion)YH( devel)HY(oper)YH( to write a substan)HY(tial)YH( - amount of bridg)HY(ing)YH( code that iden)HY(ti)HY(fies)YH( and trans)HY(forms)YH( pieces - of infor)HY(ma)HY(tion)YH( encoded in XML to a repre)HY(sen)HY(ta)HY(tion)YH( more suit)HY(able)YH( - for consump)HY(tion)YH( by the appli)HY(ca)HY(tion)YH( logic. - - )-1 LI(String-based flow control defers error detec)HY(tion)YH( to runtime. - It also reduces code read)HY(abil)HY(ity)YH( and main)HY(tain)HY(abil)HY(ity)YH(. - - )-1 LI(Lack of type safety because the data is repre)HY(sented)YH( - as text. - - )-1 LI(Result)HY(ing)YH( appli)HY(ca)HY(tions)YH( are hard to debug, change, and - main)HY(tain)YH(. - )LU( - - )0 P(In contrast, stat)HY(i)HY(cally)YH(-typed, vocab)HY(u)HY(lary)YH(-specific parser - skele)HY(tons)YH( produced by the C++/Parser mapping allow you to - operate in your domain terms instead of the generic elements, - attributes, and text. Static typing helps catch errors at - compile-time rather than at run-time. Auto)HY(matic)YH( code gener)HY(a)HY(tion)YH( - frees you for more inter)HY(est)HY(ing)YH( tasks \201such as doing some)HY(thing)YH( - useful with the infor)HY(ma)HY(tion)YH( stored in the XML docu)HY(ments)YH(\202 and - mini)HY(mizes)YH( the effort needed to adapt your appli)HY(ca)HY(tions)YH( to - changes in the docu)HY(ment)YH( struc)HY(ture)YH(. To summa)HY(rize)YH(, the C++/Parser - mapping has the follow)HY(ing)YH( key advan)HY(tages)YH( over generic XML - access APIs:)EP( - - )UL( )-1 LI()BD(Ease of use.)ES( The gener)HY(ated)YH( code hides all the complex)HY(ity)YH( - asso)HY(ci)HY(ated)YH( with recre)HY(at)HY(ing)YH( the docu)HY(ment)YH( struc)HY(ture)YH(, main)HY(tain)HY(ing)YH( the - dispatch state, and convert)HY(ing)YH( the data from the text repre)HY(sen)HY(ta)HY(tion)YH( - to data types suit)HY(able)YH( for manip)HY(u)HY(la)HY(tion)YH( by the appli)HY(ca)HY(tion)YH( logic. - Parser skele)HY(tons)YH( also provide a conve)HY(nient)YH( mech)HY(a)HY(nism)YH( for build)HY(ing)YH( - custom in-memory repre)HY(sen)HY(ta)HY(tions)YH(. - - )-1 LI()BD(Natural repre)HY(sen)HY(ta)HY(tion)YH(.)ES( The gener)HY(ated)YH( parser skele)HY(tons)YH( - imple)HY(ment)YH( parser call)HY(backs)YH( as virtual func)HY(tions)YH( with names - corre)HY(spond)HY(ing)YH( to elements and attributes in XML. As a result, - you process the XML data using your domain vocab)HY(u)HY(lary)YH( instead - of generic elements, attributes, and text. - - - )-1 LI()BD(Concise code.)ES( With a sepa)HY(rate)YH( parser skele)HY(ton)YH( for each - XML Schema type, the appli)HY(ca)HY(tion)YH( imple)HY(men)HY(ta)HY(tion)YH( is - simpler and thus easier to read and under)HY(stand)YH(. - - )-1 LI()BD(Safety.)ES( The XML data is deliv)HY(ered)YH( to parser call)HY(backs)YH( as - stat)HY(i)HY(cally)YH( typed objects. The parser call)HY(backs)YH( them)HY(selves)YH( are virtual - func)HY(tions)YH(. This helps catch program)HY(ming)YH( errors at compile-time - rather than at runtime. - - )-1 LI()BD(Main)HY(tain)HY(abil)HY(ity)YH(.)ES( Auto)HY(matic)YH( code gener)HY(a)HY(tion)YH( mini)HY(mizes)YH( the - effort needed to adapt the appli)HY(ca)HY(tion)YH( to changes in the - docu)HY(ment)YH( struc)HY(ture)YH(. With static typing, the C++ compiler - can pin-point the places in the appli)HY(ca)HY(tion)YH( code that need to be - changed. - - )-1 LI()BD(Effi)HY(ciency)YH(.)ES( The gener)HY(ated)YH( parser skele)HY(tons)YH( combine - data extrac)HY(tion)YH(, vali)HY(da)HY(tion)YH(, and even dispatch)HY(ing)YH( in a single - step. This makes them much more effi)HY(cient)YH( than tradi)HY(tional)YH( - archi)HY(tec)HY(tures)YH( with sepa)HY(rate)YH( stages for vali)HY(da)HY(tion)YH( and data - extrac)HY(tion)YH(/dispatch. - )LU( - - - - - )0 1 6 H(2)WB 56 Sn()WB 9 Sn( Hello World Example)EA()EH( - - )0 P(In this chapter we will examine how to parse a very simple XML - docu)HY(ment)YH( using the XSD-gener)HY(ated)YH( C++/Parser skele)HY(tons)YH(. - The code presented in this chapter is based on the )SM(hello)ES( - example which can be found in the )SM(exam)HY(ples)YH(/cxx/parser/)ES( - direc)HY(tory)YH( of the XSD distri)HY(bu)HY(tion)YH(.)EP( - - )0 2 7 H(2.1)WB 57 Sn()WB 10 Sn( Writing XML Docu)HY(ment)YH( and Schema)EA()EH( - - )0 P(First, we need to get an idea about the struc)HY(ture)YH( - of the XML docu)HY(ments)YH( we are going to process. Our - )SM(hello.xml)ES(, for example, could look like this:)EP( - - ) 10 28 PR(<?xml version="1.0"?> -<hello> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello>)RP( - - )0 P(Then we can write a descrip)HY(tion)YH( of the above XML in the - XML Schema language and save it into )SM(hello.xsd)ES(:)EP( - - ) 13 70 PR(<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello"> - <xs:sequence> - <xs:element name="greeting" type="xs:string"/> - <xs:element name="name" type="xs:string" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="hello" type="hello"/> - -</xs:schema>)RP( - - )0 P(Even if you are not famil)HY(iar)YH( with XML Schema, it - should be easy to connect decla)HY(ra)HY(tions)YH( in )SM(hello.xsd)ES( - to elements in )SM(hello.xml)ES(. The )SM(hello)ES( type - is defined as a sequence of the nested )SM(greet)HY(ing)YH()ES( and - )SM(name)ES( elements. Note that the term sequence in XML - Schema means that elements should appear in a partic)HY(u)HY(lar)YH( order - as opposed to appear)HY(ing)YH( multi)HY(ple)YH( times. The )SM(name)ES( - element has its )SM(maxOc)HY(curs)YH()ES( prop)HY(erty)YH( set to - )SM(unbounded)ES( which means it can appear multi)HY(ple)YH( times - in an XML docu)HY(ment)YH(. Finally, the glob)HY(ally)YH(-defined )SM(hello)ES( - element prescribes the root element for our vocab)HY(u)HY(lary)YH(. For an - easily-approach)HY(able)YH( intro)HY(duc)HY(tion)YH( to XML Schema refer to - )R4 2 A(XML Schema Part 0: - Primer)EA(.)EP( - - )0 P(The above schema is a spec)HY(i)HY(fi)HY(ca)HY(tion)YH( of our XML vocab)HY(u)HY(lary)YH(; it tells - every)HY(body)YH( what valid docu)HY(ments)YH( of our XML-based language should look - like. The next step is to compile this schema to gener)HY(ate)YH( - the object model and parsing func)HY(tions)YH(.)EP( - - )0 2 8 H(2.2)WB 58 Sn()WB 11 Sn( Trans)HY(lat)HY(ing)YH( Schema to C++)EA()EH( - - )0 P(Now we are ready to trans)HY(late)YH( our )SM(hello.xsd)ES( to C++ parser - skele)HY(tons)YH(. To do this we invoke the XSD compiler from a termi)HY(nal)YH( - \201UNIX\202 or a command prompt \201Windows\202: - )EP( - - ) 1 45 PR($ xsd cxx-parser --xml-parser expat hello.xsd)RP( - - )0 P(The )SM(--xml-parser)ES( option indi)HY(cates)YH( that we want to - use Expat as the under)HY(ly)HY(ing)YH( XML parser \201see )0 26 1 A(Section - 5.3, "Under)HY(ly)HY(ing)YH( XML Parser")26 0 TN TL()Ec /AF f D(\202. The XSD compiler produces two - C++ files: )SM(hello-pskel.hxx)ES( and )SM(hello-pskel.cxx)ES(. - The follow)HY(ing)YH( code frag)HY(ment)YH( is taken from )SM(hello-pskel.hxx)ES(; - it should give you an idea about what gets gener)HY(ated)YH(: - )EP( - - ) 32 60 PR(class hello_pskel -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre \201\202; - - virtual void - greeting \201const std::string&\202; - - virtual void - name \201const std::string&\202; - - virtual void - post_hello \201\202; - - // Parser construction API. - // - void - greeting_parser \201xml_schema::string_pskel&\202; - - void - name_parser \201xml_schema::string_pskel&\202; - - void - parsers \201xml_schema::string_pskel& /* greeting */, - xml_schema::string_pskel& /* name */\202; - -private: - ...)WR( -};)RP( - - )0 P(The first four member func)HY(tions)YH( shown above are called parser - call)HY(backs)YH(. You would normally over)HY(ride)YH( them in your imple)HY(men)HY(ta)HY(tion)YH( - of the parser to do some)HY(thing)YH( useful. Let's go through all of - them one by one.)EP( - - )0 P(The )SM(pre\201\202)ES( func)HY(tion)YH( is an initial)HY(iza)HY(tion)YH( call)HY(back)YH(. It is - called when a new element of type )SM(hello)ES( is about - to be parsed. You would normally use this func)HY(tion)YH( to allo)HY(cate)YH( a new - instance of the result)HY(ing)YH( type or clear accu)HY(mu)HY(la)HY(tors)YH( that are used - to gather infor)HY(ma)HY(tion)YH( during parsing. The default imple)HY(men)HY(ta)HY(tion)YH( - of this func)HY(tion)YH( does nothing.)EP( - - )0 P(The )SM(post_hello\201\202)ES( func)HY(tion)YH( is a final)HY(iza)HY(tion)YH( call)HY(back)YH(. Its - name is constructed by adding the parser skele)HY(ton)YH( name to the - )SM(post_)ES( prefix. The final)HY(iza)HY(tion)YH( call)HY(back)YH( is called when - parsing of the element is complete and the result, if any, should - be returned. Note that in our case the return type of - )SM(post_hello\201\202)ES( is )SM(void)ES( which means there - is nothing to return. More on parser return types later. - )EP( - - )0 P(You may be wonder)HY(ing)YH( why the final)HY(iza)HY(tion)YH( call)HY(back)YH( is called - )SM(post_hello\201\202)ES( instead of )SM(post\201\202)ES( just - like )SM(pre\201\202)ES(. The reason for this is that - final)HY(iza)HY(tion)YH( call)HY(backs)YH( can have differ)HY(ent)YH( return types and - result in func)HY(tion)YH( signa)HY(ture)YH( clashes across inher)HY(i)HY(tance)YH( - hier)HY(ar)HY(chies)YH(. To prevent this the signa)HY(tures)YH( of final)HY(iza)HY(tion)YH( - call)HY(backs)YH( are made unique by adding the type name to their names.)EP( - - )0 P(The )SM(greet)HY(ing)YH(\201\202)ES( and )SM(name\201\202)ES( func)HY(tions)YH( are - called when the )SM(greet)HY(ing)YH()ES( and )SM(name)ES( elements - have been parsed, respec)HY(tively)YH(. Their argu)HY(ments)YH( are of type - )SM(std::string)ES( and contain the data extracted from XML.)EP( - - )0 P(The last three func)HY(tions)YH( are for connect)HY(ing)YH( parsers to each other. - For example, there is a prede)HY(fined)YH( parser for built-in XML Schema type - )SM(string)ES( in the XSD runtime. We will be using - it to parse the contents of )SM(greet)HY(ing)YH()ES( and - )SM(name)ES( elements, as shown in the next section.)EP( - - )0 2 9 H(2.3)WB 59 Sn()WB 12 Sn( Imple)HY(ment)HY(ing)YH( Appli)HY(ca)HY(tion)YH( Logic)EA()EH( - - )0 P(At this point we have all the parts we need to do some)HY(thing)YH( useful - with the infor)HY(ma)HY(tion)YH( stored in our XML docu)HY(ment)YH(. The first step is - to imple)HY(ment)YH( the parser: - )EP( - - ) 21 60 PR(#include <iostream> -#include "hello-pskel.hxx" - -class hello_pimpl: public hello_pskel -{ -public: - virtual void - greeting \201const std::string& g\202 - { - greeting_ = g; - } - - virtual void - name \201const std::string& n\202 - { - std::cout << greeting_ << ", " << n << "!" << std::endl; - } - -private: - std::string greeting_; -};)RP( - - )0 P(We left both )SM(pre\201\202)ES( and )SM(post_hello\201\202)ES( with the - default imple)HY(men)HY(ta)HY(tions)YH(; we don't have anything to initial)HY(ize)YH( or - return. The rest is pretty straight)HY(for)HY(ward)YH(: we store the greet)HY(ing)YH( - in a member vari)HY(able)YH( and later, when parsing names, use it to - say hello.)EP( - - )0 P(An obser)HY(vant)YH( reader my ask what happens if the )SM(name)ES( - element comes before )SM(greet)HY(ing)YH()ES(? Don't we need to - make sure )SM(greet)HY(ing)YH(_)ES( was initial)HY(ized)YH( and report - an error other)HY(wise)YH(? The answer is no, we don't have to do - any of this. The )SM(hello_pskel)ES( parser skele)HY(ton)YH( - performs vali)HY(da)HY(tion)YH( of XML accord)HY(ing)YH( to the schema from which - it was gener)HY(ated)YH(. As a result, it will check the order - of the )SM(greet)HY(ing)YH()ES( and )SM(name)ES( elements - and report an error if it is violated.)EP( - - )0 P(Now it is time to put this parser imple)HY(men)HY(ta)HY(tion)YH( to work:)EP( - - ) 29 50 PR(using namespace std; - -int -main \201int argc, char* argv[]\202 -{ - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - hello_pimpl hello_p; - - hello_p.greeting_parser \201string_p\202; - hello_p.name_parser \201string_p\202; - - // Parse the XML instance. - // - xml_schema::document doc_p \201hello_p, "hello"\202; - - hello_p.pre \201\202; - doc_p.parse \201argv[1]\202; - hello_p.post_hello \201\202; - } - catch \201const xml_schema::exception& e\202 - { - cerr << e << endl; - return 1; - } -})RP( - - )0 P(The first part of this code snippet instan)HY(ti)HY(ates)YH( indi)HY(vid)HY(ual)YH( parsers - and assem)HY(bles)YH( them into a complete vocab)HY(u)HY(lary)YH( parser. - )SM(xml_schema::string_pimpl)ES( is an imple)HY(men)HY(ta)HY(tion)YH( of a parser - for built-in XML Schema type )SM(string)ES(. It is provided by - the XSD runtime along with parsers for other built-in types \201for - more infor)HY(ma)HY(tion)YH( on the built-in parsers see )0 29 1 A(Chapter 6, - "Built-In XML Schema Type Parsers")29 0 TN TL()Ec /AF f D(\202. We use )SM(string_pimpl)ES( - to parse the )SM(greet)HY(ing)YH()ES( and )SM(name)ES( elements as - indi)HY(cated)YH( by the calls to )SM(greet)HY(ing)YH(_parser\201\202)ES( and - )SM(name_parser\201\202)ES(. - )EP( - - )0 P(Then we instan)HY(ti)HY(ate)YH( a docu)HY(ment)YH( parser \201)SM(doc_p)ES(\202. The - first argu)HY(ment)YH( to its construc)HY(tor)YH( is the parser for - the root element \201)SM(hello_p)ES( in our case\202. The - second argu)HY(ment)YH( is the root element name. - )EP( - - )0 P(The final piece is the calls to )SM(pre\201\202)ES(, )SM(parse\201\202)ES(, - and )SM(post_hello\201\202)ES(. The call to )SM(parse\201\202)ES( - perform the actual XML parsing while the calls to )SM(pre\201\202)ES( and - )SM(post_hello\201\202)ES( make sure that the parser for the root - element can perform proper initial)HY(iza)HY(tion)YH( and cleanup.)EP( - - )0 P(While our parser imple)HY(men)HY(ta)HY(tion)YH( and test driver are pretty small and - easy to write by hand, for bigger XML vocab)HY(u)HY(lar)HY(ies)YH( it can be a - substan)HY(tial)YH( effort. To help with this task XSD can auto)HY(mat)HY(i)HY(cally)YH( - gener)HY(ate)YH( sample parser imple)HY(men)HY(ta)HY(tions)YH( and a test driver from your - schemas. You can request the gener)HY(a)HY(tion)YH( of a sample imple)HY(men)HY(ta)HY(tion)YH( with - empty func)HY(tion)YH( bodies by spec)HY(i)HY(fy)HY(ing)YH( the )SM(--gener)HY(ate)YH(-noop-impl)ES( - option. Or you can gener)HY(ate)YH( a sample imple)HY(men)HY(ta)HY(tion)YH( that prints the - data store in XML by using the )SM(--gener)HY(ate)YH(-print-impl)ES( - option. To request the gener)HY(a)HY(tion)YH( of a test driver you can use the - )SM(--gener)HY(ate)YH(-test-driver)ES( option. For more infor)HY(ma)HY(tion)YH( - on these options refer to the - )R1 2 A(XSD - Compiler Command Line Manual)EA(. The )SM('gener)HY(ated)YH(')ES( example - in the XSD distri)HY(bu)HY(tion)YH( shows the sample imple)HY(men)HY(ta)HY(tion)YH( gener)HY(a)HY(tion)YH( - feature in action.)EP( - - - )0 2 10 H(2.4)WB 60 Sn()WB 13 Sn( Compil)HY(ing)YH( and Running)EA()EH( - - )0 P(After saving all the parts from the previ)HY(ous)YH( section in - )SM(driver.cxx)ES(, we are ready to compile our first - appli)HY(ca)HY(tion)YH( and run it on the test XML docu)HY(ment)YH(. On a UNIX - system this can be done with the follow)HY(ing)YH( commands: - )EP( - - ) 6 48 PR($ c++ -I.../libxsd -c driver.cxx hello-pskel.cxx -$ c++ -o driver driver.o hello-pskel.o -lexpat -$ ./driver hello.xml -Hello, sun! -Hello, moon! -Hello, world!)RP( - - )0 P(Here )SM(.../libxsd)ES( repre)HY(sents)YH( the path to the - )SM(libxsd)ES( direc)HY(tory)YH( in the XSD distri)HY(bu)HY(tion)YH(. - We can also test the error handling. To test XML well-formed)HY(ness)YH( - check)HY(ing)YH(, we can try to parse )SM(hello-pskel.hxx)ES(:)EP( - - ) 2 52 PR($ ./driver hello-pskel.hxx -hello-pskel.hxx:1:0: not well-formed \201invalid token\202)RP( - - )0 P(We can also try to parse a valid XML but not from our - vocab)HY(u)HY(lary)YH(, for example )SM(hello.xsd)ES(:)EP( - - ) 3 50 PR($ ./driver hello.xsd -hello.xsd:2:0: expected element 'hello' instead of -'http://www.w3.org/2001/XMLSchema#schema')RP( - - - - - - )0 1 11 H(3)WB 61 Sn()WB 14 Sn( Parser Skele)HY(tons)YH()EA()EH( - - )0 P(As we have seen in the previ)HY(ous)YH( chapter, the XSD compiler gener)HY(ates)YH( - a parser skele)HY(ton)YH( class for each type defined in XML Schema. In - this chapter we will take a closer look at differ)HY(ent)YH( func)HY(tions)YH( - that comprise a parser skele)HY(ton)YH( as well as the way to connect - our imple)HY(men)HY(ta)HY(tions)YH( of these parser skele)HY(tons)YH( to create a complete - parser.)EP( - - )0 P(In this and subse)HY(quent)YH( chap)HY(ters)YH( we will use the follow)HY(ing)YH( schema - that describes a collec)HY(tion)YH( of person records. We save it in - )SM(people.xsd)ES(:)EP( - - ) 28 69 PR(<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:simpleType name="gender"> - <xs:restriction base="xs:string"> - <xs:enumeration value="male"/> - <xs:enumeration value="female"/> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="person"> - <xs:sequence> - <xs:element name="first-name" type="xs:string"/> - <xs:element name="last-name" type="xs:string"/> - <xs:element name="gender" type="gender"/> - <xs:element name="age" type="xs:short"/> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="people"> - <xs:sequence> - <xs:element name="person" type="person" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="people" type="people"/> - -</xs:schema>)RP( - - )0 P(A sample XML instance to go along with this schema is saved - in )SM(people.xml)ES(:)EP( - - ) 15 33 PR(<?xml version="1.0"?> -<people> - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> -</people>)RP( - - )0 P(Compil)HY(ing)YH( )SM(people.xsd)ES( with the XSD compiler results - in three parser skele)HY(tons)YH( being gener)HY(ated)YH(: )SM(gender_pskel)ES(, - )SM(person_pskel)ES(, and )SM(people_pskel)ES(. We are going - to examine and imple)HY(ment)YH( each of them in the subse)HY(quent)YH( sections.)EP( - - )0 2 12 H(3.1)WB 62 Sn()WB 15 Sn( Imple)HY(ment)HY(ing)YH( the Gender Parser)EA()EH( - - )0 P(The gener)HY(ated)YH( )SM(gender_pskel)ES( parser skele)HY(ton)YH( looks like - this:)EP( - - ) 11 60 PR(class gender_pskel: public virtual xml_schema::string_pskel -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre \201\202; - - virtual void - post_gender \201\202; -};)RP( - - )0 P(Notice that )SM(gender_pskel)ES( inher)HY(its)YH( from - )SM(xml_schema::string_skel)ES( which is a parser skele)HY(ton)YH( - for built-in XML Schema type )SM(string)ES( and is - prede)HY(fined)YH( in the XSD runtime library. This is an example - of the general rule that parser skele)HY(tons)YH( follow: if a type - in XML Schema inher)HY(its)YH( from another then there will be an - equiv)HY(a)HY(lent)YH( inher)HY(i)HY(tance)YH( between the corre)HY(spond)HY(ing)YH( parser - skele)HY(ton)YH( classes.)EP( - - )0 P(The )SM(pre\201\202)ES( and )SM(post_gender\201\202)ES( call)HY(backs)YH( - should look famil)HY(iar)YH( from the previ)HY(ous)YH( chapter. Let's now - imple)HY(ment)YH( the parser. Our imple)HY(men)HY(ta)HY(tion)YH( will simply print - the gender to )SM(cout)ES(:)EP( - - - ) 11 51 PR(class gender_pimpl: public gender_pskel, - public xml_schema::string_pimpl -{ -public: - virtual void - post_gender \201\202 - { - std::string s = post_string \201\202; - cout << "gender: " << s << endl; - } -};)RP( - - )0 P(While the code is quite short, there is a lot going on. First, - notice that we are inher)HY(it)HY(ing)YH( from )SM(gender_pskel)ES( )EM(and)ES( - from )SM(xml_schema::string_pimpl)ES(. We've encoun)HY(tered)YH( - )SM(xml_schema::string_pimpl)ES( already; it is an - imple)HY(men)HY(ta)HY(tion)YH( of the )SM(xml_schema::string_pskel)ES( parser - skele)HY(ton)YH( for built-in XML Schema type )SM(string)ES(.)EP( - - )0 P(This is another common theme in the C++/Parser program)HY(ming)YH( model: - reusing imple)HY(men)HY(ta)HY(tions)YH( of the base parsers in the derived ones with - the C++ mixin idiom. In our case, )SM(string_pimpl)ES( will - do all the dirty work of extract)HY(ing)YH( the data and we can just get - it at the end with the call to )SM(post_string\201\202)ES(.)EP( - - )0 P(In case you are curious, here is what - )SM(xml_schema::string_pskel)ES( and - )SM(xml_schema::string_pimpl)ES( look like:)EP( - - ) 25 49 PR(namespace xml_schema -{ - class string_pskel: public simple_content - { - public: - virtual std::string - post_string \201\202 = 0; - }; - - class string_pimpl: public virtual string_pskel - { - public: - virtual void - _pre \201\202; - - virtual void - _characters \201const xml_schema::ro_string&\202; - - virtual std::string - post_string \201\202; - - protected: - std::string str_; - }; -})RP( - - )0 P(There are three new pieces in this code that we haven't seen yet. - They are the )SM(simple_content)ES( class as well as - the )SM(_pre\201\202)ES( and )SM(_char)HY(ac)HY(ters)YH(\201\202)ES( func)HY(tions)YH(. - The )SM(simple_content)ES( class is defined in the XSD - runtime and is a base class for all parser skele)HY(tons)YH( that conform - to the simple content model in XML Schema. Types with the - simple content model cannot have nested elements\236only text - and attributes. There is also the )SM(complex_content)ES( - class which corre)HY(sponds)YH( to the complex content mode \201types with - nested elements, for example, )SM(person)ES( from - )SM(people.xsd)ES(\202.)EP( - - )0 P(The )SM(_pre\201\202)ES( func)HY(tion)YH( is a parser call)HY(back)YH(. Remem)HY(ber)YH( we - talked about the )SM(pre\201\202)ES( and )SM(post_*\201\202)ES( call)HY(backs)YH( - in the previ)HY(ous)YH( chapter? There are actu)HY(ally)YH( two more call)HY(backs)YH( - with similar roles: )SM(_pre\201\202)ES( and )SM(_post \201\202)ES(. - As a result, each parser skele)HY(ton)YH( has four special call)HY(backs)YH(:)EP( - - ) 11 15 PR( virtual void - pre \201\202; - - virtual void - _pre \201\202; - - virtual void - _post \201\202; - - virtual void - post_name \201\202;)RP( - - )0 P()SM(pre\201\202)ES( and )SM(_pre\201\202)ES( are initial)HY(iza)HY(tion)YH( - call)HY(backs)YH(. They get called in that order before a new instance of the type - is about to be parsed. The differ)HY(ence)YH( between )SM(pre\201\202)ES( and - )SM(_pre\201\202)ES( is conven)HY(tional)YH(: )SM(pre\201\202)ES( can - be completely over)HY(rid)HY(den)YH( by a derived parser. The derived - parser can also over)HY(ride)YH( )SM(_pre\201\202)ES( but has to always call - the orig)HY(i)HY(nal)YH( version. This allows you to parti)HY(tion)YH( initial)HY(iza)HY(tion)YH( - into customiz)HY(able)YH( and required parts.)EP( - - )0 P(Simi)HY(larly)YH(, )SM(_post\201\202)ES( and )SM(post_name\201\202)ES( are - final)HY(iza)HY(tion)YH( call)HY(backs)YH( with exactly the same seman)HY(tics)YH(: - )SM(post_name\201\202)ES( can be completely over)HY(rid)HY(den)YH( by the derived - parser while the orig)HY(i)HY(nal)YH( )SM(_post\201\202)ES( should always be called. - )EP( - - )0 P(The final bit we need to discuss in this section is the - )SM(_char)HY(ac)HY(ters)YH(\201\202)ES( func)HY(tion)YH(. As you might have guessed, it - is also a call)HY(back)YH(. A low-level one that deliv)HY(ers)YH( raw char)HY(ac)HY(ter)YH( content - for the type being parsed. You will seldom need to use this call)HY(back)YH( - directly. Using imple)HY(men)HY(ta)HY(tions)YH( for the built-in parsers provided by - the XSD runtime is usually a simpler and more conve)HY(nient)YH( - alter)HY(na)HY(tive)YH(.)EP( - - )0 P(At this point you might be wonder)HY(ing)YH( why some )SM(post_*\201\202)ES( - call)HY(backs)YH(, for example )SM(post_string\201\202)ES(, return some data - while others, for example )SM(post_gender\201\202)ES(, have - )SM(void)ES( as a return type. This is a valid concern - and it will be addressed in the next chapter.)EP( - - )0 2 13 H(3.2)WB 63 Sn()WB 16 Sn( Imple)HY(ment)HY(ing)YH( the Person Parser)EA()EH( - - )0 P(The gener)HY(ated)YH( )SM(person_pskel)ES( parser skele)HY(ton)YH( looks like - this:)EP( - - ) 43 60 PR(class person_pskel: public xml_schema::complex_content -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre \201\202; - - virtual void - first_name \201const std::string&\202; - - virtual void - last_name \201const std::string&\202; - - virtual void - gender \201\202; - - virtual void - age \201short\202; - - virtual void - post_person \201\202; - - // Parser construction API. - // - void - first_name_parser \201xml_schema::string_pskel&\202; - - void - last_name_parser \201xml_schema::string_pskel&\202; -)WR( - void - gender_parser \201gender_pskel&\202; - - void - age_parser \201xml_schema::short_pskel&\202; - - void - parsers \201xml_schema::string_pskel& /* first-name */, - xml_schema::string_pskel& /* last-name */, - gender_pskel& /* gender */, - xml_schema::short_pskel& /* age */\202; -};)RP( - - - )0 P(As you can see, we have a parser call)HY(back)YH( for each of the nested - elements found in the )SM(person)ES( XML Schema type. - The imple)HY(men)HY(ta)HY(tion)YH( of this parser is straight)HY(for)HY(ward)YH(:)EP( - - ) 21 39 PR(class person_pimpl: public person_pskel -{ -public: - virtual void - first_name \201const std::string& n\202 - { - cout << "first: " << f << endl; - } - - virtual void - last_name \201const std::string& l\202 - { - cout << "last: " << l << endl; - } - - virtual void - age \201short a\202 - { - cout << "age: " << a << endl; - } -};)RP( - - )0 P(Notice that we didn't over)HY(ride)YH( the )SM(gender\201\202)ES( call)HY(back)YH( - because all the print)HY(ing)YH( is done by )SM(gender_pimpl)ES(.)EP( - - - )0 2 14 H(3.3)WB 64 Sn()WB 17 Sn( Imple)HY(ment)HY(ing)YH( the People Parser)EA()EH( - - )0 P(The gener)HY(ated)YH( )SM(people_pskel)ES( parser skele)HY(ton)YH( looks like - this:)EP( - - ) 22 60 PR(class people_pskel: public xml_schema::complex_content -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre \201\202; - - virtual void - person \201\202; - - virtual void - post_people \201\202; - - // Parser construction API. - // - void - person_parser \201person_pskel&\202; - - void - parsers \201person_pskel& /* person */\202; -};)RP( - - )0 P(The )SM(person\201\202)ES( call)HY(back)YH( will be called after parsing each - )SM(person)ES( element. While )SM(person_pimpl)ES( does - all the print)HY(ing)YH(, one useful thing we can do in this call)HY(back)YH( is to - print an extra newline after each person record so that our - output is more read)HY(able)YH(:)EP( - - ) 9 39 PR(class people_pimpl: public people_pskel -{ -public: - virtual void - person \201\202 - { - cout << endl; - } -};)RP( - - )0 P(Now it is time to put every)HY(thing)YH( together.)EP( - - - )0 2 15 H(3.4)WB 65 Sn()WB 18 Sn( Connect)HY(ing)YH( the Parsers Together)EA()EH( - - )0 P(At this point we have all the indi)HY(vid)HY(ual)YH( parsers imple)HY(mented)YH( - and can proceed to assem)HY(ble)YH( them into a complete parser - for our XML vocab)HY(u)HY(lary)YH(. The first step is to instan)HY(ti)HY(ate)YH( - all the indi)HY(vid)HY(ual)YH( parsers that we will need:)EP( - - ) 6 34 PR(xml_schema::short_pimpl short_p; -xml_schema::string_pimpl string_p; - -gender_pimpl gender_p; -person_pimpl person_p; -people_pimpl people_p;)RP( - - )0 P(Notice that our schema uses two built-in XML Schema types: - )SM(string)ES( for the )SM(first-name)ES( and - )SM(last-name)ES( elements as well as )SM(short)ES( - for )SM(age)ES(. We will use prede)HY(fined)YH( parsers that - come with the XSD runtime to handle these types. The next - step is to connect all the indi)HY(vid)HY(ual)YH( parsers. We do this - with the help of func)HY(tions)YH( defined in the parser - skele)HY(tons)YH( and marked with the "Parser Construc)HY(tion)YH( API" - comment. One way to do it is to connect each indi)HY(vid)HY(ual)YH( - parser by calling the )SM(*_parser\201\202)ES( func)HY(tions)YH(:)EP( - - ) 6 38 PR(person_p.first_name_parser \201string_p\202; -person_p.last_name_parser \201string_p\202; -person_p.gender_parser \201gender_p\202; -person_p.age_parser \201short_p\202; - -people_p.person_parser \201person_p\202;)RP( - - )0 P(You might be wonder)HY(ing)YH( what happens if you do not provide - a parser by not calling one of the )SM(*_parser\201\202)ES( func)HY(tions)YH(. - In that case the corre)HY(spond)HY(ing)YH( XML content will be skipped, - includ)HY(ing)YH( vali)HY(da)HY(tion)YH(. This is an effi)HY(cient)YH( way to ignore parts - of the docu)HY(ment)YH( that you are not inter)HY(ested)YH( in.)EP( - - - )0 P(An alter)HY(na)HY(tive)YH(, shorter, way to connect the parsers is by using - the )SM(parsers\201\202)ES( func)HY(tions)YH( which connects all the parsers - for a given type at once:)EP( - - ) 2 57 PR(person_p.parsers \201string_p, string_p, gender_p, short_p\202; -people_p.parsers \201person_p\202;)RP( - - )0 P(The follow)HY(ing)YH( figure illus)HY(trates)YH( the result)HY(ing)YH( connec)HY(tions)YH(. Notice - the corre)HY(spon)HY(dence)YH( between return types of the )SM(post_*\201\202)ES( - func)HY(tions)YH( and argu)HY(ment)YH( types of element call)HY(backs)YH( that are connected - by the arrows.)EP( - - - )2 Al()BR()0 0 IM()Ea()BR( - - )0 P(The last step is the construc)HY(tion)YH( of the docu)HY(ment)YH( parser and - invo)HY(ca)HY(tion)YH( of the complete parser on our sample XML instance:)EP( - - ) 5 48 PR(xml_schema::document doc_p \201people_p, "people"\202; - -people_p.pre \201\202; -doc_p.parse \201"people.xml"\202; -people_p.post_people \201\202;)RP( - - )0 P(Let's consider )SM(xml_schema::docu)HY(ment)YH()ES( in - more detail. While the exact defi)HY(ni)HY(tion)YH( of this class - varies depend)HY(ing)YH( on the under)HY(ly)HY(ing)YH( parser selected, - here is the common part:)EP( - - ) 24 56 PR(namespace xml_schema -{ - class document - { - public: - document \201xml_schema::parser_base&, - const std::string& root_element_name, - bool polymorphic = false\202; - - document \201xml_schema::parser_base&, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false\202; - - void - parse \201const std::string& file\202; - - void - parse \201std::istream&\202; - - ... - - }; -})RP( - - )0 P()SM(xml_schema::docu)HY(ment)YH()ES( is a root parser for - the vocab)HY(u)HY(lary)YH(. The first argu)HY(ment)YH( to its construc)HY(tors)YH( is the - parser for the type of the root element \201)SM(people_impl)ES( - in our case\202. Because a type parser is only concerned with - the element's content and not with the element's name, we need - to specify the root element's name some)HY(where)YH(. That's - what is passed as the second and third argu)HY(ments)YH( to the - )SM(docu)HY(ment)YH()ES('s construc)HY(tors)YH(.)EP( - - )0 P(There are also two over)HY(loaded)YH( )SM(parse\201\202)ES( func)HY(tions)YH( - defined in the )SM(docu)HY(ment)YH()ES( class \201there are actu)HY(ally)YH( - more but the others are specific to the under)HY(ly)HY(ing)YH( XML parser\202. - The first version parses a local file iden)HY(ti)HY(fied)YH( by a name. The - second version reads the data from an input stream. For more - infor)HY(ma)HY(tion)YH( on the )SM(xml_schema::docu)HY(ment)YH()ES( class - refer to )0 44 1 A(Chapter 7, "Docu)HY(ment)YH( Parser and Error - Handling")44 0 TN TL()Ec /AF f D(.)EP( - - )0 P(Let's now consider a step-by-step list of actions that happen - as we parse through )SM(people.xml)ES(. The content of - )SM(people.xml)ES( is repeated below for conve)HY(nience)YH(.)EP( - - ) 15 33 PR(<?xml version="1.0"?> -<people> - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> -</people>)RP( - - - )4 OL( )-1 LI()SM(people_p.pre\201\202)ES( is called from - )SM(main\201\202)ES(. We did not provide any imple)HY(men)HY(ta)HY(tion)YH( - for this call)HY(back)YH( so this call is a no-op. - - )-1 LI()SM(doc_p.parse\201"people.xml"\202)ES( is called from - )SM(main\201\202)ES(. The parser opens the file and starts - parsing its content. - - )-1 LI(The parser encoun)HY(ters)YH( the root element. )SM(doc_p)ES( - veri)HY(fies)YH( that the root element is correct and calls - )SM(_pre\201\202)ES( on )SM(people_p)ES( which is also - a no-op. Parsing is now dele)HY(gated)YH( to )SM(people_p)ES(. - - )-1 LI(The parser encoun)HY(ters)YH( the )SM(person)ES( element. - )SM(people_p)ES( deter)HY(mines)YH( that )SM(person_p)ES( - is respon)HY(si)HY(ble)YH( for parsing this element. )SM(pre\201\202)ES( - and )SM(_pre\201\202)ES( call)HY(backs)YH( are called on )SM(person_p)ES(. - Parsing is now dele)HY(gated)YH( to )SM(person_p)ES(. - - )-1 LI(The parser encoun)HY(ters)YH( the )SM(first-name)ES( element. - )SM(person_p)ES( deter)HY(mines)YH( that )SM(string_p)ES( - is respon)HY(si)HY(ble)YH( for parsing this element. )SM(pre\201\202)ES( - and )SM(_pre\201\202)ES( call)HY(backs)YH( are called on )SM(string_p)ES(. - Parsing is now dele)HY(gated)YH( to )SM(string_p)ES(. - - )-1 LI(The parser encoun)HY(ters)YH( char)HY(ac)HY(ter)YH( content consist)HY(ing)YH( of - )SM("John")ES(. The )SM(_char)HY(ac)HY(ters)YH(\201\202)ES( call)HY(back)YH( is - called on )SM(string_p)ES(. - - )-1 LI(The parser encoun)HY(ters)YH( the end of )SM(first-name)ES( - element. The )SM(_post\201\202)ES( and )SM(post_string\201\202)ES( - call)HY(backs)YH( are called on )SM(string_p)ES(. The - )SM(first_name\201\202)ES( call)HY(back)YH( is called on )SM(person_p)ES( - with the return value of )SM(post_string\201\202)ES(. The - )SM(first_name\201\202)ES( imple)HY(men)HY(ta)HY(tion)YH( prints - )SM("first: John")ES( to )SM(cout)ES(. - Parsing is now returned to )SM(person_p)ES(. - - )-1 LI(Steps anal)HY(o)HY(gous)YH( to 5-7 are performed for the )SM(last-name)ES(, - )SM(gender)ES(, and )SM(age)ES( elements. - - )-1 LI(The parser encoun)HY(ters)YH( the end of )SM(person)ES( - element. The )SM(_post\201\202)ES( and )SM(post_person\201\202)ES( - call)HY(backs)YH( are called on )SM(person_p)ES(. The - )SM(person\201\202)ES( call)HY(back)YH( is called on )SM(people_p)ES(. - The )SM(person\201\202)ES( imple)HY(men)HY(ta)HY(tion)YH( prints a new line - to )SM(cout)ES(. Parsing is now returned to - )SM(people_p)ES(. - - )-1 LI(Steps 4-9 are performed for the second )SM(person)ES( - element. - - )-1 LI(The parser encoun)HY(ters)YH( the end of )SM(people)ES( - element. The )SM(_post\201\202)ES( call)HY(back)YH( is called on - )SM(people_p)ES(. The )SM(doc_p.parse\201"people.xml"\202)ES( - call returns to )SM(main\201\202)ES(. - - )-1 LI()SM(people_p.post_people\201\202)ES( is called from - )SM(main\201\202)ES( which is a no-op. - - )LO( - - - - - - )0 1 16 H(4)WB 66 Sn()WB 19 Sn( Type Maps)EA()EH( - - )0 P(There are many useful things you can do inside parser call)HY(backs)YH( as they - are right now. There are, however, times when you want to prop)HY(a)HY(gate)YH( - some infor)HY(ma)HY(tion)YH( from one parser to another or to the caller of the - parser. One common task that would greatly benefit from such a - possi)HY(bil)HY(ity)YH( is build)HY(ing)YH( a tree-like in-memory object model of the - data stored in XML. During execu)HY(tion)YH(, each indi)HY(vid)HY(ual)YH( sub-parser - would create a sub-tree and return it to its )EM(parent)ES( parser - which can then incor)HY(po)HY(rate)YH( this sub-tree into the whole tree.)EP( - - )0 P(In this chapter we will discuss the mech)HY(a)HY(nisms)YH( offered by the - C++/Parser mapping for return)HY(ing)YH( infor)HY(ma)HY(tion)YH( from indi)HY(vid)HY(ual)YH( - parsers and see how to use them to build an object model - of our people vocab)HY(u)HY(lary)YH(.)EP( - - )0 2 17 H(4.1)WB 67 Sn()WB 20 Sn( Object Model)EA()EH( - - )0 P(An object model for our person record example could - look like this \201saved in the )SM(people.hxx)ES( file\202:)EP( - - ) 53 35 PR(#include <string> -#include <vector> - -enum gender -{ - male, - female -}; - -class person -{ -public: - person \201const std::string& first, - const std::string& last, - ::gender gender, - short age\202 - : first_ \201first\202, last_ \201last\202, - gender_ \201gender\202, age_ \201age\202 - { - } - - const std::string& - first \201\202 const - { - return first_; - } - - const std::string& - last \201\202 const - { - return last_;)WR( - } - - ::gender - gender \201\202 const - { - return gender_; - } - - short - age \201\202 const - { - return age_; - } - -private: - std::string first_; - std::string last_; - ::gender gender_; - short age_; -}; - -typedef std::vector<person> people;)RP( - - )0 P(While it is clear which parser is respon)HY(si)HY(ble)YH( for which part of - the object model, it is not exactly clear how, for - example, )SM(gender_pimpl)ES( will deliver )SM(gender)ES( - to )SM(person_pimpl)ES(. You might have noticed that - )SM(string_pimpl)ES( manages to deliver its value to the - )SM(first_name\201\202)ES( call)HY(back)YH( of )SM(person_pimpl)ES(. Let's - see how we can utilize the same mech)HY(a)HY(nism)YH( to prop)HY(a)HY(gate)YH( our - own data.)EP( - - )0 P(There is a way to tell the XSD compiler that you want to - exchange data between parsers. More precisely, for each - type defined in XML Schema, you can tell the compiler two things. - First, the return type of the )SM(post_*\201\202)ES( call)HY(back)YH( - in the parser skele)HY(ton)YH( gener)HY(ated)YH( for this type. And, second, - the argu)HY(ment)YH( type for call)HY(backs)YH( corre)HY(spond)HY(ing)YH( to elements and - attributes of this type. For example, for XML Schema type - )SM(gender)ES( we can specify the return type for - )SM(post_gender\201\202)ES( in the )SM(gender_pskel)ES( - skele)HY(ton)YH( and the argu)HY(ment)YH( type for the )SM(gender\201\202)ES( call)HY(back)YH( - in the )SM(person_pskel)ES( skele)HY(ton)YH(. As you might have guessed, - the gener)HY(ated)YH( code will then pass the return value from the - )SM(post_*\201\202)ES( call)HY(back)YH( as an argu)HY(ment)YH( to the element or - attribute call)HY(back)YH(.)EP( - - )0 P(The way to tell the XSD compiler about these XML Schema to - C++ mappings is with type map files. Here is a simple type - map for the )SM(gender)ES( type from the previ)HY(ous)YH( para)HY(graph)YH(:)EP( - - ) 2 25 PR(include "people.hxx"; -gender ::gender ::gender;)RP( - - )0 P(The first line indi)HY(cates)YH( that the gener)HY(ated)YH( code must include - )SM(people.hxx)ES( in order to get the defi)HY(ni)HY(tion)YH( for the - )SM(gender)ES( type. The second line spec)HY(i)HY(fies)YH( that both - argu)HY(ment)YH( and return types for the )SM(gender)ES( - XML Schema type should be the )SM(::gender)ES( C++ enum - \201we use fully-qual)HY(i)HY(fied)YH( C++ names to avoid name clashes\202. - The next section will describe the type map format in detail. - We save this type map in )SM(people.map)ES( and - then trans)HY(late)YH( our schemas with the )SM(--type-map)ES( - option to let the XSD compiler know about our type map:)EP( - - ) 1 49 PR($ xsd cxx-parser --type-map people.map people.xsd)RP( - - )0 P(If we now look at the gener)HY(ated)YH( )SM(people-pskel.hxx)ES(, - we will see the follow)HY(ing)YH( changes in the )SM(gender_pskel)ES( and - )SM(person_pskel)ES( skele)HY(tons)YH(:)EP( - - ) 17 59 PR(#include "people.hxx" - -class gender_pskel: public virtual xml_schema::string_pskel -{ - virtual ::gender - post_gender \201\202 = 0; - - ... -}; - -class person_pskel: public xml_schema::complex_content -{ - virtual void - gender \201::gender\202; - - ... -};)RP( - - )0 P(Notice that )SM(#include "people.hxx")ES( was added to - the gener)HY(ated)YH( header file from the type map to provide the - defi)HY(ni)HY(tion)YH( for the )SM(gender)ES( enum.)EP( - - )0 2 18 H(4.2)WB 68 Sn()WB 21 Sn( Type Map File Format)EA()EH( - - )0 P(Type map files are used to define a mapping between XML Schema - and C++ types. The compiler uses this infor)HY(ma)HY(tion)YH( - to deter)HY(mine)YH( return types of )SM(post_*\201\202)ES( - call)HY(backs)YH( in parser skele)HY(tons)YH( corre)HY(spond)HY(ing)YH( to XML Schema - types as well as argu)HY(ment)YH( types for call)HY(backs)YH( corre)HY(spond)HY(ing)YH( - to elements and attributes of these types.)EP( - - )0 P(The compiler has a set of prede)HY(fined)YH( mapping rules that map - the built-in XML Schema types to suit)HY(able)YH( C++ types \201discussed - below\202 and all other types to )SM(void)ES(. - By provid)HY(ing)YH( your own type maps you can over)HY(ride)YH( these prede)HY(fined)YH( - rules. The format of the type map file is presented below: - )EP( - - ) 5 58 PR(namespace <schema-namespace> [<cxx-namespace>] -{ - \201include <file-name>;\202* - \201[type] <schema-type> <cxx-ret-type> [<cxx-arg-type>];\202* -})RP( - - )0 P(Both )SM()I(<schema-names)HY(pace)YH(>)ES()ES( and - )SM()I(<schema-type>)ES()ES( are regex patterns while - )SM()I(<cxx-names)HY(pace)YH(>)ES()ES(, - )SM()I(<cxx-ret-type>)ES()ES(, and - )SM()I(<cxx-arg-type>)ES()ES( are regex pattern - substi)HY(tu)HY(tions)YH(. All names can be option)HY(ally)YH( enclosed in - )SM(" ")ES(, for example, to include white-spaces.)EP( - - )0 P()SM()I(<schema-names)HY(pace)YH(>)ES()ES( deter)HY(mines)YH( XML - Schema names)HY(pace)YH(. Optional )SM()I(<cxx-names)HY(pace)YH(>)ES()ES( - is prefixed to every C++ type name in this names)HY(pace)YH( decla)HY(ra)HY(tion)YH(. - )SM()I(<cxx-ret-type>)ES()ES( is a C++ type name that is - used as a return type for the )SM(post_*\201\202)ES( call)HY(back)YH(. - Optional )SM()I(<cxx-arg-type>)ES()ES( is an argu)HY(ment)YH( - type for call)HY(backs)YH( corre)HY(spond)HY(ing)YH( to elements and attributes - of this type. If )SM()I(<cxx-arg-type>)ES()ES( is not - spec)HY(i)HY(fied)YH(, it defaults to )SM()I(<cxx-ret-type>)ES()ES( - if )SM()I(<cxx-ret-type>)ES()ES( ends with )SM(*)ES( or - )SM(&)ES( \201that is, it is a pointer or a refer)HY(ence)YH(\202 and - )SM(const\240)I(<cxx-ret-type>)ES(&)ES( - other)HY(wise)YH(. - )SM()I(<file-name>)ES()ES( is a file name either in the - )SM(" ")ES( or )SM(< >)ES( format - and is added with the )SM(#include)ES( direc)HY(tive)YH( to - the gener)HY(ated)YH( code.)EP( - - )0 P(The )SM()BD(#)ES()ES( char)HY(ac)HY(ter)YH( starts a comment that ends - with a new line or end of file. To specify a name that contains - )SM()BD(#)ES()ES( enclose it in )SM()BD(" ")ES()ES(. - For example:)EP( - - ) 12 44 PR(namespace http://www.example.com/xmlns/my my -{ - include "my.hxx"; - - # Pass apples by value. - # - apple apple; - - # Pass oranges as pointers. - # - orange orange_t*; -})RP( - - )0 P(In the example above, for the - )SM(http://www.example.com/xmlns/my#orange)ES( - XML Schema type, the )SM(my::orange_t*)ES( C++ type will - be used as both return and argu)HY(ment)YH( types.)EP( - - )0 P(Several names)HY(pace)YH( decla)HY(ra)HY(tions)YH( can be spec)HY(i)HY(fied)YH( in a single - file. The names)HY(pace)YH( decla)HY(ra)HY(tion)YH( can also be completely - omitted to map types in a schema without a names)HY(pace)YH(. For - instance:)EP( - - ) 7 41 PR(include "my.hxx"; -apple apple; - -namespace http://www.example.com/xmlns/my -{ - orange "const orange_t*"; -})RP( - - )0 P(The compiler has a number of prede)HY(fined)YH( mapping rules for - the built-in XML Schema types which can be presented as the - follow)HY(ing)YH( map files. The string-based XML Schema types are - mapped to either )SM(std::string)ES( or - )SM(std::wstring)ES( depend)HY(ing)YH( on the char)HY(ac)HY(ter)YH( type - selected \201see )0 25 1 A( Section 5.2, "Char)HY(ac)HY(ter)YH( Type and - Encod)HY(ing)YH(")25 0 TN TL()Ec /AF f D( for more infor)HY(ma)HY(tion)YH(\202. The binary XML Schema - types are mapped to either )SM(std::auto_ptr<xml_schema::buffer>)ES( - or )SM(std::unique_ptr<xml_schema::buffer>)ES( - depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected \201C++98 or C++11, - respec)HY(tively)YH(; refer to the )SM(--std)ES( XSD compiler - command line option for details\202.)EP( - - ) 59 63 PR(namespace http://www.w3.org/2001/XMLSchema -{ - boolean bool bool; - - byte "signed char" "signed char"; - unsignedByte "unsigned char" "unsigned char"; - - short short short; - unsignedShort "unsigned short" "unsigned short"; - - int int int; - unsignedInt "unsigned int" "unsigned int"; - - long "long long" "long long"; - unsignedLong "unsigned long long" "unsigned long long"; - - integer "long long" "long long"; - - negativeInteger "long long" "long long"; - nonPositiveInteger "long long" "long long"; - - positiveInteger "unsigned long long" "unsigned long long"; - nonNegativeInteger "unsigned long long" "unsigned long long"; - - float float float; - double double double; - decimal double double; - - string std::string; - normalizedString std::string; - token std::string;)WR( - Name std::string; - NMTOKEN std::string; - NCName std::string; - ID std::string; - IDREF std::string; - language std::string; - anyURI std::string; - - NMTOKENS xml_schema::string_sequence; - IDREFS xml_schema::string_sequence; - - QName xml_schema::qname; - - base64Binary std::[auto|unique]_ptr<xml_schema::buffer> - std::[auto|unique]_ptr<xml_schema::buffer>; - hexBinary std::[auto|unique]_ptr<xml_schema::buffer> - std::[auto|unique]_ptr<xml_schema::buffer>; - - date xml_schema::date; - dateTime xml_schema::date_time; - duration xml_schema::duration; - gDay xml_schema::gday; - gMonth xml_schema::gmonth; - gMonthDay xml_schema::gmonth_day; - gYear xml_schema::gyear; - gYearMonth xml_schema::gyear_month; - time xml_schema::time; -})RP( - - )0 P(For more infor)HY(ma)HY(tion)YH( about the mapping of the built-in XML Schema types - to C++ types refer to )0 29 1 A(Chapter 6, "Built-In XML Schema Type - Parsers")29 0 TN TL()Ec /AF f D(. The last prede)HY(fined)YH( rule maps anything that wasn't - mapped by previ)HY(ous)YH( rules to )SM(void)ES(:)EP( - - ) 4 15 PR(namespace .* -{ - .* void void; -})RP( - - - )0 P(When you provide your own type maps with the - )SM(--type-map)ES( option, they are eval)HY(u)HY(ated)YH( first. This - allows you to selec)HY(tively)YH( over)HY(ride)YH( any of the prede)HY(fined)YH( rules. - Note also that if you change the mapping - of a built-in XML Schema type then it becomes your respon)HY(si)HY(bil)HY(ity)YH( - to provide the corre)HY(spond)HY(ing)YH( parser skele)HY(ton)YH( and imple)HY(men)HY(ta)HY(tion)YH( - in the )SM(xml_schema)ES( names)HY(pace)YH(. You can include the - custom defi)HY(ni)HY(tions)YH( into the gener)HY(ated)YH( header file using the - )SM(--hxx-prologue-*)ES( options.)EP( - - )0 2 19 H(4.3)WB 69 Sn()WB 22 Sn( Parser Imple)HY(men)HY(ta)HY(tions)YH()EA()EH( - - )0 P(With the knowl)HY(edge)YH( from the previ)HY(ous)YH( section, we can proceed - with creat)HY(ing)YH( a type map that maps types in the )SM(people.xsd)ES( - schema to our object model classes in - )SM(people.hxx)ES(. In fact, we already have the begin)HY(ning)YH( - of our type map file in )SM(people.map)ES(. Let's extend - it with the rest of the types:)EP( - - ) 5 25 PR(include "people.hxx"; - -gender ::gender ::gender; -person ::person; -people ::people;)RP( - - )0 P(There are a few things to note about this type map. We did not - provide the argu)HY(ment)YH( types for )SM(person)ES( and - )SM(people)ES( because the default constant refer)HY(ence)YH( is - exactly what we need. We also did not provide any mappings - for built-in XML Schema types )SM(string)ES( and - )SM(short)ES( because they are handled by the prede)HY(fined)YH( - rules and we are happy with the result. Note also that - all C++ types are fully qual)HY(i)HY(fied)YH(. This is done to avoid - poten)HY(tial)YH( name conflicts in the gener)HY(ated)YH( code. Now we can - recom)HY(pile)YH( our schema and move on to imple)HY(ment)HY(ing)YH( the parsers:)EP( - - ) 1 68 PR($ xsd cxx-parser --xml-parser expat --type-map people.map people.xsd)RP( - - )0 P(Here is the imple)HY(men)HY(ta)HY(tion)YH( of our three parsers in full. One - way to save typing when imple)HY(ment)HY(ing)YH( your own parsers is - to open the gener)HY(ated)YH( code and copy the signa)HY(tures)YH( of parser - call)HY(backs)YH( into your code. Or you could always auto gener)HY(ate)YH( the - sample imple)HY(men)HY(ta)HY(tions)YH( and fill them with your code.)EP( - - - ) 73 52 PR(#include "people-pskel.hxx" - -class gender_pimpl: public gender_pskel, - public xml_schema::string_pimpl -{ -public: - virtual ::gender - post_gender \201\202 - { - return post_string \201\202 == "male" ? male : female; - } -}; - -class person_pimpl: public person_pskel -{ -public: - virtual void - first_name \201const std::string& f\202 - { - first_ = f; - } - - virtual void - last_name \201const std::string& l\202 - { - last_ = l; - } - - virtual void - gender \201::gender g\202 - {)WR( - gender_ = g; - } - - virtual void - age \201short a\202 - { - age_ = a; - } - - virtual ::person - post_person \201\202 - { - return ::person \201first_, last_, gender_, age_\202; - } - -private: - std::string first_; - std::string last_; - ::gender gender_; - short age_; -}; - -class people_pimpl: public people_pskel -{ -public: - virtual void - person \201const ::person& p\202 - { - people_.push_back \201p\202; - })WR( - - virtual ::people - post_people \201\202 - { - ::people r; - r.swap \201people_\202; - return r; - } - -private: - ::people people_; -};)RP( - - )0 P(This code frag)HY(ment)YH( should look famil)HY(iar)YH( by now. Just note that - all the )SM(post_*\201\202)ES( call)HY(backs)YH( now have return types instead - of )SM(void)ES(. Here is the imple)HY(men)HY(ta)HY(tion)YH( of the test - driver for this example:)EP( - - ) 38 76 PR(#include <iostream> - -using namespace std; - -int -main \201int argc, char* argv[]\202 -{ - // Construct the parser. - // - xml_schema::short_pimpl short_p; - xml_schema::string_pimpl string_p; - - gender_pimpl gender_p; - person_pimpl person_p; - people_pimpl people_p; - - person_p.parsers \201string_p, string_p, gender_p, short_p\202; - people_p.parsers \201person_p\202; - - // Parse the document to obtain the object model. - // - xml_schema::document doc_p \201people_p, "people"\202; - - people_p.pre \201\202; - doc_p.parse \201argv[1]\202; - people ppl = people_p.post_people \201\202; - - // Print the object model. - // - for \201people::iterator i \201ppl.begin \201\202\202; i != ppl.end \201\202; ++i\202 - {)WR( - cout << "first: " << i->first \201\202 << endl - << "last: " << i->last \201\202 << endl - << "gender: " << \201i->gender \201\202 == male ? "male" : "female"\202 << endl - << "age: " << i->age \201\202 << endl - << endl; - } -})RP( - - )0 P(The parser creation and assem)HY(bly)YH( part is exactly the same as in - the previ)HY(ous)YH( chapter. The parsing part is a bit differ)HY(ent)YH(: - )SM(post_people\201\202)ES( now has a return value which is the - complete object model. We store it in the - )SM(ppl)ES( vari)HY(able)YH(. The last bit of the code simply iter)HY(ates)YH( - over the )SM(people)ES( vector and prints the infor)HY(ma)HY(tion)YH( - for each person. We save the last two code frag)HY(ments)YH( to - )SM(driver.cxx)ES( and proceed to compile and test - our new appli)HY(ca)HY(tion)YH(:)EP( - - - ) 12 49 PR($ c++ -I.../libxsd -c driver.cxx people-pskel.cxx -$ c++ -o driver driver.o people-pskel.o -lexpat -$ ./driver people.xml -first: John -last: Doe -gender: male -age: 32 - -first: Jane -last: Doe -gender: female -age: 28)RP( - - - - - - )0 1 20 H(5)WB 70 Sn()WB 23 Sn( Mapping Config)HY(u)HY(ra)HY(tion)YH()EA()EH( - - )0 P(The C++/Parser mapping has a number of config)HY(u)HY(ra)HY(tion)YH( param)HY(e)HY(ters)YH( that - deter)HY(mine)YH( the overall prop)HY(er)HY(ties)YH( and behav)HY(ior)YH( of the gener)HY(ated)YH( code. - Config)HY(u)HY(ra)HY(tion)YH( param)HY(e)HY(ters)YH( are spec)HY(i)HY(fied)YH( with the XSD command line - options and include the C++ stan)HY(dard)YH(, the char)HY(ac)HY(ter)YH( type that is used - by the gener)HY(ated)YH( code, the under)HY(ly)HY(ing)YH( XML parser, whether the XML Schema - vali)HY(da)HY(tion)YH( is performed in the gener)HY(ated)YH( code, and support for XML Schema - poly)HY(mor)HY(phism)YH(. This chapter describes these config)HY(u)HY(ra)HY(tion)YH( - param)HY(e)HY(ters)YH( in more detail. For more ways to config)HY(ure)YH( the gener)HY(ated)YH( - code refer to the - )R1 2 A(XSD - Compiler Command Line Manual)EA(. - )EP( - - )0 2 21 H(5.1)WB 71 Sn()WB 24 Sn( C++ Stan)HY(dard)YH()EA()EH( - - )0 P(The C++/Parser mapping provides support for ISO/IEC C++ 1998/2003 \201C++98\202 - and ISO/IEC C++ 2011 \201C++11\202. To select the C++ stan)HY(dard)YH( for the - gener)HY(ated)YH( code we use the )SM(--std)ES( XSD compiler command - line option. While the major)HY(ity)YH( of the exam)HY(ples)YH( in this guide use - C++98, support for the new func)HY(tion)HY(al)HY(ity)YH( and library compo)HY(nents)YH( - intro)HY(duced)YH( in C++11 are discussed through)HY(out)YH( the docu)HY(ment)YH(.)EP( - - )0 2 22 H(5.2)WB 72 Sn()WB 25 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()EA()EH( - - )0 P(The C++/Parser mapping has built-in support for two char)HY(ac)HY(ter)YH( types: - )SM(char)ES( and )SM(wchar_t)ES(. You can select the - char)HY(ac)HY(ter)YH( type with the )SM(--char-type)ES( command line - option. The default char)HY(ac)HY(ter)YH( type is )SM(char)ES(. The - string-based built-in XML Schema types are returned as either - )SM(std::string)ES( or )SM(std::wstring)ES( depend)HY(ing)YH( - on the char)HY(ac)HY(ter)YH( type selected.)EP( - - )0 P(Another aspect of the mapping that depends on the char)HY(ac)HY(ter)YH( type - is char)HY(ac)HY(ter)YH( encod)HY(ing)YH(. For the )SM(char)ES( char)HY(ac)HY(ter)YH( type - the default encod)HY(ing)YH( is UTF-8. Other supported encod)HY(ings)YH( are - ISO-8859-1, Xerces-C++ Local Code Page \201LPC\202, as well as - custom encod)HY(ings)YH(. You can select which encod)HY(ing)YH( should be used - in the object model with the )SM(--char-encod)HY(ing)YH()ES( command - line option.)EP( - - )0 P(For the )SM(wchar_t)ES( char)HY(ac)HY(ter)YH( type the encod)HY(ing)YH( is - auto)HY(mat)HY(i)HY(cally)YH( selected between UTF-16 and UTF-32/UCS-4 depend)HY(ing)YH( - on the size of the )SM(wchar_t)ES( type. On some plat)HY(forms)YH( - \201for example, Windows with Visual C++ and AIX with IBM XL C++\202 - )SM(wchar_t)ES( is 2 bytes long. For these plat)HY(forms)YH( the - encod)HY(ing)YH( is UTF-16. On other plat)HY(forms)YH( )SM(wchar_t)ES( is 4 bytes - long and UTF-32/UCS-4 is used.)EP( - - )0 P(Note also that the char)HY(ac)HY(ter)YH( encod)HY(ing)YH( that is used in the object model - is inde)HY(pen)HY(dent)YH( of the encod)HY(ings)YH( used in input and output XML. In fact, - all three \201object mode, input XML, and output XML\202 can have differ)HY(ent)YH( - encod)HY(ings)YH(.)EP( - - )0 2 23 H(5.3)WB 73 Sn()WB 26 Sn( Under)HY(ly)HY(ing)YH( XML Parser)EA()EH( - - )0 P(The C++/Parser mapping can be used with either Xerces-C++ or Expat - as the under)HY(ly)HY(ing)YH( XML parser. You can select the XML parser with - the )SM(--xml-parser)ES( command line option. Valid values - for this option are )SM(xerces)ES( and )SM(expat)ES(. - The default XML parser is Xerces-C++.)EP( - - )0 P(The gener)HY(ated)YH( code is iden)HY(ti)HY(cal)YH( for both parsers except for the - )SM(xml_schema::docu)HY(ment)YH()ES( class in which some of the - )SM(parse\201\202)ES( func)HY(tions)YH( are parser-specific as described - in )0 44 1 A(Chapter 7, "Docu)HY(ment)YH( Parser and Error Handling")44 0 TN TL()Ec /AF f D(.)EP( - - - )0 2 24 H(5.4)WB 74 Sn()WB 27 Sn( XML Schema Vali)HY(da)HY(tion)YH()EA()EH( - - )0 P(The C++/Parser mapping provides support for vali)HY(dat)HY(ing)YH( a - commonly-used subset of W3C XML Schema in the gener)HY(ated)YH( code. - For the list of supported XML Schema constructs refer to - )0 48 1 A(Appendix A, "Supported XML Schema Constructs")48 0 TN TL()Ec /AF f D(.)EP( - - )0 P(By default vali)HY(da)HY(tion)YH( in the gener)HY(ated)YH( code is disabled if - the under)HY(ly)HY(ing)YH( XML parser is vali)HY(dat)HY(ing)YH( \201Xerces-C++\202 and - enabled other)HY(wise)YH( \201Expat\202. See )0 26 1 A(Section 5.3, - "Under)HY(ly)HY(ing)YH( XML Parser")26 0 TN TL()Ec /AF f D( for more infor)HY(ma)HY(tion)YH( about - the under)HY(ly)HY(ing)YH( XML parser. You can over)HY(ride)YH( the default - behav)HY(ior)YH( with the )SM(--gener)HY(ate)YH(-vali)HY(da)HY(tion)YH()ES( - and )SM(--suppress-vali)HY(da)HY(tion)YH()ES( command line options.)EP( - - - )0 2 25 H(5.5)WB 75 Sn()WB 28 Sn( Support for Poly)HY(mor)HY(phism)YH()EA()EH( - - )0 P(By default the XSD compiler gener)HY(ates)YH( non-poly)HY(mor)HY(phic)YH( code. If your - vocab)HY(u)HY(lary)YH( uses XML Schema poly)HY(mor)HY(phism)YH( in the form of )SM(xsi:type)ES( - and/or substi)HY(tu)HY(tion)YH( groups, then you will need to compile your schemas - with the )SM(--gener)HY(ate)YH(-poly)HY(mor)HY(phic)YH()ES( option to produce - poly)HY(mor)HY(phism)YH(-aware code as well as pass )SM(true)ES( as the last - argu)HY(ment)YH( to the )SM(xml_schema::docu)HY(ment)YH()ES('s construc)HY(tors)YH(.)EP( - - )0 P(When using the poly)HY(mor)HY(phism)YH(-aware gener)HY(ated)YH( code, you can specify - several parsers for a single element by passing a parser map - instead of an indi)HY(vid)HY(ual)YH( parser to the parser connec)HY(tion)YH( func)HY(tion)YH( - for the element. One of the parsers will then be looked up and used - depend)HY(ing)YH( on the )SM(xsi:type)ES( attribute value or an element - name from a substi)HY(tu)HY(tion)YH( group. Consider the follow)HY(ing)YH( schema as an - example:)EP( - - ) 44 62 PR(<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="person"> - <xs:sequence> - <xs:element name="name" type="xs:string"/> - </xs:sequence> - </xs:complexType> - - <!-- substitution group root --> - <xs:element name="person" type="person"/> - - <xs:complexType name="superman"> - <xs:complexContent> - <xs:extension base="person"> - <xs:attribute name="can-fly" type="xs:boolean"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="superman" - type="superman" - substitutionGroup="person"/> - - <xs:complexType name="batman"> - <xs:complexContent> - <xs:extension base="superman"> - <xs:attribute name="wing-span" type="xs:unsignedInt"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> -)WR( - <xs:element name="batman" - type="batman" - substitutionGroup="superman"/> - - <xs:complexType name="supermen"> - <xs:sequence> - <xs:element ref="person" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="supermen" type="supermen"/> - -</xs:schema>)RP( - - )0 P(Conform)HY(ing)YH( XML docu)HY(ments)YH( can use the )SM(super)HY(man)YH()ES( - and )SM(batman)ES( types in place of the )SM(person)ES( - type either by spec)HY(i)HY(fy)HY(ing)YH( the type with the )SM(xsi:type)ES( - attributes or by using the elements from the substi)HY(tu)HY(tion)YH( - group, for instance:)EP( - - - ) 15 64 PR(<supermen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - - <person> - <name>John Doe</name> - </person> - - <superman can-fly="false"> - <name>James "007" Bond</name> - </superman> - - <superman can-fly="true" wing-span="10" xsi:type="batman"> - <name>Bruce Wayne</name> - </superman> - -</supermen>)RP( - - )0 P(To print the data stored in such XML docu)HY(ments)YH( we can imple)HY(ment)YH( - the parsers as follows:)EP( - - ) 79 52 PR(class person_pimpl: public virtual person_pskel -{ -public: - virtual void - pre \201\202 - { - cout << "starting to parse person" << endl; - } - - virtual void - name \201const std::string& v\202 - { - cout << "name: " << v << endl; - } - - virtual void - post_person \201\202 - { - cout << "finished parsing person" << endl; - } -}; - -class superman_pimpl: public virtual superman_pskel, - public person_pimpl -{ -public: - virtual void - pre \201\202 - { - cout << "starting to parse superman" << endl; - })WR( - - virtual void - can_fly \201bool v\202 - { - cout << "can-fly: " << v << endl; - } - - virtual void - post_person \201\202 - { - post_superman \201\202; - } - - virtual void - post_superman \201\202 - { - cout << "finished parsing superman" << endl - } -}; - -class batman_pimpl: public virtual batman_pskel, - public superman_pimpl -{ -public: - virtual void - pre \201\202 - { - cout << "starting to parse batman" << endl; - } -)WR( - virtual void - wing_span \201unsigned int v\202 - { - cout << "wing-span: " << v << endl; - } - - virtual void - post_superman \201\202 - { - post_batman \201\202; - } - - virtual void - post_batman \201\202 - { - cout << "finished parsing batman" << endl; - } -};)RP( - - )0 P(Note that because the derived type parsers \201)SM(super)HY(man)YH(_pskel)ES( - and )SM(batman_pskel)ES(\202 are called via the )SM(person_pskel)ES( - inter)HY(face)YH(, we have to over)HY(ride)YH( the )SM(post_person\201\202)ES( - virtual func)HY(tion)YH( in )SM(super)HY(man)YH(_pimpl)ES( to call - )SM(post_super)HY(man)YH(\201\202)ES( and the )SM(post_super)HY(man)YH(\201\202)ES( - virtual func)HY(tion)YH( in )SM(batman_pimpl)ES( to call - )SM(post_batman\201\202)ES(.)EP( - - )0 P(The follow)HY(ing)YH( code frag)HY(ment)YH( shows how to connect the parsers together. - Notice that for the )SM(person)ES( element in the )SM(super)HY(men)YH(_p)ES( - parser we specify a parser map instead of a specific parser and we pass - )SM(true)ES( as the last argu)HY(ment)YH( to the docu)HY(ment)YH( parser construc)HY(tor)YH( - to indi)HY(cate)YH( that we are parsing poten)HY(tially)YH(-poly)HY(mor)HY(phic)YH( XML docu)HY(ments)YH(:)EP( - - ) 39 64 PR(int -main \201int argc, char* argv[]\202 -{ - // Construct the parser. - // - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - xml_schema::unsigned_int_pimpl unsigned_int_p; - - person_pimpl person_p; - superman_pimpl superman_p; - batman_pimpl batman_p; - - xml_schema::parser_map_impl person_map; - supermen_pimpl supermen_p; - - person_p.parsers \201string_p\202; - superman_p.parsers \201string_p, boolean_p\202; - batman_p.parsers \201string_p, boolean_p, unsigned_int_p\202; - - // Here we are specifying a parser map which containes several - // parsers that can be used to parse the person element. - // - person_map.insert \201person_p\202; - person_map.insert \201superman_p\202; - person_map.insert \201batman_p\202; - - supermen_p.person_parser \201person_map\202; - - // Parse the XML document. The last argument to the document's - // constructor indicates that we are parsing polymorphic XML)WR( - // documents. - // - xml_schema::document doc_p \201supermen_p, "supermen", true\202; - - supermen_p.pre \201\202; - doc_p.parse \201argv[1]\202; - supermen_p.post_supermen \201\202; -})RP( - - )0 P(When poly)HY(mor)HY(phism)YH(-aware code is gener)HY(ated)YH(, each element's - )SM(*_parser\201\202)ES( func)HY(tion)YH( is over)HY(loaded)YH( to also accept - an object of the )SM(xml_schema::parser_map)ES( type. - For example, the )SM(super)HY(men)YH(_pskel)ES( class from the - above example looks like this:)EP( - - ) 21 63 PR(class supermen_pskel: public xml_schema::parser_complex_content -{ -public: - - ... - - // Parser construction API. - // - void - parsers \201person_pskel&\202; - - // Individual element parsers. - // - void - person_parser \201person_pskel&\202; - - void - person_parser \201const xml_schema::parser_map&\202; - - ... -};)RP( - - )0 P(Note that you can specify both the indi)HY(vid)HY(ual)YH( \201static\202 parser and - the parser map. The indi)HY(vid)HY(ual)YH( parser will be used when the static - element type and the dynamic type of the object being parsed are - the same. This is the case, for example, when there is no - )SM(xsi:type)ES( attribute and the element hasn't been - substi)HY(tuted)YH(. Because the indi)HY(vid)HY(ual)YH( parser for an element is - cached and no map lookup is neces)HY(sary)YH(, it makes sense to specify - both the indi)HY(vid)HY(ual)YH( parser and the parser map when most of the - objects being parsed are of the static type and optimal - perfor)HY(mance)YH( is impor)HY(tant)YH(. The follow)HY(ing)YH( code frag)HY(ment)YH( shows - how to change the above example to set both the indi)HY(vid)HY(ual)YH( - parser and the parser map:)EP( - - ) 13 40 PR(int -main \201int argc, char* argv[]\202 -{ - ... - - person_map.insert \201superman_p\202; - person_map.insert \201batman_p\202; - - supermen_p.person_parser \201person_p\202; - supermen_p.person_parser \201person_map\202; - - ... -})RP( - - - )0 P(The )SM(xml_schema::parser_map)ES( inter)HY(face)YH( and the - )SM(xml_schema::parser_map_impl)ES( default imple)HY(men)HY(ta)HY(tion)YH( - are presented below:)EP( - - ) 27 45 PR(namespace xml_schema -{ - class parser_map - { - public: - virtual parser_base* - find \201const ro_string* type\202 const = 0; - }; - - class parser_map_impl: public parser_map - { - public: - void - insert \201parser_base&\202; - - virtual parser_base* - find \201const ro_string* type\202 const; - - private: - parser_map_impl \201const parser_map_impl&\202; - - parser_map_impl& - operator= \201const parser_map_impl&\202; - - ... - }; -})RP( - - )0 P(The )SM(type)ES( argu)HY(ment)YH( in the )SM(find\201\202)ES( virtual - func)HY(tion)YH( is the type name and names)HY(pace)YH( from the xsi:type attribute - \201the names)HY(pace)YH( prefix is resolved to the actual XML names)HY(pace)YH(\202 - or the type of an element from the substi)HY(tu)HY(tion)YH( group in the form - )SM("<name>\240<names)HY(pace)YH(>")ES( with the space and the - names)HY(pace)YH( part absent if the type does not have a names)HY(pace)YH(. - You can obtain a parser's dynamic type in the same format - using the )SM(_dynamic_type\201\202)ES( func)HY(tion)YH(. The static - type can be obtained by calling the static )SM(_static_type\201\202)ES( - func)HY(tion)YH(, for example )SM(person_pskel::_static_type\201\202)ES(. - Both func)HY(tions)YH( return a C string \201)SM(const char*)ES( or - )SM(const wchar_t*)ES(, depend)HY(ing)YH( on the char)HY(ac)HY(ter)YH( type - used\202 which is valid for as long as the appli)HY(ca)HY(tion)YH( is running. - The follow)HY(ing)YH( example shows how we can imple)HY(ment)YH( our own parser - map using )SM(std::map)ES(:)EP( - - - ) 23 62 PR(#include <map> -#include <string> - -class parser_map: public xml_schema::parser_map -{ -public: - void - insert \201xml_schema::parser_base& p\202 - { - map_[p._dynamic_type \201\202] = &p; - } - - virtual xml_schema::parser_base* - find \201const xml_schema::ro_string* type\202 const - { - map::const_iterator i = map_.find \201type\202; - return i != map_.end \201\202 ? i->second : 0; - } - -private: - typedef std::map<std::string, xml_schema::parser_base*> map; - map map_; -};)RP( - - )0 P(Most of code presented in this section is taken from the - )SM(poly)HY(mor)HY(phism)YH()ES( example which can be found in the - )SM(exam)HY(ples)YH(/cxx/parser/)ES( direc)HY(tory)YH( of the XSD distri)HY(bu)HY(tion)YH(. - Handling of )SM(xsi:type)ES( and substi)HY(tu)HY(tion)YH( groups when used - on root elements requires a number of special actions as shown in - the )SM(poly)HY(root)YH()ES( example.)EP( - - - - - - )0 1 26 H(6)WB 76 Sn()WB 29 Sn( Built-In XML Schema Type Parsers)EA()EH( - - )0 P(The XSD runtime provides parser imple)HY(men)HY(ta)HY(tions)YH( for all built-in - XML Schema types as summa)HY(rized)YH( in the follow)HY(ing)YH( table. Decla)HY(ra)HY(tions)YH( - for these types are auto)HY(mat)HY(i)HY(cally)YH( included into each gener)HY(ated)YH( - header file. As a result you don't need to include any headers - to gain access to these parser imple)HY(men)HY(ta)HY(tions)YH(. Note that some - parsers return either )SM(std::string)ES( or - )SM(std::wstring)ES( depend)HY(ing)YH( on the char)HY(ac)HY(ter)YH( type selected.)EP( - - - )0 PT( - - )0 2 27 H(6.1)WB 77 Sn()WB 31 Sn( )SM(QName)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(qname_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::qname)ES( which repre)HY(sents)YH( an XML qual)HY(i)HY(fied)YH( - name. Its inter)HY(face)YH( is presented below. - Note that the )SM(std::string)ES( type in the inter)HY(face)YH( becomes - )SM(std::wstring)ES( if the selected char)HY(ac)HY(ter)YH( type is - )SM(wchar_t)ES(.)EP( - - ) 28 63 PR(namespace xml_schema -{ - class qname - { - public: - explicit - qname \201const std::string& name\202; - qname \201const std::string& prefix, const std::string& name\202; - - const std::string& - prefix \201\202 const; - - void - prefix \201const std::string&\202; - - const std::string& - name \201\202 const; - - void - name \201const std::string&\202; - }; - - bool - operator== \201const qname&, const qname&\202; - - bool - operator!= \201const qname&, const qname&\202; -})RP( - - - )0 2 28 H(6.2)WB 78 Sn()WB 32 Sn( )SM(NMTO)HY(KENS)YH()ES( and )SM(IDREFS)ES( Parsers)EA()EH( - - )0 P(The return type of the )SM(nmto)HY(kens)YH(_pimpl)ES( and - )SM(idrefs_pimpl)ES( parser imple)HY(men)HY(ta)HY(tions)YH( is - )SM(xml_schema::string_sequence)ES( which repre)HY(sents)YH( a - sequence of strings. Its inter)HY(face)YH( is presented below. - Note that the )SM(std::string)ES( type in the inter)HY(face)YH( becomes - )SM(std::wstring)ES( if the selected char)HY(ac)HY(ter)YH( type is - )SM(wchar_t)ES(.)EP( - - ) 21 62 PR(namespace xml_schema -{ - class string_sequence: public std::vector<std::string> - { - public: - string_sequence \201\202; - - explicit - string_sequence \201std::vector<std::string>::size_type n, - const std::string& x = std::string \201\202\202; - - template <typename I> - string_sequence \201const I& begin, const I& end\202; - }; - - bool - operator== \201const string_sequence&, const string_sequence&\202; - - bool - operator!= \201const string_sequence&, const string_sequence&\202; -})RP( - - - )0 2 29 H(6.3)WB 79 Sn()WB 33 Sn( )SM(base64Binary)ES( and )SM(hexBi)HY(nary)YH()ES( Parsers)EA()EH( - - )0 P(The return type of the )SM(base64_binary_pimpl)ES( and - )SM(hex_binary_pimpl)ES( parser imple)HY(men)HY(ta)HY(tions)YH( is either - )SM(std::auto_ptr<xml_schema::buffer>)ES( \201C++98\202 or - )SM(std::unique_ptr<xml_schema::buffer>)ES( \201C++11\202, - depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected \201)SM(--std)ES( XSD - compiler option\202. The )SM(xml_schema::buffer)ES( type - repre)HY(sents)YH( a binary buffer and its inter)HY(face)YH( is presented below.)EP( - - ) 69 60 PR(namespace xml_schema -{ - class buffer - { - public: - typedef std::size_t size_t; - - class bounds {}; // Out of bounds exception. - - public: - explicit - buffer \201size_t size = 0\202; - buffer \201size_t size, size_t capacity\202; - buffer \201const void* data, size_t size\202; - buffer \201const void* data, size_t size, size_t capacity\202; - buffer \201void* data, - size_t size, - size_t capacity, - bool assume_ownership\202; - - public: - buffer \201const buffer&\202; - - buffer& - operator= \201const buffer&\202; - - void - swap \201buffer&\202; - - public: - size_t)WR( - capacity \201\202 const; - - bool - capacity \201size_t\202; - - public: - size_t - size \201\202 const; - - bool - size \201size_t\202; - - public: - const char* - data \201\202 const; - - char* - data \201\202; - - const char* - begin \201\202 const; - - char* - begin \201\202; - - const char* - end \201\202 const; - - char* - end \201\202;)WR( - }; - - bool - operator== \201const buffer&, const buffer&\202; - - bool - operator!= \201const buffer&, const buffer&\202; -})RP( - - )0 P(If the )SM(assume_owner)HY(ship)YH()ES( argu)HY(ment)YH( to the construc)HY(tor)YH( - is )SM(true)ES(, the instance assumes the owner)HY(ship)YH( of the - memory block pointed to by the )SM(data)ES( argu)HY(ment)YH( and will - even)HY(tu)HY(ally)YH( release it by calling )SM(oper)HY(a)HY(tor)YH( delete\201\202)ES(. The - )SM(capac)HY(ity)YH(\201\202)ES( and )SM(size\201\202)ES( modi)HY(fier)YH( func)HY(tions)YH( - return )SM(true)ES( if the under)HY(ly)HY(ing)YH( buffer has moved. - )EP( - - )0 P(The )SM(bounds)ES( excep)HY(tion)YH( is thrown if the construc)HY(tor)YH( - argu)HY(ments)YH( violate the )SM(\201size\240<=\240capac)HY(ity)YH(\202)ES( - constraint.)EP( - - - )0 2 30 H(6.4)WB 80 Sn()WB 34 Sn( Time Zone Repre)HY(sen)HY(ta)HY(tion)YH()EA()EH( - - )0 P(The )SM(date)ES(, )SM(date)HY(Time)YH()ES(, )SM(gDay)ES(, - )SM(gMonth)ES(, )SM(gMon)HY(th)HY(Day)YH()ES(, )SM(gYear)ES(, - )SM(gYear)HY(Month)YH()ES(, and )SM(time)ES( XML Schema built-in - types all include an optional time zone compo)HY(nent)YH(. The follow)HY(ing)YH( - )SM(xml_schema::time_zone)ES( base class is used to repre)HY(sent)YH( - this infor)HY(ma)HY(tion)YH(:)EP( - - ) 33 50 PR(namespace xml_schema -{ - class time_zone - { - public: - time_zone \201\202; - time_zone \201short hours, short minutes\202; - - bool - zone_present \201\202 const; - - void - zone_reset \201\202; - - short - zone_hours \201\202 const; - - void - zone_hours \201short\202; - - short - zone_minutes \201\202 const; - - void - zone_minutes \201short\202; - }; - - bool - operator== \201const time_zone&, const time_zone&\202; - - bool)WR( - operator!= \201const time_zone&, const time_zone&\202; -})RP( - - )0 P(The )SM(zone_present\201\202)ES( acces)HY(sor)YH( func)HY(tion)YH( returns )SM(true)ES( - if the time zone is spec)HY(i)HY(fied)YH(. The )SM(zone_reset\201\202)ES( modi)HY(fier)YH( - func)HY(tion)YH( resets the time zone object to the )EM(not spec)HY(i)HY(fied)YH()ES( - state. If the time zone offset is nega)HY(tive)YH( then both hours and - minutes compo)HY(nents)YH( are repre)HY(sented)YH( as nega)HY(tive)YH( inte)HY(gers)YH(.)EP( - - - )0 2 31 H(6.5)WB 81 Sn()WB 35 Sn( )SM(date)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(date_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::date)ES( which repre)HY(sents)YH( a year, a day, and a month - with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 34 62 PR(namespace xml_schema -{ - class date - { - public: - date \201int year, unsigned short month, unsigned short day\202; - date \201int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes\202; - - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; - }; - - bool - operator== \201const date&, const date&\202; -)WR( - bool - operator!= \201const date&, const date&\202; -})RP( - - )0 2 32 H(6.6)WB 82 Sn()WB 36 Sn( )SM(date)HY(Time)YH()ES( Parser)EA()EH( - - )0 P(The return type of the )SM(date_time_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::date_time)ES( which repre)HY(sents)YH( a year, a month, a day, - hours, minutes, and seconds with an optional time zone. Its inter)HY(face)YH( - is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 56 69 PR(namespace xml_schema -{ - class date_time - { - public: - date_time \201int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds\202; - - date_time \201int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds, short zone_hours, short zone_minutes\202; - - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; -)WR( - unsigned short - hours \201\202 const; - - void - hours \201unsigned short\202; - - unsigned short - minutes \201\202 const; - - void - minutes \201unsigned short\202; - - double - seconds \201\202 const; - - void - seconds \201double\202; - }; - - bool - operator== \201const date_time&, const date_time&\202; - - bool - operator!= \201const date_time&, const date_time&\202; -})RP( - - )0 2 33 H(6.7)WB 83 Sn()WB 37 Sn( )SM(dura)HY(tion)YH()ES( Parser)EA()EH( - - )0 P(The return type of the )SM(dura)HY(tion)YH(_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::dura)HY(tion)YH()ES( which repre)HY(sents)YH( a poten)HY(tially)YH( - nega)HY(tive)YH( dura)HY(tion)YH( in the form of years, months, days, hours, minutes, - and seconds. Its inter)HY(face)YH( is presented below.)EP( - - ) 58 73 PR(namespace xml_schema -{ - class duration - { - public: - duration \201bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds\202; - - bool - negative \201\202 const; - - void - negative \201bool\202; - - unsigned int - years \201\202 const; - - void - years \201unsigned int\202; - - unsigned int - months \201\202 const; - - void - months \201unsigned int\202; - - unsigned int - days \201\202 const; - - void)WR( - days \201unsigned int\202; - - unsigned int - hours \201\202 const; - - void - hours \201unsigned int\202; - - unsigned int - minutes \201\202 const; - - void - minutes \201unsigned int\202; - - double - seconds \201\202 const; - - void - seconds \201double\202; - }; - - bool - operator== \201const duration&, const duration&\202; - - bool - operator!= \201const duration&, const duration&\202; -})RP( - - - )0 2 34 H(6.8)WB 84 Sn()WB 38 Sn( )SM(gDay)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(gday_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::gday)ES( which repre)HY(sents)YH( a day of the month with - an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 22 68 PR(namespace xml_schema -{ - class gday - { - public: - explicit - gday \201unsigned short day\202; - gday \201unsigned short day, short zone_hours, short zone_minutes\202; - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; - }; - - bool - operator== \201const gday&, const gday&\202; - - bool - operator!= \201const gday&, const gday&\202; -})RP( - - )0 2 35 H(6.9)WB 85 Sn()WB 39 Sn( )SM(gMonth)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(gmonth_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::gmonth)ES( which repre)HY(sents)YH( a month of the year - with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 22 72 PR(namespace xml_schema -{ - class gmonth - { - public: - explicit - gmonth \201unsigned short month\202; - gmonth \201unsigned short month, short zone_hours, short zone_minutes\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - }; - - bool - operator== \201const gmonth&, const gmonth&\202; - - bool - operator!= \201const gmonth&, const gmonth&\202; -})RP( - - )0 2 36 H(6.10)WB 86 Sn()WB 40 Sn( )SM(gMon)HY(th)HY(Day)YH()ES( Parser)EA()EH( - - )0 P(The return type of the )SM(gmonth_day_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::gmonth_day)ES( which repre)HY(sents)YH( a day and a month - of the year with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 28 58 PR(namespace xml_schema -{ - class gmonth_day - { - public: - gmonth_day \201unsigned short month, unsigned short day\202; - gmonth_day \201unsigned short month, unsigned short day, - short zone_hours, short zone_minutes\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; - }; - - bool - operator== \201const gmonth_day&, const gmonth_day&\202; - - bool - operator!= \201const gmonth_day&, const gmonth_day&\202; -})RP( - - )0 2 37 H(6.11)WB 87 Sn()WB 41 Sn( )SM(gYear)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(gyear_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::gyear)ES( which repre)HY(sents)YH( a year with - an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 22 59 PR(namespace xml_schema -{ - class gyear - { - public: - explicit - gyear \201int year\202; - gyear \201int year, short zone_hours, short zone_minutes\202; - - int - year \201\202 const; - - void - year \201int\202; - }; - - bool - operator== \201const gyear&, const gyear&\202; - - bool - operator!= \201const gyear&, const gyear&\202; -})RP( - - )0 2 38 H(6.12)WB 88 Sn()WB 42 Sn( )SM(gYear)HY(Month)YH()ES( Parser)EA()EH( - - )0 P(The return type of the )SM(gyear_month_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::gyear_month)ES( which repre)HY(sents)YH( a year and a month - with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 28 55 PR(namespace xml_schema -{ - class gyear_month - { - public: - gyear_month \201int year, unsigned short month\202; - gyear_month \201int year, unsigned short month, - short zone_hours, short zone_minutes\202; - - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - }; - - bool - operator== \201const gyear_month&, const gyear_month&\202; - - bool - operator!= \201const gyear_month&, const gyear_month&\202; -})RP( - - - )0 2 39 H(6.13)WB 89 Sn()WB 43 Sn( )SM(time)ES( Parser)EA()EH( - - )0 P(The return type of the )SM(time_pimpl)ES( parser imple)HY(men)HY(ta)HY(tion)YH( - is )SM(xml_schema::time)ES( which repre)HY(sents)YH( hours, minutes, - and seconds with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 34 1 A(Section 6.4, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")34 0 TN TL()Ec /AF f D(.)EP( - - ) 34 72 PR(namespace xml_schema -{ - class time - { - public: - time \201unsigned short hours, unsigned short minutes, double seconds\202; - time \201unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes\202; - - unsigned short - hours \201\202 const; - - void - hours \201unsigned short\202; - - unsigned short - minutes \201\202 const; - - void - minutes \201unsigned short\202; - - double - seconds \201\202 const; - - void - seconds \201double\202; - }; - - bool - operator== \201const time&, const time&\202; -)WR( - bool - operator!= \201const time&, const time&\202; -})RP( - - - - - - )0 1 40 H(7)WB 90 Sn()WB 44 Sn( Docu)HY(ment)YH( Parser and Error Handling)EA()EH( - - )0 P(In this chapter we will discuss the )SM(xml_schema::docu)HY(ment)YH()ES( - type as well as the error handling mech)HY(a)HY(nisms)YH( provided by the mapping - in more detail. As mentioned in )0 18 1 A(Section 3.4, - "Connect)HY(ing)YH( the Parsers Together")18 0 TN TL()Ec /AF f D(, the inter)HY(face)YH( of - )SM(xml_schema::docu)HY(ment)YH()ES( depends on the under)HY(ly)HY(ing)YH( XML - parser selected \201)0 26 1 A(Section 5.3, "Under)HY(ly)HY(ing)YH( XML - Parser")26 0 TN TL()Ec /AF f D(\202. The follow)HY(ing)YH( sections describe the - )SM(docu)HY(ment)YH()ES( type inter)HY(face)YH( for Xerces-C++ and - Expat as under)HY(ly)HY(ing)YH( parsers.)EP( - - )0 2 41 H(7.1)WB 91 Sn()WB 45 Sn( Xerces-C++ Docu)HY(ment)YH( Parser)EA()EH( - - )0 P(When Xerces-C++ is used as the under)HY(ly)HY(ing)YH( XML parser, the - )SM(docu)HY(ment)YH()ES( type has the follow)HY(ing)YH( inter)HY(face)YH(. Note that - if the char)HY(ac)HY(ter)YH( type is )SM(wchar_t)ES(, then the string type - in the inter)HY(face)YH( becomes )SM(std::wstring)ES( - \201see )0 25 1 A(Section 5.2, "Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH(")25 0 TN TL()Ec /AF f D(\202.)EP( - - ) 248 72 PR(namespace xml_schema -{ - class parser_base; - class error_handler; - - class flags - { - public: - // Do not validate XML documents with the Xerces-C++ validator. - // - static const unsigned long dont_validate; - - // Do not initialize the Xerces-C++ runtime. - // - static const unsigned long dont_initialize; - - // Disable handling of subsequent imports for the same namespace - // in Xerces-C++ 3.1.0 and later. - // - static const unsigned long no_multiple_imports; - }; - - class properties - { - public: - // Add a location for a schema with a target namespace. - // - void - schema_location \201const std::string& namespace_, - const std::string& location\202; -)WR( - // Add a location for a schema without a target namespace. - // - void - no_namespace_schema_location \201const std::string& location\202; - }; - - class document - { - public: - document \201parser_base& root, - const std::string& root_element_name, - bool polymorphic = false\202; - - document \201parser_base& root, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false\202; - - public: - // Parse URI or a local file. - // - void - parse \201const std::string& uri, - flags = 0, - const properties& = properties \201\202\202; - - // Parse URI or a local file with a user-provided error_handler - // object. - // - void)WR( - parse \201const std::string& uri, - error_handler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse URI or a local file with a user-provided ErrorHandler - // object. Note that you must initialize the Xerces-C++ runtime - // before calling this function. - // - void - parse \201const std::string& uri, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse URI or a local file using a user-provided SAX2XMLReader - // object. Note that you must initialize the Xerces-C++ runtime - // before calling this function. - // - void - parse \201const std::string& uri, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties \201\202\202; - - public: - // Parse std::istream. - // - void - parse \201std::istream&,)WR( - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with a user-provided error_handler object. - // - void - parse \201std::istream&, - error_handler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse \201std::istream&, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse \201std::istream&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties \201\202\202;)WR( - - public: - // Parse std::istream with a system id. - // - void - parse \201std::istream&, - const std::string& system_id, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse \201std::istream&, - const std::string& system_id, - error_handler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with a system id and a user-provided - // ErrorHandler object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse \201std::istream&, - const std::string& system_id, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties \201\202\202;)WR( - - // Parse std::istream with a system id using a user-provided - // SAX2XMLReader object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse \201std::istream&, - const std::string& system_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties \201\202\202; - - public: - // Parse std::istream with system and public ids. - // - void - parse \201std::istream&, - const std::string& system_id, - const std::string& public_id, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse \201std::istream&, - const std::string& system_id, - const std::string& public_id, - error_handler&,)WR( - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with system and public ids and a user-provided - // ErrorHandler object. Note that you must initialize the Xerces-C++ - // runtime before calling this function. - // - void - parse \201std::istream&, - const std::string& system_id, - const std::string& public_id, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse std::istream with system and public ids using a user- - // provided SAX2XMLReader object. Note that you must initialize - // the Xerces-C++ runtime before calling this function. - // - void - parse \201std::istream&, - const std::string& system_id, - const std::string& public_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties \201\202\202; - - public: - // Parse InputSource. Note that you must initialize the Xerces-C++ - // runtime before calling this function.)WR( - // - void - parse \201const xercesc::InputSource&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse InputSource with a user-provided error_handler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse \201const xercesc::InputSource&, - error_handler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse InputSource with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse \201const xercesc::InputSource&, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties \201\202\202; - - // Parse InputSource using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - //)WR( - void - parse \201const xercesc::InputSource&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties \201\202\202; - }; -})RP( - - )0 P(The )SM(docu)HY(ment)YH()ES( class is a root parser for - the vocab)HY(u)HY(lary)YH(. The first argu)HY(ment)YH( to its construc)HY(tors)YH( is the - parser for the type of the root element. The )SM(parser_base)ES( - class is the base type for all parser skele)HY(tons)YH(. The second and - third argu)HY(ments)YH( to the )SM(docu)HY(ment)YH()ES('s construc)HY(tors)YH( are - the root element's name and names)HY(pace)YH(. The last argu)HY(ment)YH(, - )SM(poly)HY(mor)HY(phic)YH()ES(, spec)HY(i)HY(fies)YH( whether the XML docu)HY(ments)YH( - being parsed use poly)HY(mor)HY(phism)YH(. For more infor)HY(ma)HY(tion)YH( on support - for XML Schema poly)HY(mor)HY(phism)YH( in the C++/Parser mapping refer - to )0 28 1 A(Section 5.5, "Support for Poly)HY(mor)HY(phism)YH(")28 0 TN TL()Ec /AF f D(.)EP( - - )0 P(The rest of the )SM(docu)HY(ment)YH()ES( inter)HY(face)YH( consists of over)HY(loaded)YH( - )SM(parse\201\202)ES( func)HY(tions)YH(. The last two argu)HY(ments)YH( in each of these - func)HY(tions)YH( are )SM(flags)ES( and )SM(prop)HY(er)HY(ties)YH()ES(. The - )SM(flags)ES( argu)HY(ment)YH( allows you to modify the default behav)HY(ior)YH( - of the parsing func)HY(tions)YH(. The )SM(prop)HY(er)HY(ties)YH()ES( argu)HY(ment)YH( allows - you to over)HY(ride)YH( the schema loca)HY(tion)YH( attributes spec)HY(i)HY(fied)YH( in XML - docu)HY(ments)YH(. Note that the schema loca)HY(tion)YH( paths are rela)HY(tive)YH( to an - XML docu)HY(ment)YH( unless they are complete URIs. For example if you want - to use a local schema file then you will need to use a URI in the - form )SM(file:///abso)HY(lute)YH(/path/to/your/schema)ES(.)EP( - - )0 P(A number of over)HY(loaded)YH( )SM(parse\201\202)ES( func)HY(tions)YH( have the - )SM(system_id)ES( and )SM(public_id)ES( argu)HY(ments)YH(. The - system id is a )EM(system)ES( iden)HY(ti)HY(fier)YH( of the resources being - parsed \201for example, URI or a full file path\202. The public id is a - )EM(public)ES( iden)HY(ti)HY(fier)YH( of the resource \201for example, an - appli)HY(ca)HY(tion)YH(-specific name or a rela)HY(tive)YH( file path\202. The system id - is used to resolve rela)HY(tive)YH( paths \201for example, schema paths\202. In - diag)HY(nos)HY(tics)YH( messages the public id is used if it is avail)HY(able)YH(. - Other)HY(wise)YH( the system id is used.)EP( - - )0 P(The error handling mech)HY(a)HY(nisms)YH( employed by the )SM(docu)HY(ment)YH()ES( - parser are described in )0 47 1 A(Section 7.3, "Error - Handling")47 0 TN TL()Ec /AF f D(.)EP( - - )0 2 42 H(7.2)WB 92 Sn()WB 46 Sn( Expat Docu)HY(ment)YH( Parser)EA()EH( - - )0 P(When Expat is used as the under)HY(ly)HY(ing)YH( XML parser, the - )SM(docu)HY(ment)YH()ES( type has the follow)HY(ing)YH( inter)HY(face)YH(. Note that - if the char)HY(ac)HY(ter)YH( type is )SM(wchar_t)ES(, then the string type - in the inter)HY(face)YH( becomes )SM(std::wstring)ES( - \201see )0 25 1 A(Section 5.2, "Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH(")25 0 TN TL()Ec /AF f D(\202.)EP( - - ) 123 72 PR(namespace xml_schema -{ - class parser_base; - class error_handler; - - class document - { - public: - document \201parser_base&, - const std::string& root_element_name, - bool polymorphic = false\202; - - document \201parser_base&, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false\202; - - public: - // Parse a local file. The file is accessed with std::ifstream - // in binary mode. The std::ios_base::failure exception is used - // to report io errors \201badbit and failbit\202. - void - parse \201const std::string& file\202; - - // Parse a local file with a user-provided error_handler - // object. The file is accessed with std::ifstream in binary - // mode. The std::ios_base::failure exception is used to report - // io errors \201badbit and failbit\202. - // - void - parse \201const std::string& file, error_handler&\202;)WR( - - public: - // Parse std::istream. - // - void - parse \201std::istream&\202; - - // Parse std::istream with a user-provided error_handler object. - // - void - parse \201std::istream&, error_handler&\202; - - // Parse std::istream with a system id. - // - void - parse \201std::istream&, const std::string& system_id\202; - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse \201std::istream&, - const std::string& system_id, - error_handler&\202; - - // Parse std::istream with system and public ids. - // - void - parse \201std::istream&, - const std::string& system_id,)WR( - const std::string& public_id\202; - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse \201std::istream&, - const std::string& system_id, - const std::string& public_id, - error_handler&\202; - - public: - // Parse a chunk of input. You can call these functions multiple - // times with the last call having the last argument true. - // - void - parse \201const void* data, std::size_t size, bool last\202; - - void - parse \201const void* data, std::size_t size, bool last, - error_handler&\202; - - void - parse \201const void* data, std::size_t size, bool last, - const std::string& system_id\202; - - void - parse \201const void* data, std::size_t size, bool last, - const std::string& system_id, - error_handler&\202;)WR( - - void - parse \201const void* data, std::size_t size, bool last, - const std::string& system_id, - const std::string& public_id\202; - - void - parse \201const void* data, std::size_t size, bool last, - const std::string& system_id, - const std::string& public_id, - error_handler&\202; - - public: - // Low-level Expat-specific parsing API. - // - void - parse_begin \201XML_Parser\202; - - void - parse_begin \201XML_Parser, const std::string& public_id\202; - - void - parse_begin \201XML_Parser, error_handler&\202; - - void - parse_begin \201XML_Parser, - const std::string& public_id, - error_handler&\202; - void - parse_end \201\202;)WR( - }; -})RP( - - )0 P(The )SM(docu)HY(ment)YH()ES( class is a root parser for - the vocab)HY(u)HY(lary)YH(. The first argu)HY(ment)YH( to its construc)HY(tors)YH( is the - parser for the type of the root element. The )SM(parser_base)ES( - class is the base type for all parser skele)HY(tons)YH(. The second and - third argu)HY(ments)YH( to the )SM(docu)HY(ment)YH()ES('s construc)HY(tors)YH( are - the root element's name and names)HY(pace)YH(. The last argu)HY(ment)YH(, - )SM(poly)HY(mor)HY(phic)YH()ES(, spec)HY(i)HY(fies)YH( whether the XML docu)HY(ments)YH( - being parsed use poly)HY(mor)HY(phism)YH(. For more infor)HY(ma)HY(tion)YH( on support - for XML Schema poly)HY(mor)HY(phism)YH( in the C++/Parser mapping refer - to )0 28 1 A(Section 5.5, "Support for Poly)HY(mor)HY(phism)YH(")28 0 TN TL()Ec /AF f D(.)EP( - - )0 P(A number of over)HY(loaded)YH( )SM(parse\201\202)ES( func)HY(tions)YH( have the - )SM(system_id)ES( and )SM(public_id)ES( argu)HY(ments)YH(. The - system id is a )EM(system)ES( iden)HY(ti)HY(fier)YH( of the resources being - parsed \201for example, URI or a full file path\202. The public id is a - )EM(public)ES( iden)HY(ti)HY(fier)YH( of the resource \201for example, an - appli)HY(ca)HY(tion)YH(-specific name or a rela)HY(tive)YH( file path\202. The system id - is used to resolve rela)HY(tive)YH( paths. In diag)HY(nos)HY(tics)YH( messages the - public id is used if it is avail)HY(able)YH(. Other)HY(wise)YH( the system id - is used.)EP( - - )0 P(The )SM(parse_begin\201\202)ES( and )SM(parse_end\201\202)ES( func)HY(tions)YH( - present a low-level, Expat-specific parsing API for maximum control. - A typical use-case would look like this \201pseudo-code\202:)EP( - - ) 20 55 PR(xxx_pimpl root_p; -document doc_p \201root_p, "root"\202; - -root_p.pre \201\202; -doc_p.parse_begin \201xml_parser, "file.xml"\202; - -while \201more_data_to_parse\202 -{ - // Call XML_Parse or XML_ParseBuffer. - - if \201status == XML_STATUS_ERROR\202 - break; -} - -// Call parse_end even in case of an error to translate -// XML and Schema errors to exceptions or error_handler -// calls. -// -doc.parse_end \201\202; -result_type result \201root_p.post_xxx \201\202\202;)RP( - - )0 P(Note that if your vocab)HY(u)HY(lary)YH( uses XML names)HY(paces)YH(, the - )SM(XML_Parser)HY(Cre)HY(at)HY(eNS)YH(\201\202)ES( func)HY(tions)YH( should be used to create - the XML parser. Space \201)SM(XML_Char \201' '\202)ES(\202 should be used - as a sepa)HY(ra)HY(tor)YH( \201the second argu)HY(ment)YH( to )SM(XML_Parser)HY(Cre)HY(at)HY(eNS)YH(\201\202)ES(\202. - )EP( - - )0 P(The error handling mech)HY(a)HY(nisms)YH( employed by the )SM(docu)HY(ment)YH()ES( - parser are described in )0 47 1 A(Section 7.3, "Error - Handling")47 0 TN TL()Ec /AF f D(.)EP( - - - )0 2 43 H(7.3)WB 93 Sn()WB 47 Sn( Error Handling)EA()EH( - - )0 P(There are three cate)HY(gories)YH( of errors that can result from running - a parser on an XML docu)HY(ment)YH(: System, XML, and Appli)HY(ca)HY(tion)YH(. - The System cate)HY(gory)YH( contains memory allo)HY(ca)HY(tion)YH( and file/stream - oper)HY(a)HY(tion)YH( errors. The XML cate)HY(gory)YH( covers XML parsing and - well-formed)HY(ness)YH( check)HY(ing)YH( as well as XML Schema vali)HY(da)HY(tion)YH( errors. - Finally, the Appli)HY(ca)HY(tion)YH( cate)HY(gory)YH( is for appli)HY(ca)HY(tion)YH( logic errors - that you may want to prop)HY(a)HY(gate)YH( from parser imple)HY(men)HY(ta)HY(tions)YH( to the - caller of the parser. - )EP( - - )0 P(The System errors are mapped to the stan)HY(dard)YH( excep)HY(tions)YH(. The - out of memory condi)HY(tion)YH( is indi)HY(cated)YH( by throw)HY(ing)YH( an instance - of )SM(std::bad_alloc)ES(. The stream oper)HY(a)HY(tion)YH( errors - are reported either by throw)HY(ing)YH( an instance of - )SM(std::ios_base::failure)ES( if excep)HY(tions)YH( are enabled - or by setting the stream state.)EP( - - )0 P(Note that if you are parsing )SM(std::istream)ES( on - which excep)HY(tions)YH( are not enabled, then you will need to - check the stream state before calling the )SM(post\201\202)ES( - call)HY(back)YH(, as shown in the follow)HY(ing)YH( example:)EP( - - ) 24 50 PR(int -main \201int argc, char* argv[]\202 -{ - ... - - std::ifstream ifs \201argv[1]\202; - - if \201ifs.fail \201\202\202 - { - cerr << argv[1] << ": unable to open" << endl; - return 1; - } - - root_p.pre \201\202; - doc_p.parse \201ifs\202; - - if \201ifs.fail \201\202\202 - { - cerr << argv[1] << ": io failure" << endl; - return 1; - } - - result_type result \201root_p.post_xxx \201\202\202; -})RP( - - )0 P(The above example can be rewrit)HY(ten)YH( to use excep)HY(tions)YH( - as shown below:)EP( - - ) 21 68 PR(int -main \201int argc, char* argv[]\202 -{ - try - { - ... - - std::ifstream ifs; - ifs.exceptions \201std::ifstream::badbit | std::ifstream::failbit\202; - ifs.open \201argv[1]\202; - - root_p.pre \201\202; - doc_p.parse \201ifs\202; - result_type result \201root_p.post_xxx \201\202\202; - } - catch \201const std::ifstream::failure&\202 - { - cerr << argv[1] << ": unable to open or io failure" << endl; - return 1; - } -})RP( - - - )0 P(For report)HY(ing)YH( appli)HY(ca)HY(tion)YH( errors from parsing call)HY(backs)YH(, you - can throw any excep)HY(tions)YH( of your choice. They are prop)HY(a)HY(gated)YH( to - the caller of the parser without any alter)HY(ations)YH(.)EP( - - )0 P(The XML errors can be reported either by throw)HY(ing)YH( the - )SM(xml_schema::parsing)ES( excep)HY(tion)YH( or by a call)HY(back)YH( - to the )SM(xml_schema::error_handler)ES( object \201and - )SM(xercesc::ErrorHan)HY(dler)YH()ES( object in case of Xerces-C++\202.)EP( - - )0 P(The )SM(xml_schema::parsing)ES( excep)HY(tion)YH( contains - a list of warn)HY(ings)YH( and errors that were accu)HY(mu)HY(lated)YH( during - parsing. Note that this excep)HY(tion)YH( is thrown only if there - was an error. This makes it impos)HY(si)HY(ble)YH( to obtain warn)HY(ings)YH( - from an other)HY(wise)YH( success)HY(ful)YH( parsing using this mech)HY(a)HY(nism)YH(. - The follow)HY(ing)YH( listing shows the defi)HY(ni)HY(tion)YH( of - )SM(xml_schema::parsing)ES( excep)HY(tion)YH(. Note that if the - char)HY(ac)HY(ter)YH( type is )SM(wchar_t)ES(, then the string type - and output stream type in the defi)HY(ni)HY(tion)YH( become - )SM(std::wstring)ES( and )SM(std::wostream)ES(, - respec)HY(tively)YH( \201see )0 25 1 A(Section 5.2, "Char)HY(ac)HY(ter)YH( Type - and Encod)HY(ing)YH(")25 0 TN TL()Ec /AF f D(\202.)EP( - - ) 82 51 PR(namespace xml_schema -{ - class exception: public std::exception - { - protected: - virtual void - print \201std::ostream&\202 const = 0; - }; - - inline std::ostream& - operator<< \201std::ostream& os, const exception& e\202 - { - e.print \201os\202; - return os; - } - - - class severity - { - public: - enum value - { - warning, - error - }; - }; - - - class error - { - public:)WR( - error \201xml_schema::severity, - const std::string& id, - unsigned long line, - unsigned long column, - const std::string& message\202; - - xml_schema::severity - severity \201\202 const; - - const std::string& - id \201\202 const; - - unsigned long - line \201\202 const; - - unsigned long - column \201\202 const; - - const std::string& - message \201\202 const; - }; - - std::ostream& - operator<< \201std::ostream&, const error&\202; - - - class diagnostics: public std::vector<error> - { - }; -)WR( - std::ostream& - operator<< \201std::ostream&, const diagnostics&\202; - - - class parsing: public exception - { - public: - parsing \201\202; - parsing \201const xml_schema::diagnostics&\202; - - const xml_schema::diagnostics& - diagnostics \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; - - protected: - virtual void - print \201std::ostream&\202 const; - }; -})RP( - - )0 P(The follow)HY(ing)YH( example shows how we can catch and print this - excep)HY(tion)YH(. The code will print diag)HY(nos)HY(tics)YH( messages one per line - in case of an error.)EP( - - ) 13 38 PR(int -main \201int argc, char* argv[]\202 -{ - try - { - // Parse. - } - catch \201const xml_schema::parsing& e\202 - { - cerr << e << endl; - return 1; - } -})RP( - - )0 P(With the )SM(error_handler)ES( approach the diag)HY(nos)HY(tics)YH( - messages are deliv)HY(ered)YH( as parsing progresses. The follow)HY(ing)YH( - listing presents the defi)HY(ni)HY(tion)YH( of the )SM(error_handler)ES( - inter)HY(face)YH(. Note that if the char)HY(ac)HY(ter)YH( type is )SM(wchar_t)ES(, - then the string type in the inter)HY(face)YH( becomes )SM(std::wstring)ES( - \201see )0 25 1 A(Section 5.2, "Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH(")25 0 TN TL()Ec /AF f D(\202.)EP( - - ) 24 44 PR(namespace xml_schema -{ - class error_handler - { - public: - class severity - { - public: - enum value - { - warning, - error, - fatal - }; - }; - - virtual bool - handle \201const std::string& id, - unsigned long line, - unsigned long column, - severity, - const std::string& message\202 = 0; - }; -})RP( - - )0 P(The return value of the )SM(handle\201\202)ES( func)HY(tion)YH( indi)HY(cates)YH( whether - parsing should continue if possi)HY(ble)YH(. The error with the fatal sever)HY(ity)YH( - level termi)HY(nates)YH( the parsing process regard)HY(less)YH( of the returned value. - At the end of the parsing process with an error that was reported via - the )SM(error_handler)ES( object, an empty - )SM(xml_schema::parsing)ES( excep)HY(tion)YH( is thrown to indi)HY(cate)YH( - the failure to the caller. You can alter this behav)HY(ior)YH( by throw)HY(ing)YH( - your own excep)HY(tion)YH( from the )SM(handle\201\202)ES( func)HY(tion)YH(.)EP( - - - - - - )0 1 44 H(Appendix)WB 94 Sn()WB 48 Sn( A \236 Supported XML Schema Constructs)EA()EH( - - )0 P(The C++/Parser mapping supports vali)HY(da)HY(tion)YH( of the follow)HY(ing)YH( W3C XML - Schema constructs in the gener)HY(ated)YH( code.)EP( - - - )1 PT( - - - )BR( -)BR( - -)WB NL -/TE t D NP /OU t D TU PM 1 eq and{/Pn () D showpage}if end restore diff --git a/xsd/doc/cxx/parser/guide/figure-1.png b/xsd/doc/cxx/parser/guide/figure-1.png Binary files differdeleted file mode 100644 index 15d1723..0000000 --- a/xsd/doc/cxx/parser/guide/figure-1.png +++ /dev/null diff --git a/xsd/doc/cxx/parser/guide/figure-1.svg b/xsd/doc/cxx/parser/guide/figure-1.svg deleted file mode 100644 index d994a79..0000000 --- a/xsd/doc/cxx/parser/guide/figure-1.svg +++ /dev/null @@ -1,373 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://web.resource.org/cc/" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="744.09448819" - height="1052.3622047" - id="svg2" - sodipodi:version="0.32" - inkscape:version="0.44.1" - sodipodi:docbase="/tmp" - sodipodi:docname="figure-1.svg" - inkscape:export-filename="/home/boris/tmp/figure-1.png" - inkscape:export-xdpi="76.195885" - inkscape:export-ydpi="76.195885"> - <defs - id="defs4"> - <marker - inkscape:stockid="Arrow1Lend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Lend" - style="overflow:visible;"> - <path - id="path2934" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" - transform="scale(0.8) rotate(180) translate(12.5,0)" /> - </marker> - <marker - inkscape:stockid="Dot_l" - orient="auto" - refY="0.0" - refX="0.0" - id="Dot_l" - style="overflow:visible"> - <path - id="path2875" - d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none" - transform="scale(0.8) translate(7.4, 1)" /> - </marker> - <marker - inkscape:stockid="Arrow1Mend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Mend" - style="overflow:visible;"> - <path - id="path2928" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;" - transform="scale(0.4) rotate(180) translate(10,0)" /> - </marker> - <marker - inkscape:stockid="Dot_m" - orient="auto" - refY="0.0" - refX="0.0" - id="Dot_m" - style="overflow:visible"> - <path - id="path2872" - d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none" - transform="scale(0.4) translate(7.4, 1)" /> - </marker> - <marker - inkscape:stockid="Arrow1Lstart" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow1Lstart" - style="overflow:visible"> - <path - id="path2937" - d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z " - style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none" - transform="scale(0.8) translate(12.5,0)" /> - </marker> - <marker - inkscape:stockid="Arrow2Mend" - orient="auto" - refY="0.0" - refX="0.0" - id="Arrow2Mend" - style="overflow:visible;"> - <path - id="path2910" - style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;" - d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z " - transform="scale(0.6) rotate(180) translate(0,0)" /> - </marker> - </defs> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - gridtolerance="10000" - guidetolerance="10" - objecttolerance="10" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="0.98994949" - inkscape:cx="328.23027" - inkscape:cy="733.01096" - inkscape:document-units="px" - inkscape:current-layer="layer1" - inkscape:window-width="1280" - inkscape:window-height="991" - inkscape:window-x="154" - inkscape:window-y="44" /> - <metadata - id="metadata7"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"> - <g - id="g3902"> - <rect - y="194.64178" - x="24.142784" - height="106.2678" - width="149.70432" - id="rect1872" - style="fill:#c5ddf8;fill-opacity:1;fill-rule:evenodd;stroke:#c5ddf8;stroke-width:5.29799986;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - <text - sodipodi:linespacing="125%" - id="text3038" - y="219.99649" - x="28.284279" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Monospace" - xml:space="preserve"><tspan - y="219.99649" - x="28.284279" - id="tspan3064" - sodipodi:role="line">class people_pimpl</tspan><tspan - y="236.24649" - x="28.284279" - id="tspan3066" - sodipodi:role="line">{</tspan><tspan - y="252.49649" - x="28.284279" - id="tspan3068" - sodipodi:role="line"> void </tspan><tspan - y="268.74649" - x="28.284279" - id="tspan3070" - sodipodi:role="line"> person ();</tspan><tspan - y="284.99649" - x="28.284279" - id="tspan3072" - sodipodi:role="line">};</tspan></text> - </g> - <g - id="g3881"> - <rect - y="124.93772" - x="252.43373" - height="245.67592" - width="180.01601" - id="rect5750" - style="fill:#c5ddf8;fill-opacity:1;fill-rule:evenodd;stroke:#c5ddf8;stroke-width:9.12976837;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - <text - sodipodi:linespacing="100%" - id="text5752" - y="148.27567" - x="257.5889" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;font-family:Monospace" - xml:space="preserve"><tspan - y="148.27567" - x="257.5889" - id="tspan5900" - sodipodi:role="line">class person_pimpl</tspan><tspan - y="161.27567" - x="257.5889" - id="tspan5902" - sodipodi:role="line">{</tspan><tspan - y="174.27567" - x="257.5889" - id="tspan5904" - sodipodi:role="line"> void</tspan><tspan - y="187.27567" - x="257.5889" - id="tspan5906" - sodipodi:role="line"> first_name (string);</tspan><tspan - y="200.27567" - x="257.5889" - id="tspan5908" - sodipodi:role="line" /><tspan - y="213.27567" - x="257.5889" - id="tspan5910" - sodipodi:role="line"> void</tspan><tspan - y="226.27567" - x="257.5889" - id="tspan5912" - sodipodi:role="line"> last_name (string);</tspan><tspan - y="239.27567" - x="257.5889" - id="tspan5914" - sodipodi:role="line" /><tspan - y="252.27567" - x="257.5889" - id="tspan5916" - sodipodi:role="line"> void</tspan><tspan - y="265.27567" - x="257.5889" - id="tspan5918" - sodipodi:role="line"> gender ();</tspan><tspan - y="278.27567" - x="257.5889" - id="tspan5920" - sodipodi:role="line" /><tspan - y="291.27567" - x="257.5889" - id="tspan5922" - sodipodi:role="line"> void</tspan><tspan - y="304.27567" - x="257.5889" - id="tspan5924" - sodipodi:role="line"> age (short);</tspan><tspan - y="317.27567" - x="257.5889" - id="tspan5926" - sodipodi:role="line"> </tspan><tspan - y="330.27567" - x="257.5889" - id="tspan5928" - sodipodi:role="line"> void</tspan><tspan - y="343.27567" - x="257.5889" - id="tspan5930" - sodipodi:role="line"> post_person ();</tspan><tspan - y="356.27567" - x="257.5889" - id="tspan5932" - sodipodi:role="line">};</tspan></text> - </g> - <g - id="g3845"> - <rect - y="77.741814" - x="506.28357" - height="99.610825" - width="151.1286" - id="rect5955" - style="fill:#c5ddf8;fill-opacity:1;fill-rule:evenodd;stroke:#c5ddf8;stroke-width:5.69227886;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - <flowRoot - transform="translate(-5.050762,12.10153)" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" - id="flowRoot5957" - xml:space="preserve"><flowRegion - id="flowRegion5959"><rect - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" - y="74.534515" - x="516.18793" - height="88.893425" - width="143.44167" - id="rect5961" /></flowRegion><flowPara - id="flowPara5965">class string_pimpl</flowPara><flowPara - id="flowPara5967">{</flowPara><flowPara - id="flowPara5969"> string</flowPara><flowPara - id="flowPara5971"> post_string ();</flowPara><flowPara - id="flowPara5973">};</flowPara><flowPara - id="flowPara5975" /></flowRoot> </g> - <g - id="g3857"> - <rect - style="fill:#c5ddf8;fill-opacity:1;fill-rule:evenodd;stroke:#c5ddf8;stroke-width:5.69227886;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect5977" - width="151.1286" - height="99.610825" - x="506.28357" - y="316.15808" /> - <flowRoot - xml:space="preserve" - id="flowRoot5979" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" - transform="translate(-5.050761,250.5178)" - inkscape:export-filename="/tmp/figure-1.png" - inkscape:export-xdpi="546.53815" - inkscape:export-ydpi="546.53815"><flowRegion - id="flowRegion5981"><rect - id="rect5983" - width="143.44167" - height="88.893425" - x="516.18793" - y="74.534515" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" /></flowRegion><flowPara - id="flowPara5985">class short_pimpl</flowPara><flowPara - id="flowPara5987">{</flowPara><flowPara - id="flowPara5989"> short</flowPara><flowPara - id="flowPara5991"> post_short ();</flowPara><flowPara - id="flowPara5993">};</flowPara><flowPara - id="flowPara5995" /></flowRoot> </g> - <g - id="g3869"> - <rect - style="fill:#c5ddf8;fill-opacity:1;fill-rule:evenodd;stroke:#c5ddf8;stroke-width:5.69227886;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - id="rect6023" - width="151.1286" - height="99.610825" - x="505.7785" - y="196.93977" /> - <flowRoot - xml:space="preserve" - id="flowRoot6025" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" - transform="translate(-5.555838,129.2792)"><flowRegion - id="flowRegion6027"><rect - id="rect6029" - width="143.44167" - height="88.893425" - x="516.18793" - y="74.534515" - style="font-size:13px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace" /></flowRegion><flowPara - id="flowPara6031">class gender_pimpl</flowPara><flowPara - id="flowPara6033">{</flowPara><flowPara - id="flowPara6035"> void</flowPara><flowPara - id="flowPara6037"> post_gender ();</flowPara><flowPara - id="flowPara6039">};</flowPara><flowPara - id="flowPara6041" /></flowRoot> </g> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline;marker-start:url(#Dot_l);marker-end:url(#Arrow1Lend)" - d="M 265.67011,339.69956 L 210.41811,339.34242 L 210.77124,264.14332 L 127.7843,264.4432" - id="path6051" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cccs" /> - <path - sodipodi:nodetypes="cccc" - inkscape:connector-type="polyline" - id="path6077" - d="M 518.20825,383.6412 L 471.23616,384.14628 L 471.4887,300.55615 L 368.70568,300.80869" - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Dot_l);marker-end:url(#Arrow1Lend);stroke-opacity:1;display:inline" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Dot_l);marker-end:url(#Arrow1Lend);stroke-opacity:1;display:inline" - d="M 517.1981,262.42289 L 353.55339,262.42289" - id="path6081" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cccs" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Dot_l);marker-end:url(#Arrow1Lend);stroke-opacity:1;display:inline" - d="M 518.57143,145.93361 L 470.35714,146.14281 L 470.53572,183.07646 L 431.42857,183.79075" - id="path6089" - inkscape:connector-type="polyline" - sodipodi:nodetypes="cccc" /> - <path - style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-opacity:1;display:inline" - d="M 470.46175,178.43361 L 470.89286,222.36218 L 423.21428,222.71932" - id="path6091" - inkscape:connector-type="polyline" - sodipodi:nodetypes="ccc" /> - </g> -</svg> diff --git a/xsd/doc/cxx/parser/guide/guide.html2ps b/xsd/doc/cxx/parser/guide/guide.html2ps deleted file mode 100644 index c2f6314..0000000 --- a/xsd/doc/cxx/parser/guide/guide.html2ps +++ /dev/null @@ -1,65 +0,0 @@ -@html2ps { - option { - toc: hb; - colour: 1; - hyphenate: 1; - titlepage: 1; - } - - datefmt: "%B %Y"; - - titlepage { - content: " -<div align=center> - <h1><big>C++/Parser Mapping</big></h1> - <h1><big>Getting Started Guide</big></h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> -</div> - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href='http://www.codesynthesis.com/licenses/fdl-1.2.txt'>GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/index.xhtml'>XHTML</a>, - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.pdf'>PDF</a>, and - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.ps'>PostScript</a>.</p>"; - } - - toc { - indent: 2em; - } - - header { - odd-right: $H; - even-left: $H; - } - - footer { - odd-left: $D; - odd-center: $T; - odd-right: $N; - - even-left: $N; - even-center: $T; - even-right: $D; - } -} - -body { - font-size: 12pt; - text-align: justify; -} - -pre { - font-size: 10pt; -} diff --git a/xsd/doc/cxx/parser/guide/index.xhtml b/xsd/doc/cxx/parser/guide/index.xhtml deleted file mode 100644 index 1eef533..0000000 --- a/xsd/doc/cxx/parser/guide/index.xhtml +++ /dev/null @@ -1,4158 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - <title>C++/Parser Mapping Getting Started Guide</title> - - <meta name="copyright" content="© 2005-2014 Code Synthesis Tools CC"/> - <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,parser,validation"/> - <meta name="description" content="C++/Parser Mapping Getting Started Guide"/> - - <link rel="stylesheet" type="text/css" href="../../../default.css" /> - -<style type="text/css"> - pre { - padding : 0 0 0 0em; - margin : 0em 0em 0em 0; - - font-size : 102% - } - - body { - min-width: 48em; - } - - h1 { - font-weight: bold; - font-size: 200%; - line-height: 1.2em; - } - - h2 { - font-weight : bold; - font-size : 150%; - - padding-top : 0.8em; - } - - h3 { - font-size : 140%; - padding-top : 0.8em; - } - - /* Adjust indentation for three levels. */ - #container { - max-width: 48em; - } - - #content { - padding: 0 0.1em 0 4em; - /*background-color: red;*/ - } - - #content h1 { - margin-left: -2.06em; - } - - #content h2 { - margin-left: -1.33em; - } - - /* Title page */ - - #titlepage { - padding: 2em 0 1em 0; - border-bottom: 1px solid black; - } - - #titlepage .title { - font-weight: bold; - font-size: 200%; - text-align: center; - } - - #titlepage #first-title { - padding: 1em 0 0.4em 0; - } - - #titlepage #second-title { - padding: 0.4em 0 2em 0; - } - - /* Lists */ - ul.list li { - padding-top : 0.3em; - padding-bottom : 0.3em; - } - - ol.steps { - padding-left : 1.8em; - } - - ol.steps li { - padding-top : 0.3em; - padding-bottom : 0.3em; - } - - - div.img { - text-align: center; - padding: 2em 0 2em 0; - } - - /* */ - dl dt { - padding : 0.8em 0 0 0; - } - - /* Built-in table */ - #builtin { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; - } - - #builtin th, #builtin td { - border: 1px solid; - padding : 0.9em 0.9em 0.7em 0.9em; - } - - #builtin th { - background : #cde8f6; - } - - #builtin td { - text-align: left; - } - - /* XML Schema features table. */ - #features { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; - } - - #features th, #features td { - border: 1px solid; - padding : 0.6em 0.6em 0.6em 0.6em; - } - - #features th { - background : #cde8f6; - } - - #features td { - text-align: left; - } - - - /* TOC */ - table.toc { - border-style : none; - border-collapse : separate; - border-spacing : 0; - - margin : 0.2em 0 0.2em 0; - padding : 0 0 0 0; - } - - table.toc tr { - padding : 0 0 0 0; - margin : 0 0 0 0; - } - - table.toc * td, table.toc * th { - border-style : none; - margin : 0 0 0 0; - vertical-align : top; - } - - table.toc * th { - font-weight : normal; - padding : 0em 0.1em 0em 0; - text-align : left; - white-space : nowrap; - } - - table.toc * table.toc th { - padding-left : 1em; - } - - table.toc * td { - padding : 0em 0 0em 0.7em; - text-align : left; - } -</style> - - -</head> - -<body> -<div id="container"> - <div id="content"> - - <div class="noprint"> - - <div id="titlepage"> - <div class="title" id="first-title">C++/Parser Mapping</div> - <div class="title" id="second-title">Getting Started Guide</div> - - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href="http://www.codesynthesis.com/licenses/fdl-1.2.txt">GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/index.xhtml">XHTML</a>, - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.pdf">PDF</a>, and - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/cxx-parser-guide.ps">PostScript</a>.</p> - - </div> - - <h1>Table of Contents</h1> - - <table class="toc"> - <tr> - <th></th><td><a href="#0">Preface</a> - <table class="toc"> - <tr><th></th><td><a href="#0.1">About This Document</a></td></tr> - <tr><th></th><td><a href="#0.2">More Information</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>1</th><td><a href="#1">Introduction</a> - <table class="toc"> - <tr><th>1.1</th><td><a href="#1.1">Mapping Overview</a></td></tr> - <tr><th>1.2</th><td><a href="#1.2">Benefits</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>2</th><td><a href="#2">Hello World Example</a> - <table class="toc"> - <tr><th>2.1</th><td><a href="#2.1">Writing XML Document and Schema</a></td></tr> - <tr><th>2.2</th><td><a href="#2.2">Translating Schema to C++</a></td></tr> - <tr><th>2.3</th><td><a href="#2.3">Implementing Application Logic</a></td></tr> - <tr><th>2.4</th><td><a href="#2.4">Compiling and Running</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>3</th><td><a href="#3">Parser Skeletons</a> - <table class="toc"> - <tr><th>3.1</th><td><a href="#3.1">Implementing the Gender Parser</a></td></tr> - <tr><th>3.2</th><td><a href="#3.2">Implementing the Person Parser</a></td></tr> - <tr><th>3.3</th><td><a href="#3.3">Implementing the People Parser</a></td></tr> - <tr><th>3.4</th><td><a href="#3.4">Connecting the Parsers Together</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>4</th><td><a href="#4">Type Maps</a> - <table class="toc"> - <tr><th>4.1</th><td><a href="#4.1">Object Model</a></td></tr> - <tr><th>4.2</th><td><a href="#4.2">Type Map File Format</a></td></tr> - <tr><th>4.3</th><td><a href="#4.3">Parser Implementations</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>5</th><td><a href="#5">Mapping Configuration</a> - <table class="toc"> - <tr><th>5.1</th><td><a href="#5.1">C++ Standard</a></td></tr> - <tr><th>5.2</th><td><a href="#5.2">Character Type and Encoding</a></td></tr> - <tr><th>5.3</th><td><a href="#5.3">Underlying XML Parser</a></td></tr> - <tr><th>5.4</th><td><a href="#5.4">XML Schema Validation</a></td></tr> - <tr><th>5.5</th><td><a href="#5.5">Support for Polymorphism</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>6</th><td><a href="#6">Built-In XML Schema Type Parsers</a> - <table class="toc"> - <tr><th>6.1</th><td><a href="#6.1"><code>QName</code> Parser</a></td></tr> - <tr><th>6.2</th><td><a href="#6.2"><code>NMTOKENS</code> and <code>IDREFS</code> Parsers</a></td></tr> - <tr><th>6.3</th><td><a href="#6.3"><code>base64Binary</code> and <code>hexBinary</code> Parsers</a></td></tr> - <tr><th>6.4</th><td><a href="#6.4">Time Zone Representation</a></td></tr> - <tr><th>6.5</th><td><a href="#6.5"><code>date</code> Parser</a></td></tr> - <tr><th>6.6</th><td><a href="#6.6"><code>dateTime</code> Parser</a></td></tr> - <tr><th>6.7</th><td><a href="#6.7"><code>duration</code> Parser</a></td></tr> - <tr><th>6.8</th><td><a href="#6.8"><code>gDay</code> Parser</a></td></tr> - <tr><th>6.9</th><td><a href="#6.9"><code>gMonth</code> Parser</a></td></tr> - <tr><th>6.10</th><td><a href="#6.10"><code>gMonthDay</code> Parser</a></td></tr> - <tr><th>6.11</th><td><a href="#6.11"><code>gYear</code> Parser</a></td></tr> - <tr><th>6.12</th><td><a href="#6.12"><code>gYearMonth</code> Parser</a></td></tr> - <tr><th>6.13</th><td><a href="#6.13"><code>time</code> Parser</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>7</th><td><a href="#7">Document Parser and Error Handling</a> - <table class="toc"> - <tr><th>7.1</th><td><a href="#7.1">Xerces-C++ Document Parser</a></td></tr> - <tr><th>7.2</th><td><a href="#7.2">Expat Document Parser</a></td></tr> - <tr><th>7.3</th><td><a href="#7.3">Error Handling</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th></th><td><a href="#A">Appendix A — Supported XML Schema Constructs</a></td> - </tr> - - </table> - </div> - - <h1><a name="0">Preface</a></h1> - - <h2><a name="0.1">About This Document</a></h2> - - <p>The goal of this document is to provide you with an understanding of - the C++/Parser programming model and allow you to efficiently evaluate - XSD against your project's technical requirements. As such, this - document is intended for C++ developers and software architects - who are looking for an XML processing solution. Prior experience - with XML and C++ is required to understand this document. Basic - understanding of XML Schema is advantageous but not expected - or required. - </p> - - - <h2><a name="0.2">More Information</a></h2> - - <p>Beyond this guide, you may also find the following sources of - information useful:</p> - - <ul class="list"> - <li><a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a></li> - - <li>The <code>examples/cxx/parser/</code> directory in the XSD - distribution contains a collection of examples and a README - file with an overview of each example.</li> - - <li>The <code>README</code> file in the XSD distribution explains - how to compile the examples on various platforms.</li> - - <li>The <a href="http://www.codesynthesis.com/mailman/listinfo/xsd-users">xsd-users</a> - mailing list is the place to ask technical questions about XSD and the C++/Parser mapping. - Furthermore, the <a href="http://www.codesynthesis.com/pipermail/xsd-users/">archives</a> - may already have answers to some of your questions.</li> - - </ul> - - <!-- Introduction --> - - <h1><a name="1">1 Introduction</a></h1> - - <p>Welcome to CodeSynthesis XSD and the C++/Parser mapping. XSD is a - cross-platform W3C XML Schema to C++ data binding compiler. C++/Parser - is a W3C XML Schema to C++ mapping that represents an XML vocabulary - as a set of parser skeletons which you can implement to perform XML - processing as required by your application logic. - </p> - - <h2><a name="1.1">1.1 Mapping Overview</a></h2> - - <p>The C++/Parser mapping provides event-driven, stream-oriented - XML parsing, XML Schema validation, and C++ data binding. It was - specifically designed and optimized for high performance and - small footprint. Based on the static analysis of the schemas, XSD - generates compact, highly-optimized hierarchical state machines - that combine data extraction, validation, and even dispatching - in a single step. As a result, the generated code is typically - 2-10 times faster than general-purpose validating XML parsers - while maintaining the lowest static and dynamic memory footprints. - </p> - - <p>To speed up application development, the C++/Parser mapping - can be instructed to generate sample parser implementations - and a test driver which can then be filled with the application - logic code. The mapping also provides a wide range of - mechanisms for controlling and customizing the generated code.</p> - - <p>The next chapter shows how to create a simple application that uses - the C++/Parser mapping to parse, validate, and extract data from a - simple XML document. The following chapters show how to - use the C++/Parser mapping in more detail.</p> - - <h2><a name="1.2">1.2 Benefits</a></h2> - - <p>Traditional XML access APIs such as Document Object Model (DOM) - or Simple API for XML (SAX) have a number of drawbacks that - make them less suitable for creating robust and maintainable - XML processing applications. These drawbacks include: - </p> - - <ul class="list"> - <li>Generic representation of XML in terms of elements, attributes, - and text forces an application developer to write a substantial - amount of bridging code that identifies and transforms pieces - of information encoded in XML to a representation more suitable - for consumption by the application logic.</li> - - <li>String-based flow control defers error detection to runtime. - It also reduces code readability and maintainability.</li> - - <li>Lack of type safety because the data is represented - as text.</li> - - <li>Resulting applications are hard to debug, change, and - maintain.</li> - </ul> - - <p>In contrast, statically-typed, vocabulary-specific parser - skeletons produced by the C++/Parser mapping allow you to - operate in your domain terms instead of the generic elements, - attributes, and text. Static typing helps catch errors at - compile-time rather than at run-time. Automatic code generation - frees you for more interesting tasks (such as doing something - useful with the information stored in the XML documents) and - minimizes the effort needed to adapt your applications to - changes in the document structure. To summarize, the C++/Parser - mapping has the following key advantages over generic XML - access APIs:</p> - - <ul class="list"> - <li><b>Ease of use.</b> The generated code hides all the complexity - associated with recreating the document structure, maintaining the - dispatch state, and converting the data from the text representation - to data types suitable for manipulation by the application logic. - Parser skeletons also provide a convenient mechanism for building - custom in-memory representations.</li> - - <li><b>Natural representation.</b> The generated parser skeletons - implement parser callbacks as virtual functions with names - corresponding to elements and attributes in XML. As a result, - you process the XML data using your domain vocabulary instead - of generic elements, attributes, and text. - </li> - - <li><b>Concise code.</b> With a separate parser skeleton for each - XML Schema type, the application implementation is - simpler and thus easier to read and understand.</li> - - <li><b>Safety.</b> The XML data is delivered to parser callbacks as - statically typed objects. The parser callbacks themselves are virtual - functions. This helps catch programming errors at compile-time - rather than at runtime.</li> - - <li><b>Maintainability.</b> Automatic code generation minimizes the - effort needed to adapt the application to changes in the - document structure. With static typing, the C++ compiler - can pin-point the places in the application code that need to be - changed.</li> - - <li><b>Efficiency.</b> The generated parser skeletons combine - data extraction, validation, and even dispatching in a single - step. This makes them much more efficient than traditional - architectures with separate stages for validation and data - extraction/dispatch.</li> - </ul> - - <!-- Hello World Parser --> - - - <h1><a name="2">2 Hello World Example</a></h1> - - <p>In this chapter we will examine how to parse a very simple XML - document using the XSD-generated C++/Parser skeletons. - The code presented in this chapter is based on the <code>hello</code> - example which can be found in the <code>examples/cxx/parser/</code> - directory of the XSD distribution.</p> - - <h2><a name="2.1">2.1 Writing XML Document and Schema</a></h2> - - <p>First, we need to get an idea about the structure - of the XML documents we are going to process. Our - <code>hello.xml</code>, for example, could look like this:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<hello> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello> - </pre> - - <p>Then we can write a description of the above XML in the - XML Schema language and save it into <code>hello.xsd</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello"> - <xs:sequence> - <xs:element name="greeting" type="xs:string"/> - <xs:element name="name" type="xs:string" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="hello" type="hello"/> - -</xs:schema> - </pre> - - <p>Even if you are not familiar with XML Schema, it - should be easy to connect declarations in <code>hello.xsd</code> - to elements in <code>hello.xml</code>. The <code>hello</code> type - is defined as a sequence of the nested <code>greeting</code> and - <code>name</code> elements. Note that the term sequence in XML - Schema means that elements should appear in a particular order - as opposed to appearing multiple times. The <code>name</code> - element has its <code>maxOccurs</code> property set to - <code>unbounded</code> which means it can appear multiple times - in an XML document. Finally, the globally-defined <code>hello</code> - element prescribes the root element for our vocabulary. For an - easily-approachable introduction to XML Schema refer to - <a href="http://www.w3.org/TR/xmlschema-0/">XML Schema Part 0: - Primer</a>.</p> - - <p>The above schema is a specification of our XML vocabulary; it tells - everybody what valid documents of our XML-based language should look - like. The next step is to compile this schema to generate - the object model and parsing functions.</p> - - <h2><a name="2.2">2.2 Translating Schema to C++</a></h2> - - <p>Now we are ready to translate our <code>hello.xsd</code> to C++ parser - skeletons. To do this we invoke the XSD compiler from a terminal - (UNIX) or a command prompt (Windows): - </p> - - <pre class="terminal"> -$ xsd cxx-parser --xml-parser expat hello.xsd - </pre> - - <p>The <code>--xml-parser</code> option indicates that we want to - use Expat as the underlying XML parser (see <a href="#5.3">Section - 5.3, "Underlying XML Parser"</a>). The XSD compiler produces two - C++ files: <code>hello-pskel.hxx</code> and <code>hello-pskel.cxx</code>. - The following code fragment is taken from <code>hello-pskel.hxx</code>; - it should give you an idea about what gets generated: - </p> - - <pre class="c++"> -class hello_pskel -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre (); - - virtual void - greeting (const std::string&); - - virtual void - name (const std::string&); - - virtual void - post_hello (); - - // Parser construction API. - // - void - greeting_parser (xml_schema::string_pskel&); - - void - name_parser (xml_schema::string_pskel&); - - void - parsers (xml_schema::string_pskel& /* greeting */, - xml_schema::string_pskel& /* name */); - -private: - ... -}; - </pre> - - <p>The first four member functions shown above are called parser - callbacks. You would normally override them in your implementation - of the parser to do something useful. Let's go through all of - them one by one.</p> - - <p>The <code>pre()</code> function is an initialization callback. It is - called when a new element of type <code>hello</code> is about - to be parsed. You would normally use this function to allocate a new - instance of the resulting type or clear accumulators that are used - to gather information during parsing. The default implementation - of this function does nothing.</p> - - <p>The <code>post_hello()</code> function is a finalization callback. Its - name is constructed by adding the parser skeleton name to the - <code>post_</code> prefix. The finalization callback is called when - parsing of the element is complete and the result, if any, should - be returned. Note that in our case the return type of - <code>post_hello()</code> is <code>void</code> which means there - is nothing to return. More on parser return types later. - </p> - - <p>You may be wondering why the finalization callback is called - <code>post_hello()</code> instead of <code>post()</code> just - like <code>pre()</code>. The reason for this is that - finalization callbacks can have different return types and - result in function signature clashes across inheritance - hierarchies. To prevent this the signatures of finalization - callbacks are made unique by adding the type name to their names.</p> - - <p>The <code>greeting()</code> and <code>name()</code> functions are - called when the <code>greeting</code> and <code>name</code> elements - have been parsed, respectively. Their arguments are of type - <code>std::string</code> and contain the data extracted from XML.</p> - - <p>The last three functions are for connecting parsers to each other. - For example, there is a predefined parser for built-in XML Schema type - <code>string</code> in the XSD runtime. We will be using - it to parse the contents of <code>greeting</code> and - <code>name</code> elements, as shown in the next section.</p> - - <h2><a name="2.3">2.3 Implementing Application Logic</a></h2> - - <p>At this point we have all the parts we need to do something useful - with the information stored in our XML document. The first step is - to implement the parser: - </p> - - <pre class="c++"> -#include <iostream> -#include "hello-pskel.hxx" - -class hello_pimpl: public hello_pskel -{ -public: - virtual void - greeting (const std::string& g) - { - greeting_ = g; - } - - virtual void - name (const std::string& n) - { - std::cout << greeting_ << ", " << n << "!" << std::endl; - } - -private: - std::string greeting_; -}; - </pre> - - <p>We left both <code>pre()</code> and <code>post_hello()</code> with the - default implementations; we don't have anything to initialize or - return. The rest is pretty straightforward: we store the greeting - in a member variable and later, when parsing names, use it to - say hello.</p> - - <p>An observant reader my ask what happens if the <code>name</code> - element comes before <code>greeting</code>? Don't we need to - make sure <code>greeting_</code> was initialized and report - an error otherwise? The answer is no, we don't have to do - any of this. The <code>hello_pskel</code> parser skeleton - performs validation of XML according to the schema from which - it was generated. As a result, it will check the order - of the <code>greeting</code> and <code>name</code> elements - and report an error if it is violated.</p> - - <p>Now it is time to put this parser implementation to work:</p> - - <pre class="c++"> -using namespace std; - -int -main (int argc, char* argv[]) -{ - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - hello_pimpl hello_p; - - hello_p.greeting_parser (string_p); - hello_p.name_parser (string_p); - - // Parse the XML instance. - // - xml_schema::document doc_p (hello_p, "hello"); - - hello_p.pre (); - doc_p.parse (argv[1]); - hello_p.post_hello (); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} - </pre> - - <p>The first part of this code snippet instantiates individual parsers - and assembles them into a complete vocabulary parser. - <code>xml_schema::string_pimpl</code> is an implementation of a parser - for built-in XML Schema type <code>string</code>. It is provided by - the XSD runtime along with parsers for other built-in types (for - more information on the built-in parsers see <a href="#6">Chapter 6, - "Built-In XML Schema Type Parsers"</a>). We use <code>string_pimpl</code> - to parse the <code>greeting</code> and <code>name</code> elements as - indicated by the calls to <code>greeting_parser()</code> and - <code>name_parser()</code>. - </p> - - <p>Then we instantiate a document parser (<code>doc_p</code>). The - first argument to its constructor is the parser for - the root element (<code>hello_p</code> in our case). The - second argument is the root element name. - </p> - - <p>The final piece is the calls to <code>pre()</code>, <code>parse()</code>, - and <code>post_hello()</code>. The call to <code>parse()</code> - perform the actual XML parsing while the calls to <code>pre()</code> and - <code>post_hello()</code> make sure that the parser for the root - element can perform proper initialization and cleanup.</p> - - <p>While our parser implementation and test driver are pretty small and - easy to write by hand, for bigger XML vocabularies it can be a - substantial effort. To help with this task XSD can automatically - generate sample parser implementations and a test driver from your - schemas. You can request the generation of a sample implementation with - empty function bodies by specifying the <code>--generate-noop-impl</code> - option. Or you can generate a sample implementation that prints the - data store in XML by using the <code>--generate-print-impl</code> - option. To request the generation of a test driver you can use the - <code>--generate-test-driver</code> option. For more information - on these options refer to the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>. The <code>'generated'</code> example - in the XSD distribution shows the sample implementation generation - feature in action.</p> - - - <h2><a name="2.4">2.4 Compiling and Running</a></h2> - - <p>After saving all the parts from the previous section in - <code>driver.cxx</code>, we are ready to compile our first - application and run it on the test XML document. On a UNIX - system this can be done with the following commands: - </p> - - <pre class="terminal"> -$ c++ -I.../libxsd -c driver.cxx hello-pskel.cxx -$ c++ -o driver driver.o hello-pskel.o -lexpat -$ ./driver hello.xml -Hello, sun! -Hello, moon! -Hello, world! - </pre> - - <p>Here <code>.../libxsd</code> represents the path to the - <code>libxsd</code> directory in the XSD distribution. - We can also test the error handling. To test XML well-formedness - checking, we can try to parse <code>hello-pskel.hxx</code>:</p> - - <pre class="terminal"> -$ ./driver hello-pskel.hxx -hello-pskel.hxx:1:0: not well-formed (invalid token) - </pre> - - <p>We can also try to parse a valid XML but not from our - vocabulary, for example <code>hello.xsd</code>:</p> - - <pre class="terminal"> -$ ./driver hello.xsd -hello.xsd:2:0: expected element 'hello' instead of -'http://www.w3.org/2001/XMLSchema#schema' - </pre> - - - <!-- Chapater 3 --> - - - <h1><a name="3">3 Parser Skeletons</a></h1> - - <p>As we have seen in the previous chapter, the XSD compiler generates - a parser skeleton class for each type defined in XML Schema. In - this chapter we will take a closer look at different functions - that comprise a parser skeleton as well as the way to connect - our implementations of these parser skeletons to create a complete - parser.</p> - - <p>In this and subsequent chapters we will use the following schema - that describes a collection of person records. We save it in - <code>people.xsd</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:simpleType name="gender"> - <xs:restriction base="xs:string"> - <xs:enumeration value="male"/> - <xs:enumeration value="female"/> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="person"> - <xs:sequence> - <xs:element name="first-name" type="xs:string"/> - <xs:element name="last-name" type="xs:string"/> - <xs:element name="gender" type="gender"/> - <xs:element name="age" type="xs:short"/> - </xs:sequence> - </xs:complexType> - - <xs:complexType name="people"> - <xs:sequence> - <xs:element name="person" type="person" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="people" type="people"/> - -</xs:schema> - </pre> - - <p>A sample XML instance to go along with this schema is saved - in <code>people.xml</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<people> - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> -</people> - </pre> - - <p>Compiling <code>people.xsd</code> with the XSD compiler results - in three parser skeletons being generated: <code>gender_pskel</code>, - <code>person_pskel</code>, and <code>people_pskel</code>. We are going - to examine and implement each of them in the subsequent sections.</p> - - <h2><a name="3.1">3.1 Implementing the Gender Parser</a></h2> - - <p>The generated <code>gender_pskel</code> parser skeleton looks like - this:</p> - - <pre class="c++"> -class gender_pskel: public virtual xml_schema::string_pskel -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre (); - - virtual void - post_gender (); -}; - </pre> - - <p>Notice that <code>gender_pskel</code> inherits from - <code>xml_schema::string_skel</code> which is a parser skeleton - for built-in XML Schema type <code>string</code> and is - predefined in the XSD runtime library. This is an example - of the general rule that parser skeletons follow: if a type - in XML Schema inherits from another then there will be an - equivalent inheritance between the corresponding parser - skeleton classes.</p> - - <p>The <code>pre()</code> and <code>post_gender()</code> callbacks - should look familiar from the previous chapter. Let's now - implement the parser. Our implementation will simply print - the gender to <code>cout</code>:</p> - - - <pre class="c++"> -class gender_pimpl: public gender_pskel, - public xml_schema::string_pimpl -{ -public: - virtual void - post_gender () - { - std::string s = post_string (); - cout << "gender: " << s << endl; - } -}; - </pre> - - <p>While the code is quite short, there is a lot going on. First, - notice that we are inheriting from <code>gender_pskel</code> <em>and</em> - from <code>xml_schema::string_pimpl</code>. We've encountered - <code>xml_schema::string_pimpl</code> already; it is an - implementation of the <code>xml_schema::string_pskel</code> parser - skeleton for built-in XML Schema type <code>string</code>.</p> - - <p>This is another common theme in the C++/Parser programming model: - reusing implementations of the base parsers in the derived ones with - the C++ mixin idiom. In our case, <code>string_pimpl</code> will - do all the dirty work of extracting the data and we can just get - it at the end with the call to <code>post_string()</code>.</p> - - <p>In case you are curious, here is what - <code>xml_schema::string_pskel</code> and - <code>xml_schema::string_pimpl</code> look like:</p> - - <pre class="c++"> -namespace xml_schema -{ - class string_pskel: public simple_content - { - public: - virtual std::string - post_string () = 0; - }; - - class string_pimpl: public virtual string_pskel - { - public: - virtual void - _pre (); - - virtual void - _characters (const xml_schema::ro_string&); - - virtual std::string - post_string (); - - protected: - std::string str_; - }; -} - </pre> - - <p>There are three new pieces in this code that we haven't seen yet. - They are the <code>simple_content</code> class as well as - the <code>_pre()</code> and <code>_characters()</code> functions. - The <code>simple_content</code> class is defined in the XSD - runtime and is a base class for all parser skeletons that conform - to the simple content model in XML Schema. Types with the - simple content model cannot have nested elements—only text - and attributes. There is also the <code>complex_content</code> - class which corresponds to the complex content mode (types with - nested elements, for example, <code>person</code> from - <code>people.xsd</code>).</p> - - <p>The <code>_pre()</code> function is a parser callback. Remember we - talked about the <code>pre()</code> and <code>post_*()</code> callbacks - in the previous chapter? There are actually two more callbacks - with similar roles: <code>_pre()</code> and <code>_post ()</code>. - As a result, each parser skeleton has four special callbacks:</p> - - <pre class="c++"> - virtual void - pre (); - - virtual void - _pre (); - - virtual void - _post (); - - virtual void - post_name (); - </pre> - - <p><code>pre()</code> and <code>_pre()</code> are initialization - callbacks. They get called in that order before a new instance of the type - is about to be parsed. The difference between <code>pre()</code> and - <code>_pre()</code> is conventional: <code>pre()</code> can - be completely overridden by a derived parser. The derived - parser can also override <code>_pre()</code> but has to always call - the original version. This allows you to partition initialization - into customizable and required parts.</p> - - <p>Similarly, <code>_post()</code> and <code>post_name()</code> are - finalization callbacks with exactly the same semantics: - <code>post_name()</code> can be completely overridden by the derived - parser while the original <code>_post()</code> should always be called. - </p> - - <p>The final bit we need to discuss in this section is the - <code>_characters()</code> function. As you might have guessed, it - is also a callback. A low-level one that delivers raw character content - for the type being parsed. You will seldom need to use this callback - directly. Using implementations for the built-in parsers provided by - the XSD runtime is usually a simpler and more convenient - alternative.</p> - - <p>At this point you might be wondering why some <code>post_*()</code> - callbacks, for example <code>post_string()</code>, return some data - while others, for example <code>post_gender()</code>, have - <code>void</code> as a return type. This is a valid concern - and it will be addressed in the next chapter.</p> - - <h2><a name="3.2">3.2 Implementing the Person Parser</a></h2> - - <p>The generated <code>person_pskel</code> parser skeleton looks like - this:</p> - - <pre class="c++"> -class person_pskel: public xml_schema::complex_content -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre (); - - virtual void - first_name (const std::string&); - - virtual void - last_name (const std::string&); - - virtual void - gender (); - - virtual void - age (short); - - virtual void - post_person (); - - // Parser construction API. - // - void - first_name_parser (xml_schema::string_pskel&); - - void - last_name_parser (xml_schema::string_pskel&); - - void - gender_parser (gender_pskel&); - - void - age_parser (xml_schema::short_pskel&); - - void - parsers (xml_schema::string_pskel& /* first-name */, - xml_schema::string_pskel& /* last-name */, - gender_pskel& /* gender */, - xml_schema::short_pskel& /* age */); -}; - </pre> - - - <p>As you can see, we have a parser callback for each of the nested - elements found in the <code>person</code> XML Schema type. - The implementation of this parser is straightforward:</p> - - <pre class="c++"> -class person_pimpl: public person_pskel -{ -public: - virtual void - first_name (const std::string& n) - { - cout << "first: " << f << endl; - } - - virtual void - last_name (const std::string& l) - { - cout << "last: " << l << endl; - } - - virtual void - age (short a) - { - cout << "age: " << a << endl; - } -}; - </pre> - - <p>Notice that we didn't override the <code>gender()</code> callback - because all the printing is done by <code>gender_pimpl</code>.</p> - - - <h2><a name="3.3">3.3 Implementing the People Parser</a></h2> - - <p>The generated <code>people_pskel</code> parser skeleton looks like - this:</p> - - <pre class="c++"> -class people_pskel: public xml_schema::complex_content -{ -public: - // Parser callbacks. Override them in your implementation. - // - virtual void - pre (); - - virtual void - person (); - - virtual void - post_people (); - - // Parser construction API. - // - void - person_parser (person_pskel&); - - void - parsers (person_pskel& /* person */); -}; - </pre> - - <p>The <code>person()</code> callback will be called after parsing each - <code>person</code> element. While <code>person_pimpl</code> does - all the printing, one useful thing we can do in this callback is to - print an extra newline after each person record so that our - output is more readable:</p> - - <pre class="c++"> -class people_pimpl: public people_pskel -{ -public: - virtual void - person () - { - cout << endl; - } -}; - </pre> - - <p>Now it is time to put everything together.</p> - - - <h2><a name="3.4">3.4 Connecting the Parsers Together</a></h2> - - <p>At this point we have all the individual parsers implemented - and can proceed to assemble them into a complete parser - for our XML vocabulary. The first step is to instantiate - all the individual parsers that we will need:</p> - - <pre class="c++"> -xml_schema::short_pimpl short_p; -xml_schema::string_pimpl string_p; - -gender_pimpl gender_p; -person_pimpl person_p; -people_pimpl people_p; - </pre> - - <p>Notice that our schema uses two built-in XML Schema types: - <code>string</code> for the <code>first-name</code> and - <code>last-name</code> elements as well as <code>short</code> - for <code>age</code>. We will use predefined parsers that - come with the XSD runtime to handle these types. The next - step is to connect all the individual parsers. We do this - with the help of functions defined in the parser - skeletons and marked with the "Parser Construction API" - comment. One way to do it is to connect each individual - parser by calling the <code>*_parser()</code> functions:</p> - - <pre class="c++"> -person_p.first_name_parser (string_p); -person_p.last_name_parser (string_p); -person_p.gender_parser (gender_p); -person_p.age_parser (short_p); - -people_p.person_parser (person_p); - </pre> - - <p>You might be wondering what happens if you do not provide - a parser by not calling one of the <code>*_parser()</code> functions. - In that case the corresponding XML content will be skipped, - including validation. This is an efficient way to ignore parts - of the document that you are not interested in.</p> - - - <p>An alternative, shorter, way to connect the parsers is by using - the <code>parsers()</code> functions which connects all the parsers - for a given type at once:</p> - - <pre class="c++"> -person_p.parsers (string_p, string_p, gender_p, short_p); -people_p.parsers (person_p); - </pre> - - <p>The following figure illustrates the resulting connections. Notice - the correspondence between return types of the <code>post_*()</code> - functions and argument types of element callbacks that are connected - by the arrows.</p> - - <!-- align=center is needed for html2ps --> - <div class="img" align="center"><img src="figure-1.png"/></div> - - <p>The last step is the construction of the document parser and - invocation of the complete parser on our sample XML instance:</p> - - <pre class="c++"> -xml_schema::document doc_p (people_p, "people"); - -people_p.pre (); -doc_p.parse ("people.xml"); -people_p.post_people (); - </pre> - - <p>Let's consider <code>xml_schema::document</code> in - more detail. While the exact definition of this class - varies depending on the underlying parser selected, - here is the common part:</p> - - <pre class="c++"> -namespace xml_schema -{ - class document - { - public: - document (xml_schema::parser_base&, - const std::string& root_element_name, - bool polymorphic = false); - - document (xml_schema::parser_base&, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false); - - void - parse (const std::string& file); - - void - parse (std::istream&); - - ... - - }; -} - </pre> - - <p><code>xml_schema::document</code> is a root parser for - the vocabulary. The first argument to its constructors is the - parser for the type of the root element (<code>people_impl</code> - in our case). Because a type parser is only concerned with - the element's content and not with the element's name, we need - to specify the root element's name somewhere. That's - what is passed as the second and third arguments to the - <code>document</code>'s constructors.</p> - - <p>There are also two overloaded <code>parse()</code> functions - defined in the <code>document</code> class (there are actually - more but the others are specific to the underlying XML parser). - The first version parses a local file identified by a name. The - second version reads the data from an input stream. For more - information on the <code>xml_schema::document</code> class - refer to <a href="#7">Chapter 7, "Document Parser and Error - Handling"</a>.</p> - - <p>Let's now consider a step-by-step list of actions that happen - as we parse through <code>people.xml</code>. The content of - <code>people.xml</code> is repeated below for convenience.</p> - - <pre class="xml"> -<?xml version="1.0"?> -<people> - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> -</people> - </pre> - - - <ol class="steps"> - <li><code>people_p.pre()</code> is called from - <code>main()</code>. We did not provide any implementation - for this callback so this call is a no-op.</li> - - <li><code>doc_p.parse("people.xml")</code> is called from - <code>main()</code>. The parser opens the file and starts - parsing its content.</li> - - <li>The parser encounters the root element. <code>doc_p</code> - verifies that the root element is correct and calls - <code>_pre()</code> on <code>people_p</code> which is also - a no-op. Parsing is now delegated to <code>people_p</code>.</li> - - <li>The parser encounters the <code>person</code> element. - <code>people_p</code> determines that <code>person_p</code> - is responsible for parsing this element. <code>pre()</code> - and <code>_pre()</code> callbacks are called on <code>person_p</code>. - Parsing is now delegated to <code>person_p</code>.</li> - - <li>The parser encounters the <code>first-name</code> element. - <code>person_p</code> determines that <code>string_p</code> - is responsible for parsing this element. <code>pre()</code> - and <code>_pre()</code> callbacks are called on <code>string_p</code>. - Parsing is now delegated to <code>string_p</code>.</li> - - <li>The parser encounters character content consisting of - <code>"John"</code>. The <code>_characters()</code> callback is - called on <code>string_p</code>.</li> - - <li>The parser encounters the end of <code>first-name</code> - element. The <code>_post()</code> and <code>post_string()</code> - callbacks are called on <code>string_p</code>. The - <code>first_name()</code> callback is called on <code>person_p</code> - with the return value of <code>post_string()</code>. The - <code>first_name()</code> implementation prints - <code>"first: John"</code> to <code>cout</code>. - Parsing is now returned to <code>person_p</code>.</li> - - <li>Steps analogous to 5-7 are performed for the <code>last-name</code>, - <code>gender</code>, and <code>age</code> elements.</li> - - <li>The parser encounters the end of <code>person</code> - element. The <code>_post()</code> and <code>post_person()</code> - callbacks are called on <code>person_p</code>. The - <code>person()</code> callback is called on <code>people_p</code>. - The <code>person()</code> implementation prints a new line - to <code>cout</code>. Parsing is now returned to - <code>people_p</code>.</li> - - <li>Steps 4-9 are performed for the second <code>person</code> - element.</li> - - <li>The parser encounters the end of <code>people</code> - element. The <code>_post()</code> callback is called on - <code>people_p</code>. The <code>doc_p.parse("people.xml")</code> - call returns to <code>main()</code>.</li> - - <li><code>people_p.post_people()</code> is called from - <code>main()</code> which is a no-op.</li> - - </ol> - - - <!-- Chpater 4 --> - - - <h1><a name="4">4 Type Maps</a></h1> - - <p>There are many useful things you can do inside parser callbacks as they - are right now. There are, however, times when you want to propagate - some information from one parser to another or to the caller of the - parser. One common task that would greatly benefit from such a - possibility is building a tree-like in-memory object model of the - data stored in XML. During execution, each individual sub-parser - would create a sub-tree and return it to its <em>parent</em> parser - which can then incorporate this sub-tree into the whole tree.</p> - - <p>In this chapter we will discuss the mechanisms offered by the - C++/Parser mapping for returning information from individual - parsers and see how to use them to build an object model - of our people vocabulary.</p> - - <h2><a name="4.1">4.1 Object Model</a></h2> - - <p>An object model for our person record example could - look like this (saved in the <code>people.hxx</code> file):</p> - - <pre class="c++"> -#include <string> -#include <vector> - -enum gender -{ - male, - female -}; - -class person -{ -public: - person (const std::string& first, - const std::string& last, - ::gender gender, - short age) - : first_ (first), last_ (last), - gender_ (gender), age_ (age) - { - } - - const std::string& - first () const - { - return first_; - } - - const std::string& - last () const - { - return last_; - } - - ::gender - gender () const - { - return gender_; - } - - short - age () const - { - return age_; - } - -private: - std::string first_; - std::string last_; - ::gender gender_; - short age_; -}; - -typedef std::vector<person> people; - </pre> - - <p>While it is clear which parser is responsible for which part of - the object model, it is not exactly clear how, for - example, <code>gender_pimpl</code> will deliver <code>gender</code> - to <code>person_pimpl</code>. You might have noticed that - <code>string_pimpl</code> manages to deliver its value to the - <code>first_name()</code> callback of <code>person_pimpl</code>. Let's - see how we can utilize the same mechanism to propagate our - own data.</p> - - <p>There is a way to tell the XSD compiler that you want to - exchange data between parsers. More precisely, for each - type defined in XML Schema, you can tell the compiler two things. - First, the return type of the <code>post_*()</code> callback - in the parser skeleton generated for this type. And, second, - the argument type for callbacks corresponding to elements and - attributes of this type. For example, for XML Schema type - <code>gender</code> we can specify the return type for - <code>post_gender()</code> in the <code>gender_pskel</code> - skeleton and the argument type for the <code>gender()</code> callback - in the <code>person_pskel</code> skeleton. As you might have guessed, - the generated code will then pass the return value from the - <code>post_*()</code> callback as an argument to the element or - attribute callback.</p> - - <p>The way to tell the XSD compiler about these XML Schema to - C++ mappings is with type map files. Here is a simple type - map for the <code>gender</code> type from the previous paragraph:</p> - - <pre class="type-map"> -include "people.hxx"; -gender ::gender ::gender; - </pre> - - <p>The first line indicates that the generated code must include - <code>people.hxx</code> in order to get the definition for the - <code>gender</code> type. The second line specifies that both - argument and return types for the <code>gender</code> - XML Schema type should be the <code>::gender</code> C++ enum - (we use fully-qualified C++ names to avoid name clashes). - The next section will describe the type map format in detail. - We save this type map in <code>people.map</code> and - then translate our schemas with the <code>--type-map</code> - option to let the XSD compiler know about our type map:</p> - - <pre class="terminal"> -$ xsd cxx-parser --type-map people.map people.xsd - </pre> - - <p>If we now look at the generated <code>people-pskel.hxx</code>, - we will see the following changes in the <code>gender_pskel</code> and - <code>person_pskel</code> skeletons:</p> - - <pre class="c++"> -#include "people.hxx" - -class gender_pskel: public virtual xml_schema::string_pskel -{ - virtual ::gender - post_gender () = 0; - - ... -}; - -class person_pskel: public xml_schema::complex_content -{ - virtual void - gender (::gender); - - ... -}; - </pre> - - <p>Notice that <code>#include "people.hxx"</code> was added to - the generated header file from the type map to provide the - definition for the <code>gender</code> enum.</p> - - <h2><a name="4.2">4.2 Type Map File Format</a></h2> - - <p>Type map files are used to define a mapping between XML Schema - and C++ types. The compiler uses this information - to determine return types of <code>post_*()</code> - callbacks in parser skeletons corresponding to XML Schema - types as well as argument types for callbacks corresponding - to elements and attributes of these types.</p> - - <p>The compiler has a set of predefined mapping rules that map - the built-in XML Schema types to suitable C++ types (discussed - below) and all other types to <code>void</code>. - By providing your own type maps you can override these predefined - rules. The format of the type map file is presented below: - </p> - - <pre class="type-map"> -namespace <schema-namespace> [<cxx-namespace>] -{ - (include <file-name>;)* - ([type] <schema-type> <cxx-ret-type> [<cxx-arg-type>];)* -} - </pre> - - <p>Both <code><i><schema-namespace></i></code> and - <code><i><schema-type></i></code> are regex patterns while - <code><i><cxx-namespace></i></code>, - <code><i><cxx-ret-type></i></code>, and - <code><i><cxx-arg-type></i></code> are regex pattern - substitutions. All names can be optionally enclosed in - <code>" "</code>, for example, to include white-spaces.</p> - - <p><code><i><schema-namespace></i></code> determines XML - Schema namespace. Optional <code><i><cxx-namespace></i></code> - is prefixed to every C++ type name in this namespace declaration. - <code><i><cxx-ret-type></i></code> is a C++ type name that is - used as a return type for the <code>post_*()</code> callback. - Optional <code><i><cxx-arg-type></i></code> is an argument - type for callbacks corresponding to elements and attributes - of this type. If <code><i><cxx-arg-type></i></code> is not - specified, it defaults to <code><i><cxx-ret-type></i></code> - if <code><i><cxx-ret-type></i></code> ends with <code>*</code> or - <code>&</code> (that is, it is a pointer or a reference) and - <code>const <i><cxx-ret-type></i>&</code> - otherwise. - <code><i><file-name></i></code> is a file name either in the - <code>" "</code> or <code>< ></code> format - and is added with the <code>#include</code> directive to - the generated code.</p> - - <p>The <code><b>#</b></code> character starts a comment that ends - with a new line or end of file. To specify a name that contains - <code><b>#</b></code> enclose it in <code><b>" "</b></code>. - For example:</p> - - <pre> -namespace http://www.example.com/xmlns/my my -{ - include "my.hxx"; - - # Pass apples by value. - # - apple apple; - - # Pass oranges as pointers. - # - orange orange_t*; -} - </pre> - - <p>In the example above, for the - <code>http://www.example.com/xmlns/my#orange</code> - XML Schema type, the <code>my::orange_t*</code> C++ type will - be used as both return and argument types.</p> - - <p>Several namespace declarations can be specified in a single - file. The namespace declaration can also be completely - omitted to map types in a schema without a namespace. For - instance:</p> - - <pre class="type-map"> -include "my.hxx"; -apple apple; - -namespace http://www.example.com/xmlns/my -{ - orange "const orange_t*"; -} - </pre> - - <p>The compiler has a number of predefined mapping rules for - the built-in XML Schema types which can be presented as the - following map files. The string-based XML Schema types are - mapped to either <code>std::string</code> or - <code>std::wstring</code> depending on the character type - selected (see <a href="#5.2"> Section 5.2, "Character Type and - Encoding"</a> for more information). The binary XML Schema - types are mapped to either <code>std::auto_ptr<xml_schema::buffer></code> - or <code>std::unique_ptr<xml_schema::buffer></code> - depending on the C++ standard selected (C++98 or C++11, - respectively; refer to the <code>--std</code> XSD compiler - command line option for details).</p> - - <pre class="type-map"> -namespace http://www.w3.org/2001/XMLSchema -{ - boolean bool bool; - - byte "signed char" "signed char"; - unsignedByte "unsigned char" "unsigned char"; - - short short short; - unsignedShort "unsigned short" "unsigned short"; - - int int int; - unsignedInt "unsigned int" "unsigned int"; - - long "long long" "long long"; - unsignedLong "unsigned long long" "unsigned long long"; - - integer "long long" "long long"; - - negativeInteger "long long" "long long"; - nonPositiveInteger "long long" "long long"; - - positiveInteger "unsigned long long" "unsigned long long"; - nonNegativeInteger "unsigned long long" "unsigned long long"; - - float float float; - double double double; - decimal double double; - - string std::string; - normalizedString std::string; - token std::string; - Name std::string; - NMTOKEN std::string; - NCName std::string; - ID std::string; - IDREF std::string; - language std::string; - anyURI std::string; - - NMTOKENS xml_schema::string_sequence; - IDREFS xml_schema::string_sequence; - - QName xml_schema::qname; - - base64Binary std::[auto|unique]_ptr<xml_schema::buffer> - std::[auto|unique]_ptr<xml_schema::buffer>; - hexBinary std::[auto|unique]_ptr<xml_schema::buffer> - std::[auto|unique]_ptr<xml_schema::buffer>; - - date xml_schema::date; - dateTime xml_schema::date_time; - duration xml_schema::duration; - gDay xml_schema::gday; - gMonth xml_schema::gmonth; - gMonthDay xml_schema::gmonth_day; - gYear xml_schema::gyear; - gYearMonth xml_schema::gyear_month; - time xml_schema::time; -} - </pre> - - <p>For more information about the mapping of the built-in XML Schema types - to C++ types refer to <a href="#6">Chapter 6, "Built-In XML Schema Type - Parsers"</a>. The last predefined rule maps anything that wasn't - mapped by previous rules to <code>void</code>:</p> - - <pre class="type-map"> -namespace .* -{ - .* void void; -} - </pre> - - - <p>When you provide your own type maps with the - <code>--type-map</code> option, they are evaluated first. This - allows you to selectively override any of the predefined rules. - Note also that if you change the mapping - of a built-in XML Schema type then it becomes your responsibility - to provide the corresponding parser skeleton and implementation - in the <code>xml_schema</code> namespace. You can include the - custom definitions into the generated header file using the - <code>--hxx-prologue-*</code> options.</p> - - <h2><a name="4.3">4.3 Parser Implementations</a></h2> - - <p>With the knowledge from the previous section, we can proceed - with creating a type map that maps types in the <code>people.xsd</code> - schema to our object model classes in - <code>people.hxx</code>. In fact, we already have the beginning - of our type map file in <code>people.map</code>. Let's extend - it with the rest of the types:</p> - - <pre class="type-map"> -include "people.hxx"; - -gender ::gender ::gender; -person ::person; -people ::people; - </pre> - - <p>There are a few things to note about this type map. We did not - provide the argument types for <code>person</code> and - <code>people</code> because the default constant reference is - exactly what we need. We also did not provide any mappings - for built-in XML Schema types <code>string</code> and - <code>short</code> because they are handled by the predefined - rules and we are happy with the result. Note also that - all C++ types are fully qualified. This is done to avoid - potential name conflicts in the generated code. Now we can - recompile our schema and move on to implementing the parsers:</p> - - <pre class="terminal"> -$ xsd cxx-parser --xml-parser expat --type-map people.map people.xsd - </pre> - - <p>Here is the implementation of our three parsers in full. One - way to save typing when implementing your own parsers is - to open the generated code and copy the signatures of parser - callbacks into your code. Or you could always auto generate the - sample implementations and fill them with your code.</p> - - - <pre class="c++"> -#include "people-pskel.hxx" - -class gender_pimpl: public gender_pskel, - public xml_schema::string_pimpl -{ -public: - virtual ::gender - post_gender () - { - return post_string () == "male" ? male : female; - } -}; - -class person_pimpl: public person_pskel -{ -public: - virtual void - first_name (const std::string& f) - { - first_ = f; - } - - virtual void - last_name (const std::string& l) - { - last_ = l; - } - - virtual void - gender (::gender g) - { - gender_ = g; - } - - virtual void - age (short a) - { - age_ = a; - } - - virtual ::person - post_person () - { - return ::person (first_, last_, gender_, age_); - } - -private: - std::string first_; - std::string last_; - ::gender gender_; - short age_; -}; - -class people_pimpl: public people_pskel -{ -public: - virtual void - person (const ::person& p) - { - people_.push_back (p); - } - - virtual ::people - post_people () - { - ::people r; - r.swap (people_); - return r; - } - -private: - ::people people_; -}; - </pre> - - <p>This code fragment should look familiar by now. Just note that - all the <code>post_*()</code> callbacks now have return types instead - of <code>void</code>. Here is the implementation of the test - driver for this example:</p> - - <pre class="c++"> -#include <iostream> - -using namespace std; - -int -main (int argc, char* argv[]) -{ - // Construct the parser. - // - xml_schema::short_pimpl short_p; - xml_schema::string_pimpl string_p; - - gender_pimpl gender_p; - person_pimpl person_p; - people_pimpl people_p; - - person_p.parsers (string_p, string_p, gender_p, short_p); - people_p.parsers (person_p); - - // Parse the document to obtain the object model. - // - xml_schema::document doc_p (people_p, "people"); - - people_p.pre (); - doc_p.parse (argv[1]); - people ppl = people_p.post_people (); - - // Print the object model. - // - for (people::iterator i (ppl.begin ()); i != ppl.end (); ++i) - { - cout << "first: " << i->first () << endl - << "last: " << i->last () << endl - << "gender: " << (i->gender () == male ? "male" : "female") << endl - << "age: " << i->age () << endl - << endl; - } -} - </pre> - - <p>The parser creation and assembly part is exactly the same as in - the previous chapter. The parsing part is a bit different: - <code>post_people()</code> now has a return value which is the - complete object model. We store it in the - <code>ppl</code> variable. The last bit of the code simply iterates - over the <code>people</code> vector and prints the information - for each person. We save the last two code fragments to - <code>driver.cxx</code> and proceed to compile and test - our new application:</p> - - - <pre class="terminal"> -$ c++ -I.../libxsd -c driver.cxx people-pskel.cxx -$ c++ -o driver driver.o people-pskel.o -lexpat -$ ./driver people.xml -first: John -last: Doe -gender: male -age: 32 - -first: Jane -last: Doe -gender: female -age: 28 - </pre> - - - <!-- Mapping Configuration --> - - - <h1><a name="5">5 Mapping Configuration</a></h1> - - <p>The C++/Parser mapping has a number of configuration parameters that - determine the overall properties and behavior of the generated code. - Configuration parameters are specified with the XSD command line - options and include the C++ standard, the character type that is used - by the generated code, the underlying XML parser, whether the XML Schema - validation is performed in the generated code, and support for XML Schema - polymorphism. This chapter describes these configuration - parameters in more detail. For more ways to configure the generated - code refer to the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>. - </p> - - <h2><a name="5.1">5.1 C++ Standard</a></h2> - - <p>The C++/Parser mapping provides support for ISO/IEC C++ 1998/2003 (C++98) - and ISO/IEC C++ 2011 (C++11). To select the C++ standard for the - generated code we use the <code>--std</code> XSD compiler command - line option. While the majority of the examples in this guide use - C++98, support for the new functionality and library components - introduced in C++11 are discussed throughout the document.</p> - - <h2><a name="5.2">5.2 Character Type and Encoding</a></h2> - - <p>The C++/Parser mapping has built-in support for two character types: - <code>char</code> and <code>wchar_t</code>. You can select the - character type with the <code>--char-type</code> command line - option. The default character type is <code>char</code>. The - string-based built-in XML Schema types are returned as either - <code>std::string</code> or <code>std::wstring</code> depending - on the character type selected.</p> - - <p>Another aspect of the mapping that depends on the character type - is character encoding. For the <code>char</code> character type - the default encoding is UTF-8. Other supported encodings are - ISO-8859-1, Xerces-C++ Local Code Page (LPC), as well as - custom encodings. You can select which encoding should be used - in the object model with the <code>--char-encoding</code> command - line option.</p> - - <p>For the <code>wchar_t</code> character type the encoding is - automatically selected between UTF-16 and UTF-32/UCS-4 depending - on the size of the <code>wchar_t</code> type. On some platforms - (for example, Windows with Visual C++ and AIX with IBM XL C++) - <code>wchar_t</code> is 2 bytes long. For these platforms the - encoding is UTF-16. On other platforms <code>wchar_t</code> is 4 bytes - long and UTF-32/UCS-4 is used.</p> - - <p>Note also that the character encoding that is used in the object model - is independent of the encodings used in input and output XML. In fact, - all three (object mode, input XML, and output XML) can have different - encodings.</p> - - <h2><a name="5.3">5.3 Underlying XML Parser</a></h2> - - <p>The C++/Parser mapping can be used with either Xerces-C++ or Expat - as the underlying XML parser. You can select the XML parser with - the <code>--xml-parser</code> command line option. Valid values - for this option are <code>xerces</code> and <code>expat</code>. - The default XML parser is Xerces-C++.</p> - - <p>The generated code is identical for both parsers except for the - <code>xml_schema::document</code> class in which some of the - <code>parse()</code> functions are parser-specific as described - in <a href="#7">Chapter 7, "Document Parser and Error Handling"</a>.</p> - - - <h2><a name="5.4">5.4 XML Schema Validation</a></h2> - - <p>The C++/Parser mapping provides support for validating a - commonly-used subset of W3C XML Schema in the generated code. - For the list of supported XML Schema constructs refer to - <a href="#A">Appendix A, "Supported XML Schema Constructs"</a>.</p> - - <p>By default validation in the generated code is disabled if - the underlying XML parser is validating (Xerces-C++) and - enabled otherwise (Expat). See <a href="#5.3">Section 5.3, - "Underlying XML Parser"</a> for more information about - the underlying XML parser. You can override the default - behavior with the <code>--generate-validation</code> - and <code>--suppress-validation</code> command line options.</p> - - - <h2><a name="5.5">5.5 Support for Polymorphism</a></h2> - - <p>By default the XSD compiler generates non-polymorphic code. If your - vocabulary uses XML Schema polymorphism in the form of <code>xsi:type</code> - and/or substitution groups, then you will need to compile your schemas - with the <code>--generate-polymorphic</code> option to produce - polymorphism-aware code as well as pass <code>true</code> as the last - argument to the <code>xml_schema::document</code>'s constructors.</p> - - <p>When using the polymorphism-aware generated code, you can specify - several parsers for a single element by passing a parser map - instead of an individual parser to the parser connection function - for the element. One of the parsers will then be looked up and used - depending on the <code>xsi:type</code> attribute value or an element - name from a substitution group. Consider the following schema as an - example:</p> - - <pre class="xml"> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="person"> - <xs:sequence> - <xs:element name="name" type="xs:string"/> - </xs:sequence> - </xs:complexType> - - <!-- substitution group root --> - <xs:element name="person" type="person"/> - - <xs:complexType name="superman"> - <xs:complexContent> - <xs:extension base="person"> - <xs:attribute name="can-fly" type="xs:boolean"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="superman" - type="superman" - substitutionGroup="person"/> - - <xs:complexType name="batman"> - <xs:complexContent> - <xs:extension base="superman"> - <xs:attribute name="wing-span" type="xs:unsignedInt"/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="batman" - type="batman" - substitutionGroup="superman"/> - - <xs:complexType name="supermen"> - <xs:sequence> - <xs:element ref="person" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="supermen" type="supermen"/> - -</xs:schema> - </pre> - - <p>Conforming XML documents can use the <code>superman</code> - and <code>batman</code> types in place of the <code>person</code> - type either by specifying the type with the <code>xsi:type</code> - attributes or by using the elements from the substitution - group, for instance:</p> - - - <pre class="xml"> -<supermen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - - <person> - <name>John Doe</name> - </person> - - <superman can-fly="false"> - <name>James "007" Bond</name> - </superman> - - <superman can-fly="true" wing-span="10" xsi:type="batman"> - <name>Bruce Wayne</name> - </superman> - -</supermen> - </pre> - - <p>To print the data stored in such XML documents we can implement - the parsers as follows:</p> - - <pre class="c++"> -class person_pimpl: public virtual person_pskel -{ -public: - virtual void - pre () - { - cout << "starting to parse person" << endl; - } - - virtual void - name (const std::string& v) - { - cout << "name: " << v << endl; - } - - virtual void - post_person () - { - cout << "finished parsing person" << endl; - } -}; - -class superman_pimpl: public virtual superman_pskel, - public person_pimpl -{ -public: - virtual void - pre () - { - cout << "starting to parse superman" << endl; - } - - virtual void - can_fly (bool v) - { - cout << "can-fly: " << v << endl; - } - - virtual void - post_person () - { - post_superman (); - } - - virtual void - post_superman () - { - cout << "finished parsing superman" << endl - } -}; - -class batman_pimpl: public virtual batman_pskel, - public superman_pimpl -{ -public: - virtual void - pre () - { - cout << "starting to parse batman" << endl; - } - - virtual void - wing_span (unsigned int v) - { - cout << "wing-span: " << v << endl; - } - - virtual void - post_superman () - { - post_batman (); - } - - virtual void - post_batman () - { - cout << "finished parsing batman" << endl; - } -}; - </pre> - - <p>Note that because the derived type parsers (<code>superman_pskel</code> - and <code>batman_pskel</code>) are called via the <code>person_pskel</code> - interface, we have to override the <code>post_person()</code> - virtual function in <code>superman_pimpl</code> to call - <code>post_superman()</code> and the <code>post_superman()</code> - virtual function in <code>batman_pimpl</code> to call - <code>post_batman()</code>.</p> - - <p>The following code fragment shows how to connect the parsers together. - Notice that for the <code>person</code> element in the <code>supermen_p</code> - parser we specify a parser map instead of a specific parser and we pass - <code>true</code> as the last argument to the document parser constructor - to indicate that we are parsing potentially-polymorphic XML documents:</p> - - <pre class="c++"> -int -main (int argc, char* argv[]) -{ - // Construct the parser. - // - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - xml_schema::unsigned_int_pimpl unsigned_int_p; - - person_pimpl person_p; - superman_pimpl superman_p; - batman_pimpl batman_p; - - xml_schema::parser_map_impl person_map; - supermen_pimpl supermen_p; - - person_p.parsers (string_p); - superman_p.parsers (string_p, boolean_p); - batman_p.parsers (string_p, boolean_p, unsigned_int_p); - - // Here we are specifying a parser map which containes several - // parsers that can be used to parse the person element. - // - person_map.insert (person_p); - person_map.insert (superman_p); - person_map.insert (batman_p); - - supermen_p.person_parser (person_map); - - // Parse the XML document. The last argument to the document's - // constructor indicates that we are parsing polymorphic XML - // documents. - // - xml_schema::document doc_p (supermen_p, "supermen", true); - - supermen_p.pre (); - doc_p.parse (argv[1]); - supermen_p.post_supermen (); -} - </pre> - - <p>When polymorphism-aware code is generated, each element's - <code>*_parser()</code> function is overloaded to also accept - an object of the <code>xml_schema::parser_map</code> type. - For example, the <code>supermen_pskel</code> class from the - above example looks like this:</p> - - <pre class="c++"> -class supermen_pskel: public xml_schema::parser_complex_content -{ -public: - - ... - - // Parser construction API. - // - void - parsers (person_pskel&); - - // Individual element parsers. - // - void - person_parser (person_pskel&); - - void - person_parser (const xml_schema::parser_map&); - - ... -}; - </pre> - - <p>Note that you can specify both the individual (static) parser and - the parser map. The individual parser will be used when the static - element type and the dynamic type of the object being parsed are - the same. This is the case, for example, when there is no - <code>xsi:type</code> attribute and the element hasn't been - substituted. Because the individual parser for an element is - cached and no map lookup is necessary, it makes sense to specify - both the individual parser and the parser map when most of the - objects being parsed are of the static type and optimal - performance is important. The following code fragment shows - how to change the above example to set both the individual - parser and the parser map:</p> - - <pre class="c++"> -int -main (int argc, char* argv[]) -{ - ... - - person_map.insert (superman_p); - person_map.insert (batman_p); - - supermen_p.person_parser (person_p); - supermen_p.person_parser (person_map); - - ... -} - </pre> - - - <p>The <code>xml_schema::parser_map</code> interface and the - <code>xml_schema::parser_map_impl</code> default implementation - are presented below:</p> - - <pre class="c++"> -namespace xml_schema -{ - class parser_map - { - public: - virtual parser_base* - find (const ro_string* type) const = 0; - }; - - class parser_map_impl: public parser_map - { - public: - void - insert (parser_base&); - - virtual parser_base* - find (const ro_string* type) const; - - private: - parser_map_impl (const parser_map_impl&); - - parser_map_impl& - operator= (const parser_map_impl&); - - ... - }; -} - </pre> - - <p>The <code>type</code> argument in the <code>find()</code> virtual - function is the type name and namespace from the xsi:type attribute - (the namespace prefix is resolved to the actual XML namespace) - or the type of an element from the substitution group in the form - <code>"<name> <namespace>"</code> with the space and the - namespace part absent if the type does not have a namespace. - You can obtain a parser's dynamic type in the same format - using the <code>_dynamic_type()</code> function. The static - type can be obtained by calling the static <code>_static_type()</code> - function, for example <code>person_pskel::_static_type()</code>. - Both functions return a C string (<code>const char*</code> or - <code>const wchar_t*</code>, depending on the character type - used) which is valid for as long as the application is running. - The following example shows how we can implement our own parser - map using <code>std::map</code>:</p> - - - <pre class="c++"> -#include <map> -#include <string> - -class parser_map: public xml_schema::parser_map -{ -public: - void - insert (xml_schema::parser_base& p) - { - map_[p._dynamic_type ()] = &p; - } - - virtual xml_schema::parser_base* - find (const xml_schema::ro_string* type) const - { - map::const_iterator i = map_.find (type); - return i != map_.end () ? i->second : 0; - } - -private: - typedef std::map<std::string, xml_schema::parser_base*> map; - map map_; -}; - </pre> - - <p>Most of code presented in this section is taken from the - <code>polymorphism</code> example which can be found in the - <code>examples/cxx/parser/</code> directory of the XSD distribution. - Handling of <code>xsi:type</code> and substitution groups when used - on root elements requires a number of special actions as shown in - the <code>polyroot</code> example.</p> - - - <!-- Built-in XML Schema Type Parsers --> - - - <h1><a name="6">6 Built-In XML Schema Type Parsers</a></h1> - - <p>The XSD runtime provides parser implementations for all built-in - XML Schema types as summarized in the following table. Declarations - for these types are automatically included into each generated - header file. As a result you don't need to include any headers - to gain access to these parser implementations. Note that some - parsers return either <code>std::string</code> or - <code>std::wstring</code> depending on the character type selected.</p> - - <!-- border="1" is necessary for html2ps --> - <table id="builtin" border="1"> - <tr> - <th>XML Schema type</th> - <th>Parser implementation in the <code>xml_schema</code> namespace</th> - <th>Parser return type</th> - </tr> - - <tr> - <th colspan="3">anyType and anySimpleType types</th> - </tr> - <tr> - <td><code>anyType</code></td> - <td><code>any_type_pimpl</code></td> - <td><code>void</code></td> - </tr> - <tr> - <td><code>anySimpleType</code></td> - <td><code>any_simple_type_pimpl</code></td> - <td><code>void</code></td> - </tr> - - <tr> - <th colspan="3">fixed-length integral types</th> - </tr> - <!-- 8-bit --> - <tr> - <td><code>byte</code></td> - <td><code>byte_pimpl</code></td> - <td><code>signed char</code></td> - </tr> - <tr> - <td><code>unsignedByte</code></td> - <td><code>unsigned_byte_pimpl</code></td> - <td><code>unsigned char</code></td> - </tr> - - <!-- 16-bit --> - <tr> - <td><code>short</code></td> - <td><code>short_pimpl</code></td> - <td><code>short</code></td> - </tr> - <tr> - <td><code>unsignedShort</code></td> - <td><code>unsigned_short_pimpl</code></td> - <td><code>unsigned short</code></td> - </tr> - - <!-- 32-bit --> - <tr> - <td><code>int</code></td> - <td><code>int_pimpl</code></td> - <td><code>int</code></td> - </tr> - <tr> - <td><code>unsignedInt</code></td> - <td><code>unsigned_int_pimpl</code></td> - <td><code>unsigned int</code></td> - </tr> - - <!-- 64-bit --> - <tr> - <td><code>long</code></td> - <td><code>long_pimpl</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>unsignedLong</code></td> - <td><code>unsigned_long_pimpl</code></td> - <td><code>unsigned long long</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-length integral types</th> - </tr> - <tr> - <td><code>integer</code></td> - <td><code>integer_pimpl</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonPositiveInteger</code></td> - <td><code>non_positive_integer_pimpl</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonNegativeInteger</code></td> - <td><code>non_negative_integer_pimpl</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>positiveInteger</code></td> - <td><code>positive_integer_pimpl</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>negativeInteger</code></td> - <td><code>negative_integer_pimpl</code></td> - <td><code>long long</code></td> - </tr> - - <tr> - <th colspan="3">boolean types</th> - </tr> - <tr> - <td><code>boolean</code></td> - <td><code>boolean_pimpl</code></td> - <td><code>bool</code></td> - </tr> - - <tr> - <th colspan="3">fixed-precision floating-point types</th> - </tr> - <tr> - <td><code>float</code></td> - <td><code>float_pimpl</code></td> - <td><code>float</code></td> - </tr> - <tr> - <td><code>double</code></td> - <td><code>double_pimpl</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-precision floating-point types</th> - </tr> - <tr> - <td><code>decimal</code></td> - <td><code>decimal_pimpl</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">string-based types</th> - </tr> - <tr> - <td><code>string</code></td> - <td><code>string_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>normalizedString</code></td> - <td><code>normalized_string_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>token</code></td> - <td><code>token_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>Name</code></td> - <td><code>name_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>NMTOKEN</code></td> - <td><code>nmtoken_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>NCName</code></td> - <td><code>ncname_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - - <tr> - <td><code>language</code></td> - <td><code>language_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - - <tr> - <th colspan="3">qualified name</th> - </tr> - <tr> - <td><code>QName</code></td> - <td><code>qname_pimpl</code></td> - <td><code>xml_schema::qname</code><br/><a href="#6.1">Section 6.1, - "<code>QName</code> Parser"</a></td> - </tr> - - <tr> - <th colspan="3">ID/IDREF types</th> - </tr> - <tr> - <td><code>ID</code></td> - <td><code>id_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - <tr> - <td><code>IDREF</code></td> - <td><code>idref_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - - <tr> - <th colspan="3">list types</th> - </tr> - <tr> - <td><code>NMTOKENS</code></td> - <td><code>nmtokens_pimpl</code></td> - <td><code>xml_schema::string_sequence</code><br/><a href="#6.2">Section - 6.2, "<code>NMTOKENS</code> and <code>IDREFS</code> Parsers"</a></td> - </tr> - <tr> - <td><code>IDREFS</code></td> - <td><code>idrefs_pimpl</code></td> - <td><code>xml_schema::string_sequence</code><br/><a href="#6.2">Section - 6.2, "<code>NMTOKENS</code> and <code>IDREFS</code> Parsers"</a></td> - </tr> - - <tr> - <th colspan="3">URI types</th> - </tr> - <tr> - <td><code>anyURI</code></td> - <td><code>uri_pimpl</code></td> - <td><code>std::string</code> or <code>std::wstring</code></td> - </tr> - - <tr> - <th colspan="3">binary types</th> - </tr> - <tr> - <td><code>base64Binary</code></td> - <td><code>base64_binary_pimpl</code></td> - <td><code>std::[auto|unique]_ptr< xml_schema::buffer></code><br/> - <a href="#6.3">Section 6.3, "<code>base64Binary</code> and - <code>hexBinary</code> Parsers"</a></td> - </tr> - <tr> - <td><code>hexBinary</code></td> - <td><code>hex_binary_pimpl</code></td> - <td><code>std::[auto|unique]_ptr< xml_schema::buffer></code><br/> - <a href="#6.3">Section 6.3, "<code>base64Binary</code> and - <code>hexBinary</code> Parsers"</a></td> - </tr> - - <tr> - <th colspan="3">date/time types</th> - </tr> - <tr> - <td><code>date</code></td> - <td><code>date_pimpl</code></td> - <td><code>xml_schema::date</code><br/><a href="#6.5">Section 6.5, - "<code>date</code> Parser"</a></td> - </tr> - <tr> - <td><code>dateTime</code></td> - <td><code>date_time_pimpl</code></td> - <td><code>xml_schema::date_time</code><br/><a href="#6.6">Section 6.6, - "<code>dateTime</code> Parser"</a></td> - </tr> - <tr> - <td><code>duration</code></td> - <td><code>duration_pimpl</code></td> - <td><code>xml_schema::duration</code><br/><a href="#6.7">Section 6.7, - "<code>duration</code> Parser"</a></td> - </tr> - <tr> - <td><code>gDay</code></td> - <td><code>gday_pimpl</code></td> - <td><code>xml_schema::gday</code><br/><a href="#6.8">Section 6.8, - "<code>gDay</code> Parser"</a></td> - </tr> - <tr> - <td><code>gMonth</code></td> - <td><code>gmonth_pimpl</code></td> - <td><code>xml_schema::gmonth</code><br/><a href="#6.9">Section 6.9, - "<code>gMonth</code> Parser"</a></td> - </tr> - <tr> - <td><code>gMonthDay</code></td> - <td><code>gmonth_day_pimpl</code></td> - <td><code>xml_schema::gmonth_day</code><br/><a href="#6.10">Section 6.10, - "<code>gMonthDay</code> Parser"</a></td> - </tr> - <tr> - <td><code>gYear</code></td> - <td><code>gyear_pimpl</code></td> - <td><code>xml_schema::gyear</code><br/><a href="#6.11">Section 6.11, - "<code>gYear</code> Parser"</a></td> - </tr> - <tr> - <td><code>gYearMonth</code></td> - <td><code>gyear_month_pimpl</code></td> - <td><code>xml_schema::gyear_month</code><br/><a href="#6.12">Section - 6.12, "<code>gYearMonth</code> Parser"</a></td> - </tr> - <tr> - <td><code>time</code></td> - <td><code>time_pimpl</code></td> - <td><code>xml_schema::time</code><br/><a href="#6.13">Section 6.13, - "<code>time</code> Parser"</a></td> - </tr> - - </table> - - <h2><a name="6.1">6.1 <code>QName</code> Parser</a></h2> - - <p>The return type of the <code>qname_pimpl</code> parser implementation - is <code>xml_schema::qname</code> which represents an XML qualified - name. Its interface is presented below. - Note that the <code>std::string</code> type in the interface becomes - <code>std::wstring</code> if the selected character type is - <code>wchar_t</code>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class qname - { - public: - explicit - qname (const std::string& name); - qname (const std::string& prefix, const std::string& name); - - const std::string& - prefix () const; - - void - prefix (const std::string&); - - const std::string& - name () const; - - void - name (const std::string&); - }; - - bool - operator== (const qname&, const qname&); - - bool - operator!= (const qname&, const qname&); -} - </pre> - - - <h2><a name="6.2">6.2 <code>NMTOKENS</code> and <code>IDREFS</code> Parsers</a></h2> - - <p>The return type of the <code>nmtokens_pimpl</code> and - <code>idrefs_pimpl</code> parser implementations is - <code>xml_schema::string_sequence</code> which represents a - sequence of strings. Its interface is presented below. - Note that the <code>std::string</code> type in the interface becomes - <code>std::wstring</code> if the selected character type is - <code>wchar_t</code>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class string_sequence: public std::vector<std::string> - { - public: - string_sequence (); - - explicit - string_sequence (std::vector<std::string>::size_type n, - const std::string& x = std::string ()); - - template <typename I> - string_sequence (const I& begin, const I& end); - }; - - bool - operator== (const string_sequence&, const string_sequence&); - - bool - operator!= (const string_sequence&, const string_sequence&); -} - </pre> - - - <h2><a name="6.3">6.3 <code>base64Binary</code> and <code>hexBinary</code> Parsers</a></h2> - - <p>The return type of the <code>base64_binary_pimpl</code> and - <code>hex_binary_pimpl</code> parser implementations is either - <code>std::auto_ptr<xml_schema::buffer></code> (C++98) or - <code>std::unique_ptr<xml_schema::buffer></code> (C++11), - depending on the C++ standard selected (<code>--std</code> XSD - compiler option). The <code>xml_schema::buffer</code> type - represents a binary buffer and its interface is presented below.</p> - - <pre class="c++"> -namespace xml_schema -{ - class buffer - { - public: - typedef std::size_t size_t; - - class bounds {}; // Out of bounds exception. - - public: - explicit - buffer (size_t size = 0); - buffer (size_t size, size_t capacity); - buffer (const void* data, size_t size); - buffer (const void* data, size_t size, size_t capacity); - buffer (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - - public: - buffer (const buffer&); - - buffer& - operator= (const buffer&); - - void - swap (buffer&); - - public: - size_t - capacity () const; - - bool - capacity (size_t); - - public: - size_t - size () const; - - bool - size (size_t); - - public: - const char* - data () const; - - char* - data (); - - const char* - begin () const; - - char* - begin (); - - const char* - end () const; - - char* - end (); - }; - - bool - operator== (const buffer&, const buffer&); - - bool - operator!= (const buffer&, const buffer&); -} - </pre> - - <p>If the <code>assume_ownership</code> argument to the constructor - is <code>true</code>, the instance assumes the ownership of the - memory block pointed to by the <code>data</code> argument and will - eventually release it by calling <code>operator delete()</code>. The - <code>capacity()</code> and <code>size()</code> modifier functions - return <code>true</code> if the underlying buffer has moved. - </p> - - <p>The <code>bounds</code> exception is thrown if the constructor - arguments violate the <code>(size <= capacity)</code> - constraint.</p> - - - <h2><a name="6.4">6.4 Time Zone Representation</a></h2> - - <p>The <code>date</code>, <code>dateTime</code>, <code>gDay</code>, - <code>gMonth</code>, <code>gMonthDay</code>, <code>gYear</code>, - <code>gYearMonth</code>, and <code>time</code> XML Schema built-in - types all include an optional time zone component. The following - <code>xml_schema::time_zone</code> base class is used to represent - this information:</p> - - <pre class="c++"> -namespace xml_schema -{ - class time_zone - { - public: - time_zone (); - time_zone (short hours, short minutes); - - bool - zone_present () const; - - void - zone_reset (); - - short - zone_hours () const; - - void - zone_hours (short); - - short - zone_minutes () const; - - void - zone_minutes (short); - }; - - bool - operator== (const time_zone&, const time_zone&); - - bool - operator!= (const time_zone&, const time_zone&); -} - </pre> - - <p>The <code>zone_present()</code> accessor function returns <code>true</code> - if the time zone is specified. The <code>zone_reset()</code> modifier - function resets the time zone object to the <em>not specified</em> - state. If the time zone offset is negative then both hours and - minutes components are represented as negative integers.</p> - - - <h2><a name="6.5">6.5 <code>date</code> Parser</a></h2> - - <p>The return type of the <code>date_pimpl</code> parser implementation - is <code>xml_schema::date</code> which represents a year, a day, and a month - with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class date - { - public: - date (int year, unsigned short month, unsigned short day); - date (int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - }; - - bool - operator== (const date&, const date&); - - bool - operator!= (const date&, const date&); -} - </pre> - - <h2><a name="6.6">6.6 <code>dateTime</code> Parser</a></h2> - - <p>The return type of the <code>date_time_pimpl</code> parser implementation - is <code>xml_schema::date_time</code> which represents a year, a month, a day, - hours, minutes, and seconds with an optional time zone. Its interface - is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class date_time - { - public: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds); - - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds, short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); - }; - - bool - operator== (const date_time&, const date_time&); - - bool - operator!= (const date_time&, const date_time&); -} - </pre> - - <h2><a name="6.7">6.7 <code>duration</code> Parser</a></h2> - - <p>The return type of the <code>duration_pimpl</code> parser implementation - is <code>xml_schema::duration</code> which represents a potentially - negative duration in the form of years, months, days, hours, minutes, - and seconds. Its interface is presented below.</p> - - <pre class="c++"> -namespace xml_schema -{ - class duration - { - public: - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds); - - bool - negative () const; - - void - negative (bool); - - unsigned int - years () const; - - void - years (unsigned int); - - unsigned int - months () const; - - void - months (unsigned int); - - unsigned int - days () const; - - void - days (unsigned int); - - unsigned int - hours () const; - - void - hours (unsigned int); - - unsigned int - minutes () const; - - void - minutes (unsigned int); - - double - seconds () const; - - void - seconds (double); - }; - - bool - operator== (const duration&, const duration&); - - bool - operator!= (const duration&, const duration&); -} - </pre> - - - <h2><a name="6.8">6.8 <code>gDay</code> Parser</a></h2> - - <p>The return type of the <code>gday_pimpl</code> parser implementation - is <code>xml_schema::gday</code> which represents a day of the month with - an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class gday - { - public: - explicit - gday (unsigned short day); - gday (unsigned short day, short zone_hours, short zone_minutes); - - unsigned short - day () const; - - void - day (unsigned short); - }; - - bool - operator== (const gday&, const gday&); - - bool - operator!= (const gday&, const gday&); -} - </pre> - - <h2><a name="6.9">6.9 <code>gMonth</code> Parser</a></h2> - - <p>The return type of the <code>gmonth_pimpl</code> parser implementation - is <code>xml_schema::gmonth</code> which represents a month of the year - with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class gmonth - { - public: - explicit - gmonth (unsigned short month); - gmonth (unsigned short month, short zone_hours, short zone_minutes); - - unsigned short - month () const; - - void - month (unsigned short); - }; - - bool - operator== (const gmonth&, const gmonth&); - - bool - operator!= (const gmonth&, const gmonth&); -} - </pre> - - <h2><a name="6.10">6.10 <code>gMonthDay</code> Parser</a></h2> - - <p>The return type of the <code>gmonth_day_pimpl</code> parser implementation - is <code>xml_schema::gmonth_day</code> which represents a day and a month - of the year with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class gmonth_day - { - public: - gmonth_day (unsigned short month, unsigned short day); - gmonth_day (unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - }; - - bool - operator== (const gmonth_day&, const gmonth_day&); - - bool - operator!= (const gmonth_day&, const gmonth_day&); -} - </pre> - - <h2><a name="6.11">6.11 <code>gYear</code> Parser</a></h2> - - <p>The return type of the <code>gyear_pimpl</code> parser implementation - is <code>xml_schema::gyear</code> which represents a year with - an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class gyear - { - public: - explicit - gyear (int year); - gyear (int year, short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - }; - - bool - operator== (const gyear&, const gyear&); - - bool - operator!= (const gyear&, const gyear&); -} - </pre> - - <h2><a name="6.12">6.12 <code>gYearMonth</code> Parser</a></h2> - - <p>The return type of the <code>gyear_month_pimpl</code> parser implementation - is <code>xml_schema::gyear_month</code> which represents a year and a month - with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class gyear_month - { - public: - gyear_month (int year, unsigned short month); - gyear_month (int year, unsigned short month, - short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - }; - - bool - operator== (const gyear_month&, const gyear_month&); - - bool - operator!= (const gyear_month&, const gyear_month&); -} - </pre> - - - <h2><a name="6.13">6.13 <code>time</code> Parser</a></h2> - - <p>The return type of the <code>time_pimpl</code> parser implementation - is <code>xml_schema::time</code> which represents hours, minutes, - and seconds with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#6.4">Section 6.4, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -namespace xml_schema -{ - class time - { - public: - time (unsigned short hours, unsigned short minutes, double seconds); - time (unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes); - - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); - }; - - bool - operator== (const time&, const time&); - - bool - operator!= (const time&, const time&); -} - </pre> - - - <!-- Error Handling --> - - - <h1><a name="7">7 Document Parser and Error Handling</a></h1> - - <p>In this chapter we will discuss the <code>xml_schema::document</code> - type as well as the error handling mechanisms provided by the mapping - in more detail. As mentioned in <a href="#3.4">Section 3.4, - "Connecting the Parsers Together"</a>, the interface of - <code>xml_schema::document</code> depends on the underlying XML - parser selected (<a href="#5.3">Section 5.3, "Underlying XML - Parser"</a>). The following sections describe the - <code>document</code> type interface for Xerces-C++ and - Expat as underlying parsers.</p> - - <h2><a name="7.1">7.1 Xerces-C++ Document Parser</a></h2> - - <p>When Xerces-C++ is used as the underlying XML parser, the - <code>document</code> type has the following interface. Note that - if the character type is <code>wchar_t</code>, then the string type - in the interface becomes <code>std::wstring</code> - (see <a href="#5.2">Section 5.2, "Character Type and Encoding"</a>).</p> - - <pre class="c++"> -namespace xml_schema -{ - class parser_base; - class error_handler; - - class flags - { - public: - // Do not validate XML documents with the Xerces-C++ validator. - // - static const unsigned long dont_validate; - - // Do not initialize the Xerces-C++ runtime. - // - static const unsigned long dont_initialize; - - // Disable handling of subsequent imports for the same namespace - // in Xerces-C++ 3.1.0 and later. - // - static const unsigned long no_multiple_imports; - }; - - class properties - { - public: - // Add a location for a schema with a target namespace. - // - void - schema_location (const std::string& namespace_, - const std::string& location); - - // Add a location for a schema without a target namespace. - // - void - no_namespace_schema_location (const std::string& location); - }; - - class document - { - public: - document (parser_base& root, - const std::string& root_element_name, - bool polymorphic = false); - - document (parser_base& root, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false); - - public: - // Parse URI or a local file. - // - void - parse (const std::string& uri, - flags = 0, - const properties& = properties ()); - - // Parse URI or a local file with a user-provided error_handler - // object. - // - void - parse (const std::string& uri, - error_handler&, - flags = 0, - const properties& = properties ()); - - // Parse URI or a local file with a user-provided ErrorHandler - // object. Note that you must initialize the Xerces-C++ runtime - // before calling this function. - // - void - parse (const std::string& uri, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties ()); - - // Parse URI or a local file using a user-provided SAX2XMLReader - // object. Note that you must initialize the Xerces-C++ runtime - // before calling this function. - // - void - parse (const std::string& uri, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties ()); - - public: - // Parse std::istream. - // - void - parse (std::istream&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with a user-provided error_handler object. - // - void - parse (std::istream&, - error_handler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (std::istream&, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (std::istream&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties ()); - - public: - // Parse std::istream with a system id. - // - void - parse (std::istream&, - const std::string& system_id, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::string& system_id, - error_handler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with a system id and a user-provided - // ErrorHandler object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::string& system_id, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with a system id using a user-provided - // SAX2XMLReader object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::string& system_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties ()); - - public: - // Parse std::istream with system and public ids. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id, - error_handler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with system and public ids and a user-provided - // ErrorHandler object. Note that you must initialize the Xerces-C++ - // runtime before calling this function. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties ()); - - // Parse std::istream with system and public ids using a user- - // provided SAX2XMLReader object. Note that you must initialize - // the Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties ()); - - public: - // Parse InputSource. Note that you must initialize the Xerces-C++ - // runtime before calling this function. - // - void - parse (const xercesc::InputSource&, - flags = 0, - const properties& = properties ()); - - // Parse InputSource with a user-provided error_handler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - error_handler&, - flags = 0, - const properties& = properties ()); - - // Parse InputSource with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - xercesc::ErrorHandler&, - flags = 0, - const properties& = properties ()); - - // Parse InputSource using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties& = properties ()); - }; -} - </pre> - - <p>The <code>document</code> class is a root parser for - the vocabulary. The first argument to its constructors is the - parser for the type of the root element. The <code>parser_base</code> - class is the base type for all parser skeletons. The second and - third arguments to the <code>document</code>'s constructors are - the root element's name and namespace. The last argument, - <code>polymorphic</code>, specifies whether the XML documents - being parsed use polymorphism. For more information on support - for XML Schema polymorphism in the C++/Parser mapping refer - to <a href="#5.5">Section 5.5, "Support for Polymorphism"</a>.</p> - - <p>The rest of the <code>document</code> interface consists of overloaded - <code>parse()</code> functions. The last two arguments in each of these - functions are <code>flags</code> and <code>properties</code>. The - <code>flags</code> argument allows you to modify the default behavior - of the parsing functions. The <code>properties</code> argument allows - you to override the schema location attributes specified in XML - documents. Note that the schema location paths are relative to an - XML document unless they are complete URIs. For example if you want - to use a local schema file then you will need to use a URI in the - form <code>file:///absolute/path/to/your/schema</code>.</p> - - <p>A number of overloaded <code>parse()</code> functions have the - <code>system_id</code> and <code>public_id</code> arguments. The - system id is a <em>system</em> identifier of the resources being - parsed (for example, URI or a full file path). The public id is a - <em>public</em> identifier of the resource (for example, an - application-specific name or a relative file path). The system id - is used to resolve relative paths (for example, schema paths). In - diagnostics messages the public id is used if it is available. - Otherwise the system id is used.</p> - - <p>The error handling mechanisms employed by the <code>document</code> - parser are described in <a href="#7.3">Section 7.3, "Error - Handling"</a>.</p> - - <h2><a name="7.2">7.2 Expat Document Parser</a></h2> - - <p>When Expat is used as the underlying XML parser, the - <code>document</code> type has the following interface. Note that - if the character type is <code>wchar_t</code>, then the string type - in the interface becomes <code>std::wstring</code> - (see <a href="#5.2">Section 5.2, "Character Type and Encoding"</a>).</p> - - <pre class="c++"> -namespace xml_schema -{ - class parser_base; - class error_handler; - - class document - { - public: - document (parser_base&, - const std::string& root_element_name, - bool polymorphic = false); - - document (parser_base&, - const std::string& root_element_namespace, - const std::string& root_element_name, - bool polymorphic = false); - - public: - // Parse a local file. The file is accessed with std::ifstream - // in binary mode. The std::ios_base::failure exception is used - // to report io errors (badbit and failbit). - void - parse (const std::string& file); - - // Parse a local file with a user-provided error_handler - // object. The file is accessed with std::ifstream in binary - // mode. The std::ios_base::failure exception is used to report - // io errors (badbit and failbit). - // - void - parse (const std::string& file, error_handler&); - - public: - // Parse std::istream. - // - void - parse (std::istream&); - - // Parse std::istream with a user-provided error_handler object. - // - void - parse (std::istream&, error_handler&); - - // Parse std::istream with a system id. - // - void - parse (std::istream&, const std::string& system_id); - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::string& system_id, - error_handler&); - - // Parse std::istream with system and public ids. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id); - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::string& system_id, - const std::string& public_id, - error_handler&); - - public: - // Parse a chunk of input. You can call these functions multiple - // times with the last call having the last argument true. - // - void - parse (const void* data, std::size_t size, bool last); - - void - parse (const void* data, std::size_t size, bool last, - error_handler&); - - void - parse (const void* data, std::size_t size, bool last, - const std::string& system_id); - - void - parse (const void* data, std::size_t size, bool last, - const std::string& system_id, - error_handler&); - - void - parse (const void* data, std::size_t size, bool last, - const std::string& system_id, - const std::string& public_id); - - void - parse (const void* data, std::size_t size, bool last, - const std::string& system_id, - const std::string& public_id, - error_handler&); - - public: - // Low-level Expat-specific parsing API. - // - void - parse_begin (XML_Parser); - - void - parse_begin (XML_Parser, const std::string& public_id); - - void - parse_begin (XML_Parser, error_handler&); - - void - parse_begin (XML_Parser, - const std::string& public_id, - error_handler&); - void - parse_end (); - }; -} - </pre> - - <p>The <code>document</code> class is a root parser for - the vocabulary. The first argument to its constructors is the - parser for the type of the root element. The <code>parser_base</code> - class is the base type for all parser skeletons. The second and - third arguments to the <code>document</code>'s constructors are - the root element's name and namespace. The last argument, - <code>polymorphic</code>, specifies whether the XML documents - being parsed use polymorphism. For more information on support - for XML Schema polymorphism in the C++/Parser mapping refer - to <a href="#5.5">Section 5.5, "Support for Polymorphism"</a>.</p> - - <p>A number of overloaded <code>parse()</code> functions have the - <code>system_id</code> and <code>public_id</code> arguments. The - system id is a <em>system</em> identifier of the resources being - parsed (for example, URI or a full file path). The public id is a - <em>public</em> identifier of the resource (for example, an - application-specific name or a relative file path). The system id - is used to resolve relative paths. In diagnostics messages the - public id is used if it is available. Otherwise the system id - is used.</p> - - <p>The <code>parse_begin()</code> and <code>parse_end()</code> functions - present a low-level, Expat-specific parsing API for maximum control. - A typical use-case would look like this (pseudo-code):</p> - - <pre class="c++"> -xxx_pimpl root_p; -document doc_p (root_p, "root"); - -root_p.pre (); -doc_p.parse_begin (xml_parser, "file.xml"); - -while (more_data_to_parse) -{ - // Call XML_Parse or XML_ParseBuffer. - - if (status == XML_STATUS_ERROR) - break; -} - -// Call parse_end even in case of an error to translate -// XML and Schema errors to exceptions or error_handler -// calls. -// -doc.parse_end (); -result_type result (root_p.post_xxx ()); - </pre> - - <p>Note that if your vocabulary uses XML namespaces, the - <code>XML_ParserCreateNS()</code> functions should be used to create - the XML parser. Space (<code>XML_Char (' ')</code>) should be used - as a separator (the second argument to <code>XML_ParserCreateNS()</code>). - </p> - - <p>The error handling mechanisms employed by the <code>document</code> - parser are described in <a href="#7.3">Section 7.3, "Error - Handling"</a>.</p> - - - <h2><a name="7.3">7.3 Error Handling</a></h2> - - <p>There are three categories of errors that can result from running - a parser on an XML document: System, XML, and Application. - The System category contains memory allocation and file/stream - operation errors. The XML category covers XML parsing and - well-formedness checking as well as XML Schema validation errors. - Finally, the Application category is for application logic errors - that you may want to propagate from parser implementations to the - caller of the parser. - </p> - - <p>The System errors are mapped to the standard exceptions. The - out of memory condition is indicated by throwing an instance - of <code>std::bad_alloc</code>. The stream operation errors - are reported either by throwing an instance of - <code>std::ios_base::failure</code> if exceptions are enabled - or by setting the stream state.</p> - - <p>Note that if you are parsing <code>std::istream</code> on - which exceptions are not enabled, then you will need to - check the stream state before calling the <code>post()</code> - callback, as shown in the following example:</p> - - <pre class="c++"> -int -main (int argc, char* argv[]) -{ - ... - - std::ifstream ifs (argv[1]); - - if (ifs.fail ()) - { - cerr << argv[1] << ": unable to open" << endl; - return 1; - } - - root_p.pre (); - doc_p.parse (ifs); - - if (ifs.fail ()) - { - cerr << argv[1] << ": io failure" << endl; - return 1; - } - - result_type result (root_p.post_xxx ()); -} - </pre> - - <p>The above example can be rewritten to use exceptions - as shown below:</p> - - <pre class="c++"> -int -main (int argc, char* argv[]) -{ - try - { - ... - - std::ifstream ifs; - ifs.exceptions (std::ifstream::badbit | std::ifstream::failbit); - ifs.open (argv[1]); - - root_p.pre (); - doc_p.parse (ifs); - result_type result (root_p.post_xxx ()); - } - catch (const std::ifstream::failure&) - { - cerr << argv[1] << ": unable to open or io failure" << endl; - return 1; - } -} - </pre> - - - <p>For reporting application errors from parsing callbacks, you - can throw any exceptions of your choice. They are propagated to - the caller of the parser without any alterations.</p> - - <p>The XML errors can be reported either by throwing the - <code>xml_schema::parsing</code> exception or by a callback - to the <code>xml_schema::error_handler</code> object (and - <code>xercesc::ErrorHandler</code> object in case of Xerces-C++).</p> - - <p>The <code>xml_schema::parsing</code> exception contains - a list of warnings and errors that were accumulated during - parsing. Note that this exception is thrown only if there - was an error. This makes it impossible to obtain warnings - from an otherwise successful parsing using this mechanism. - The following listing shows the definition of - <code>xml_schema::parsing</code> exception. Note that if the - character type is <code>wchar_t</code>, then the string type - and output stream type in the definition become - <code>std::wstring</code> and <code>std::wostream</code>, - respectively (see <a href="#5.2">Section 5.2, "Character Type - and Encoding"</a>).</p> - - <pre class="c++"> -namespace xml_schema -{ - class exception: public std::exception - { - protected: - virtual void - print (std::ostream&) const = 0; - }; - - inline std::ostream& - operator<< (std::ostream& os, const exception& e) - { - e.print (os); - return os; - } - - - class severity - { - public: - enum value - { - warning, - error - }; - }; - - - class error - { - public: - error (xml_schema::severity, - const std::string& id, - unsigned long line, - unsigned long column, - const std::string& message); - - xml_schema::severity - severity () const; - - const std::string& - id () const; - - unsigned long - line () const; - - unsigned long - column () const; - - const std::string& - message () const; - }; - - std::ostream& - operator<< (std::ostream&, const error&); - - - class diagnostics: public std::vector<error> - { - }; - - std::ostream& - operator<< (std::ostream&, const diagnostics&); - - - class parsing: public exception - { - public: - parsing (); - parsing (const xml_schema::diagnostics&); - - const xml_schema::diagnostics& - diagnostics () const; - - virtual const char* - what () const throw (); - - protected: - virtual void - print (std::ostream&) const; - }; -} - </pre> - - <p>The following example shows how we can catch and print this - exception. The code will print diagnostics messages one per line - in case of an error.</p> - - <pre class="c++"> -int -main (int argc, char* argv[]) -{ - try - { - // Parse. - } - catch (const xml_schema::parsing& e) - { - cerr << e << endl; - return 1; - } -} - </pre> - - <p>With the <code>error_handler</code> approach the diagnostics - messages are delivered as parsing progresses. The following - listing presents the definition of the <code>error_handler</code> - interface. Note that if the character type is <code>wchar_t</code>, - then the string type in the interface becomes <code>std::wstring</code> - (see <a href="#5.2">Section 5.2, "Character Type and Encoding"</a>).</p> - - <pre class="c++"> -namespace xml_schema -{ - class error_handler - { - public: - class severity - { - public: - enum value - { - warning, - error, - fatal - }; - }; - - virtual bool - handle (const std::string& id, - unsigned long line, - unsigned long column, - severity, - const std::string& message) = 0; - }; -} - </pre> - - <p>The return value of the <code>handle()</code> function indicates whether - parsing should continue if possible. The error with the fatal severity - level terminates the parsing process regardless of the returned value. - At the end of the parsing process with an error that was reported via - the <code>error_handler</code> object, an empty - <code>xml_schema::parsing</code> exception is thrown to indicate - the failure to the caller. You can alter this behavior by throwing - your own exception from the <code>handle()</code> function.</p> - - - <!-- Appendix A --> - - - <h1><a name="A">Appendix A — Supported XML Schema Constructs</a></h1> - - <p>The C++/Parser mapping supports validation of the following W3C XML - Schema constructs in the generated code.</p> - - <!-- border="1" is necessary for html2ps --> - <table id="features" border="1"> - <tr><th>Construct</th><th>Notes</th></tr> - <tr><th colspan="2">Structure</th></tr> - - <tr><td>element</td><td></td></tr> - <tr><td>attribute</td><td></td></tr> - - <tr><td>any</td><td></td></tr> - <tr><td>anyAttribute</td><td></td></tr> - - <tr><td>all</td><td></td></tr> - <tr><td>sequence</td><td></td></tr> - <tr><td>choice</td><td></td></tr> - - <tr><td>complex type, empty content</td><td></td></tr> - <tr><td>complex type, mixed content</td><td></td></tr> - <tr><td>complex type, simple content extension</td><td></td></tr> - <tr><td>complex type, simple content restriction</td> - <td>Simple type facets are not validated.</td></tr> - <tr><td>complex type, complex content extension</td><td></td></tr> - <tr><td>complex type, complex content restriction</td><td></td></tr> - - <tr><td>list</td><td></td></tr> - - <tr><th colspan="2">Datatypes</th></tr> - - <tr><td>byte</td><td></td></tr> - <tr><td>unsignedByte</td><td></td></tr> - <tr><td>short</td><td></td></tr> - <tr><td>unsignedShort</td><td></td></tr> - <tr><td>int</td><td></td></tr> - <tr><td>unsignedInt</td><td></td></tr> - <tr><td>long</td><td></td></tr> - <tr><td>unsignedLong</td><td></td></tr> - <tr><td>integer</td><td></td></tr> - <tr><td>nonPositiveInteger</td><td></td></tr> - <tr><td>nonNegativeInteger</td><td></td></tr> - <tr><td>positiveInteger</td><td></td></tr> - <tr><td>negativeInteger</td><td></td></tr> - - <tr><td>boolean</td><td></td></tr> - - <tr><td>float</td><td></td></tr> - <tr><td>double</td><td></td></tr> - <tr><td>decimal</td><td></td></tr> - - <tr><td>string</td><td></td></tr> - <tr><td>normalizedString</td><td></td></tr> - <tr><td>token</td><td></td></tr> - <tr><td>Name</td><td></td></tr> - <tr><td>NMTOKEN</td><td></td></tr> - <tr><td>NCName</td><td></td></tr> - <tr><td>language</td><td></td></tr> - <tr><td>anyURI</td><td></td></tr> - - <tr><td>ID</td><td>Identity constraint is not enforced.</td></tr> - <tr><td>IDREF</td><td>Identity constraint is not enforced.</td></tr> - - <tr><td>NMTOKENS</td><td></td></tr> - <tr><td>IDREFS</td><td>Identity constraint is not enforced.</td></tr> - - <tr><td>QName</td><td></td></tr> - - <tr><td>base64Binary</td><td></td></tr> - <tr><td>hexBinary</td><td></td></tr> - - <tr><td>date</td><td></td></tr> - <tr><td>dateTime</td><td></td></tr> - <tr><td>duration</td><td></td></tr> - <tr><td>gDay</td><td></td></tr> - <tr><td>gMonth</td><td></td></tr> - <tr><td>gMonthDay</td><td></td></tr> - <tr><td>gYear</td><td></td></tr> - <tr><td>gYearMonth</td><td></td></tr> - <tr><td>time</td><td></td></tr> - </table> - - - </div> -</div> - -</body> -</html> diff --git a/xsd/doc/cxx/parser/guide/makefile b/xsd/doc/cxx/parser/guide/makefile deleted file mode 100644 index 127a0fa..0000000 --- a/xsd/doc/cxx/parser/guide/makefile +++ /dev/null @@ -1,56 +0,0 @@ -# file : doc/cxx/parser/guide/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(out_base)/cxx-parser-guide.ps $(out_base)/cxx-parser-guide.pdf - -$(out_base)/cxx-parser-guide.ps: $(src_base)/index.xhtml \ - $(src_base)/figure-1.png \ - $(src_base)/guide.html2ps \ - | $(out_base)/. - $(call message,html2ps $<,html2ps -f $(src_base)/guide.html2ps -o $@ $<) - -$(out_base)/cxx-parser-guide.pdf: $(out_base)/cxx-parser-guide.ps | $(out_base)/. - $(call message,ps2pdf $<,ps2pdf14 $< $@) - -# Install & Dist. -# -$(install): path := $(subst $(src_root)/doc/,,$(src_base)) -$(dist): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(out_base)/cxx-parser-guide.ps $(out_base)/cxx-parser-guide.pdf - $(call install-data,$(src_base)/figure-1.png,$(install_doc_dir)/xsd/$(path)/figure-1.png) - $(call install-data,$(src_base)/index.xhtml,$(install_doc_dir)/xsd/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-parser-guide.ps,$(install_doc_dir)/xsd/$(path)/cxx-parser-guide.ps) - $(call install-data,$(out_base)/cxx-parser-guide.pdf,$(install_doc_dir)/xsd/$(path)/cxx-parser-guide.pdf) - -$(dist): $(out_base)/cxx-parser-guide.ps $(out_base)/cxx-parser-guide.pdf - $(call install-data,$(src_base)/figure-1.png,$(dist_prefix)/$(path)/figure-1.png) - $(call install-data,$(src_base)/index.xhtml,$(dist_prefix)/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-parser-guide.ps,$(dist_prefix)/$(path)/cxx-parser-guide.ps) - $(call install-data,$(out_base)/cxx-parser-guide.pdf,$(dist_prefix)/$(path)/cxx-parser-guide.pdf) - -$(dist-win): $(dist) - - -# Clean -# -$(clean): -ifneq ($(xsd_clean_gen),n) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-parser-guide.ps) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-parser-guide.pdf) -endif - -# How to. -# -$(call include,$(bld_root)/install.make) diff --git a/xsd/doc/cxx/parser/makefile b/xsd/doc/cxx/parser/makefile deleted file mode 100644 index 1e1c22c..0000000 --- a/xsd/doc/cxx/parser/makefile +++ /dev/null @@ -1,21 +0,0 @@ -# file : doc/cxx/parser/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -docs := guide - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(docs))) -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(docs))) -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(docs))) -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(docs))) -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(docs))) - -$(foreach m,$(docs),$(call import,$(src_base)/$m/makefile)) diff --git a/xsd/doc/cxx/tree/guide/cxx-tree-guide.pdf b/xsd/doc/cxx/tree/guide/cxx-tree-guide.pdf Binary files differdeleted file mode 100644 index 3e19f3e..0000000 --- a/xsd/doc/cxx/tree/guide/cxx-tree-guide.pdf +++ /dev/null diff --git a/xsd/doc/cxx/tree/guide/cxx-tree-guide.ps b/xsd/doc/cxx/tree/guide/cxx-tree-guide.ps deleted file mode 100644 index a6c4a2b..0000000 --- a/xsd/doc/cxx/tree/guide/cxx-tree-guide.ps +++ /dev/null @@ -1,3509 +0,0 @@ -%!PS -%%Title: C++/Tree Mapping Getting Started Guide -%%Creator: html2ps version 1.0 beta7 -%%EndComments -save -2000 dict begin -/d {bind def} bind def -/D {def} d -/t true D -/f false D -/FL [/Times-Roman -/Times-Italic -/Times-Bold -/Times-BoldItalic -/Courier -/Courier-Oblique -/Courier-Bold -/Courier-BoldOblique -/Helvetica -/Helvetica-Oblique -/Helvetica-Bold -/Helvetica-BoldOblique] D -/WF t D -/WI 0 D -/F 1 D -/IW 471 F div D -/IL 621 F div D -/PS 791 D -/EF [0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 2] D -/EZ [12 10 19 17 15 13 12 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8] D -/Ey [0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] D -/EG [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] D -/Tm [1 1 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1.3 0 0] D -/Bm [1 1 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1 0 0] D -/Lm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 2 0 0 0] D -/Rm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0] D -/EU [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0] D -/NO f D -/YY [[{()}{ h }][{ h }{()}][{()}{()}]] D -/ZZ [[{ (July 2014) }{ Pn }][{ Pn }{ (July 2014) }][{ Ti }{ Ti }]] D -/Ts EZ 0 get D -/TU f D -/Xp t D -/AU f D -/SN 0 D -/Cf t D -/Tp t D -/Fe f D -/TI 2 Ts mul D -/Fm 14 D -/xL 71 D -/xR 71 D -/yL 706 D -/yR 706 D -/Wl 471 F div D -/Wr 471 F div D -/hL 621 F div D -/hR 621 F div D -/FE {newpath Fm neg Fm M CP BB IW Fm add Fm L IW Fm add IL Fm add neg L CP BB - Fm neg IL Fm add neg L closepath} D -/LA {PM 0 eq{/IW Wl D /IL hL D}{/IW Wr D /IL hR D}ie /W IW D /LL W D /LS W D - TU PM 0 eq and{IW 56 F div add SA{Sf div}if 0 translate} - {PM 0 eq{xL yL}{xR yR}ie translate F SA{Sf mul}if dup scale - CS CF FS Cf{CA CL get VC}if /Bb f D}ie 0 0 M - TF not Tc or {Cf{gsave SA{1 Sf div dup scale}if Cb VC FE fill grestore}if}if}D -/Pi 0 Ts mul D -/SG [0.8 1 1] D -/Ab 15 D -/J 0 D -/Tc t D -/NH 6 D -/Nf f D -/Pa f D -/LH 1.2 D -/XR f D -/Xr {/pN E D ( [p ) WB pN WB (] )WB} D -/Db [16#FF 16#FF 16#FF] D -/Dt [16#00 16#00 16#00] D -/eA f D -/Fi f D -/bT f D -/Lc t D -/Dl [16#00 16#00 16#00] D -/LX f D -/Br 0.25 D -/IA ([IMAGE]) D -/DS {/PF f D()WB NL NP()pop RC ZF} D -/Gb f D -/Mb t D -/Hc [16#00 16#00 16#00] D -/Bl 3 D -/MI -15.6 D -/DX (DRAFT) D -/Di 0 D -/Tt 113.385826771654 D -/Th { ( -) 2 Al()BR ( - ) 0 1 -1 H()4 FZ (C++/Tree Mapping) ES()EH ( - ) 0 1 -1 H()4 FZ (Getting Started Guide) ES()EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( -) Ea()BR ( - ) 0 P (Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC) EP ( - - ) 0 P (Permission is granted to copy, distribute and/or modify this - document under the terms of the - ) R0 2 A (GNU Free - Documentation License, version 1.2) EA (; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - ) EP ( - - ) 0 P (This document is available in the following formats: - ) R1 2 A (XHTML) EA (, - ) R2 2 A (PDF) EA (, and - ) R3 2 A (PostScript) EA (.) EP()} D -/tH {()0 1 -1 H (Table of Contents) EH()} D -/FD 2 D -/Dy 2 D -/cD [16#F0 16#F0 16#F0] D -/FW 0.6 D -/FU [16#00 16#00 16#00] D -/ET {/RM f D /A0 3 D /PN SN D /OU t D /Ou t D /W IW D /LL W D D1 - Ms not TP and{Ip}if /TF f D} D - -%-- End of variable part -- -/MySymbol 10 dict dup begin - /FontType 3 D /FontMatrix [.001 0 0 .001 0 0 ] D /FontBBox [25 -10 600 600] D - /Encoding 256 array D 0 1 255{Encoding exch /.notdef put}for - Encoding (e) 0 get /euro put - /Metrics 2 dict D Metrics begin - /.notdef 0 D - /euro 651 D - end - /BBox 2 dict D BBox begin - /.notdef [0 0 0 0] D - /euro [25 -10 600 600] D - end - /CharacterDefs 2 dict D CharacterDefs begin - /.notdef {} D - /euro{newpath 114 600 moveto 631 600 lineto 464 200 lineto 573 200 lineto - 573 0 lineto -94 0 lineto 31 300 lineto -10 300 lineto closepath clip - 50 setlinewidth newpath 656 300 moveto 381 300 275 0 360 arc stroke - -19 350 moveto 600 0 rlineto -19 250 moveto 600 0 rlineto stroke}d - end - /BuildChar{0 begin - /char E D /fontdict E D /charname fontdict /Encoding get char get D - fontdict begin - Metrics charname get 0 BBox charname get aload pop setcachedevice - CharacterDefs charname get exec - end - end}D - /BuildChar load 0 3 dict put /UniqueID 1 D -end -definefont pop - -/Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D -/EX {EC cvx exec} D -/DU {} d -/BB {pop pop}d -/ie {ifelse} d -/E {exch} d -/M {moveto} d -/R {rmoveto} d -/L {lineto} d -/RL {rlineto} d -/CP {currentpoint} d -/SW {stringwidth} d -/GI {getinterval} d -/PI {putinterval} d -/Sg {setgray} d -/LW {setlinewidth} d -/S {dup () ne OU and{0 Co R AT 3 eq LB and HF not and A1 0 ne A2 0 ne or and - {A2 0 32 A1 0 6 -1 roll awidthshow}{show}ie 0 Co neg R}{pop}ie - OU PH 3 eq or{/Ms t D}if} D -/U {OU{gsave CP currentfont /FontInfo get /UnderlinePosition get - 0 E currentfont /FontMatrix get dtransform E pop add newpath M dup SW pop - CJ 0 RL stroke grestore}if} D -/B {OU Br 0 gt and{CP Ts neg Ts .33 mul R gsave 0 Sg - CP newpath Ts Br mul 0 360 arc closepath UI 2 mod 0 eq{stroke}{fill}ie - grestore M CP E Ts Br 1 add mul sub E BB /Ms t D}if}D -/NP {Ms TP not or PA and OU and{TP{OR}if f1{mF k2 /mF E D /YC 0 D}if - TP TU not PM 0 eq or and{showpage}if DU Ip TE not{LA}if 0.6 LW - /CI 0 D /TP t D /Hs f D /hl 6 D /Hv 6 D /HI hi D /Ms f D}if Bs XO BO M} D -/Np {LE sub CP E pop gt PL 0 eq and{NP}if}D -/Ip {/PN PN 1 add D /Pn RM{1}{4}ie PN Ns D /PM PN SN sub 2 mod D} D -/GP {E dup 3 -1 roll get PN 1 add 2 mod get dup type /integertype eq - {get 0 get}{E pop}ie}d -/Fc {dup 2 GP exec SW pop /S1 E D dup 1 GP exec SW pop /S2 E D 0 GP exec SW - pop /S3 E D S1 0 gt{S2 2 mul S1 add S3 2 mul S1 add 2 copy lt{E}if pop}{0}ie - S2 S3 add 2 copy lt{E}if pop IW .9 mul div dup 1 gt{1 E div}{pop 1}ie}D -/OR {Df{Sd}if tp not{gsave SA{1 Sf div dup scale}if Fe{Cf{FU VC}if FW LW - 1 setlinejoin FE stroke}if /YO {60 F div dup 40 gt{pop 40}if}D /cs CS D - /cf CF D /CF 0 D /pf PF D /PF f D /Fn FN D /At AT D /AT 0 D /FN EF Hf 1 add - get D Fz Fs FS ZZ Fc Fz mul Fs FS EU Hf 1 add get dup type /arraytype eq - Cf and{VC}{pop 0 Sg}ie IW IL neg YO sub M ZZ 1 GP exec dup SW pop neg 0 R Sh - 0 IL neg YO sub M ZZ 0 GP exec Sh ZZ 2 GP exec dup SW pop IW E sub 2 div - IL neg YO sub M Sh Fz Fs FS NO{/AW IW Pn SW pop sub D AW 2 div IL neg YO sub - S1 0 gt S2 AW .45 mul gt or S3 AW .45 mul gt or{Fz 2 mul sub}if M Pn Sh}if - EU Hf get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie YY Fc /FN EF Hf get D - Hz mul HS FS IW YO M YY 1 GP exec dup SW pop neg 0 R Sh 0 YO M YY 0 GP exec Sh - YY 2 GP exec dup SW pop IW E sub 2 div YO M Sh /FN Fn D /AT At D t Pb XO SZ - SL get neg R /PF pf D grestore /CF 0 D cs cf FS}if}D -/Sh {dup () ne{CP Hz 4 div sub BB show CP CS add BB}{pop}ie}D -/Pb {/OU E D /Ou OU D /PB t D 0 0 M Ba{/Sa save D /BP t D /Fl t D RC /PL 0 D - /PH 0 D /W IW D /LE IL .7 mul D /EO 0 D SI ZF /YA 0 D /BO 0 D /C1 () D - BA 0 Ts neg R Bb{Xl Yl Xh Yh}if Bb CP Sa restore M - {/Yh E D /Xh E D /Yl E D /Xl E D}if /Fl t D}if - BL /OU t D /HM f D /Ou t D /PB f D} D -/Bs {/BP Ba not D}D -/reencodeISO { - dup dup findfont dup length dict begin{1 index /FID ne{D}{pop pop}ie}forall - /Encoding ISOLatin1Encoding D currentdict end definefont} D -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] D -[128/backslash 129/parenleft 130/parenright 141/circumflex 142/tilde -143/perthousand 144/dagger 145/daggerdbl 146/Ydieresis 147/scaron 148/Scaron -149/oe 150/OE 151/guilsinglleft 152/guilsinglright 153/quotesinglbase -154/quotedblbase 155/quotedblleft 156/quotedblright 157/endash 158/emdash -159/trademark] -aload length 2 idiv 1 1 3 -1 roll{pop ISOLatin1Encoding 3 1 roll put}for -/colorimage where{pop}{ - /colorimage { - pop pop /Pr E D {/Cv Pr D /Gr Cv length 3 idiv string D 0 1 Gr length 1 sub - {Gr E dup /i E 3 mul D Cv i get 0.299 mul Cv i 1 add get 0.587 mul add - Cv i 2 add get 0.114 mul add cvi put}for Gr} image} D -}ie -/pdfmark where{pop}{userdict /pdfmark /cleartomark load put}ie -WF{FL{reencodeISO D}forall}{4 1 FL length 1 sub{FL E get reencodeISO D}for}ie -/Symbol dup dup findfont dup length dict begin - {1 index /FID ne{D}{pop pop}ie}forall /Encoding [Encoding aload pop] - dup 128 /therefore put D currentdict end definefont D - -/SF {/CS E D SZ SL CS put FO SL FN put /YI CS LH neg mul D dup ST cvs ( ) join - CS ST cvs join C1 E join ( NF ) join /C1 E D CS NF /Wf WF FN 0 gt or D - /BW Wf{( ) SW pop}{0}ie D}D -/NF {/cS E D /cF E D cF 0 ge{FL cF get}{cF -1 eq{/Symbol}{/MySymbol}ie}ie - findfont cS scalefont setfont} D -/FS {CF or /CF E D FR SL CF put CF CF 0 ge{FN 4 mul add}if E SF} D -/PC {SH /BP f D fin not GL not and{NL}if /HM t D /LL LS D} D -/BS {/TX E D Wf{/fin f D /CW 0 D /LK 0 D /SC 0 D - /RT TX D {RT ( ) search{/NW E D pop /RT E D /WH NW SW pop D CW WH add LL gt - {TX SC LK SC sub 1 sub NN GI GL{SH cF cS OC - 2 copy cS ne E cF ne or{NF}{pop pop}ie}{PC /CW WH BW add D}ie - /SC LK D} - {GL{JC}if - /CW CW WH add BW add D /HM t D}ie /GL f D /Ph f D - /LK LK NW length 1 add add D}{pop exit}ie}loop - /fin t D TX SC LK SC sub GI SH RT () ne{GL not{CC}if}if - /LC TX length D /WH RT SW pop D CW WH add Hy{HC SW pop add}if LL gt - {RT GL{SH cF cS OC 2 copy cS ne E cF ne or{NF}{pop pop}ie - Hy{/Ph t D}if /LL LS D}{NL /LL LS D SH}ie} - {RT PC Hy{CC}if /Ph Ph Hy or D}ie RT () ne{/GL t D /HM t D}if} - {TX SW pop LL le{TX SH}{/NW () D 0 2 TX length 1 sub - {/CW E D TX 0 CW GI dup SW pop LL gt{pop NW SH /HM t D NL/LL W XO sub MR sub D - /CW CW 2 sub NN D /TX TX CW TX length CW sub GI D TX BS exit} - {/NW E D}ie}for}ie}ie /HM t D}D -/CC {C0 length 0 gt{JC}if /C0 [C1 L1 YA YB Mf NS NB TB AF Bw] D - /C1 () D /L0 L1 D /YA 0 D /YB 0 D /Mf 0 D /NS 0 D /NB 0 D}D -/JC {C0 aload length 0 gt{pop pop pop NB add /NB E D NS add /NS E D - dup Mf gt{/Mf E D}{pop}ie dup YB gt{/YB E D}{pop}ie - dup YA gt{/YA E D}{pop}ie pop C1 join /C1 E D /C0 [] D}if}D -/OC {C0 length 0 gt{C1 L1 L0 sub YA YB Mf NS NB TB AF Bw GL C0 aload pop - /Bw E D /AF E D /TB E D /NB E D /NS E D /Mf E D /YB E D /YA E D /C0 [] D - /L1 E D /C1 E D Ph{HC SH}if NL /GL E D /Bw E D /AF E D /TB E D /NB E D /NS E D - /Mf E D /YB E D /YA E D /L1 E D /LL W L1 sub XO sub MR sub WH sub D /CW 0 D - C1 E join /C1 E D}if}D -/BT {/LB t D dup length string copy RS dup dup () ne E ( ) ne and - {/CI 0 D /LS LL D /LL W L1 sub XO sub MR sub D BS} - {dup ( ) eq{/GL f D}if dup () eq L1 0 eq or{pop}{SH /BP f D /Ph f D}ie}ie - /LB f D} D -/BL {CP E pop XO E M} D -/NL {JC /GL f D /SK W XO sub MR sub L1 sub TB{Bw add}if D - /YA LF{Mf HM Fl not and PF or{LH mul}if}{0 /LF t D}ie YA 2 copy lt{E}if pop D - C1 () ne{/FB YB Mf SA{Sf mul}if 4 div 2 copy lt{E}if pop D}if Fl{/Ya YA D}if - CP E pop YA sub YB sub LE neg lt Fl not and PB not and{NP}if NT TL BL - OU PF not and PB or{/RE L1 TB{Bw sub}if - W XO sub MR sub div YA YB add LE BO add div 2 copy lt{E}if pop D - RE 1 gt{BL 1 RE div dup scale}if}if - AT 2 le{SK AT mul 2 div YA neg R}if - AT 3 eq{0 YA neg R TB{/NB NB 1 sub D /NS NS 1 sub D}if /NB NB 1 sub NN D - /A3 NS 6 mul NB add D NS NB add 0 eq - {/A1 0 D /A2 0 D} - {NS 0 eq{/A1 SK NB div dup J gt{pop 0}if D /A2 0 D}{J A3 mul SK lt - {/A1 J D /A2 SK J NB mul sub NS div dup Ab gt{/A1 0 D pop 0}if D} - {/A1 SK A3 div D /A2 A1 6 mul D}ie}ie}ie /A1 A1 NN D /A2 A2 NN D}if - AT 4 eq{0 YA neg R PH 2 le{PD 0 lt{/PD L1 D}if PD M1 gt{/M1 PD D}if - L1 PD sub M2 gt{/M2 L1 PD sub D}if}{DV ID 1 sub get 0 ge{Lo 0 R}if}ie}if - F0 cF ne Cs cS ne or{F0 Cs NF}if - /ms Ms D /Ms f D CP FB sub - C1 cvx exec XO EO sub L1 add TB{BW sub}if dup LM gt{/LM E D}{pop}ie - PH 0 eq PH 4 eq or Ms and{HF not{/PO t D /AH t D}if - BB CP YA add E AT 3 eq LB and{A1 sub}if TB{BW sub}if E BB} - {pop pop}ie Ms HM PH 3 eq and or{/BP f D /Fl f D}if - /Lo 0 D /L1 0 D /F0 cF D /Cs cS D BP not{0 YB NN neg R}if - OU f1 and mF not and{k2 /f1 f D}if - OU PF not and PB or{RE 1 gt{RE dup scale}if}if /Ms ms Ms or D - /C1 AF{(Cp )}{()}ie D /YA 0 D /YB 0 D BL - AT 4 eq LB not and PH 3 ge and - {ID DV length lt{DV ID get dup 0 ge{DO E sub /Lo E D /L1 Lo D}{pop}ie - /ID ID 1 add D}if}if /T t D CD{/LN LN 1 add D PD}if - /PD -1 D /NS 0 D /NB 0 D /TB f D /Ph f D /Mf 0 D /HM f D} D -/RS {/TM E D /CN 0 D TM{10 eq{TM CN ( ) PI}if /CN CN 1 add D}forall - /CN 0 D /BK HM EN and{0}{1}ie D TM - {dup 32 ne{TM CN 3 2 roll put /CN CN 1 add D /BK 0 D} - {pop BK 0 eq{TM CN 32 put /CN CN 1 add D}if /BK 1 D}ie}forall - TM 0 CN GI dup dup () ne E ( ) ne and - {dup CN 1 sub get 32 eq{/EN f D}{/EN t D}ie}if} D -/join {2 copy length E length add string dup 4 2 roll 2 index 0 3 index - PI E length E PI}d -/WR {(\n) search{dup () ne BP not or - {Li 4 le CP E pop YI Li mul add LE add 0 lt and PL 0 eq and{NP}if - SH NL pop /Li Li 1 sub D WR}{pop pop WR}ie}{SH}ie /CI 0 D /BP f D} D -/SH {dup dup () ne E ( ) ne and PF or CS Mf gt and{/Mf CS D}if - T not Wf and{( ) E join /T t D}if dup BP{/MF CS D}if - AT 3 eq{2 copy length dup 0 gt{/NB E NB add D - {( ) search{/NS NS 1 add D pop pop}{pop exit}ie}loop}{pop pop}ie}if - CD PD 0 lt and{dup DC search{SW pop /PD E L1 add D pop pop}{pop}ie}if - 0 Np dup SW pop L1 add /L1 E D dup () ne - {C1 (\() join E join (\)) join AU AF and UF or Wf and{( U ) join}if - sF{( s ) join}if ( S ) join - /C1 E D dup length 1 sub get 32 eq /TB E D /Bw BW D}{pop pop}ie} D -/BG {AI LG BC add add 0 eq} D -/ON {OU{Ty AR AI NN get dup 1 add Ln Ns Ty 2 mod 0 eq{(. )}{(\) )}ie join - dup SW pop neg 0 R CP E 0 lt{0 E M}{pop}ie CP BB show /Ms t D}if} D -/Ln {AR AI 3 -1 roll put}D -/SP {dup CI lt BP not and{dup CI sub 0 E R /CI E D}{pop}ie} D -/BN {PF{WR /HM f D}{BT NL}ie} D -/NN {dup 0 lt{pop 0}if} D -/h {(h) HI ST cvs join cvx exec dup 1 get E Nf{0 get E join}{pop}ie} D -/H {/fn FN D /Hi E 1 add D 1 sub /HL E D /H2 HL 2 add D /GS EZ H2 get D - E Tm H2 get GS mul BE dup 0 gt{1 sub}{pop EG H2 get dup 0 lt{pop AT}if}ie NA - WW Np /SL SL 1 add D /FN EF H2 get D GS Ey H2 get FS - EU H2 get Sc Hs not HL Hl lt and Hs HL hl lt and or Hi 0 eq or - {/HI Hi D /Hs t D /hl HL D /Hv HL D}if HL Hl lt{/hi Hi D}if - Nf HI 0 gt and{(h) Hi ST cvs join cvx exec 0 get WB}if - /HF t D /AH f D /PO f D} D -/EH {Bm H2 get GS mul BE OA /SL SL 1 sub NN D /CF 0 D /FN fn D - SZ SL get FR SL get FS /HF f D /GS Ts D ()Ec} D -/P {E PF{WR}{PO{EP}{BN}ie Ts 4 mul Np AE not{Tm 0 get Ts mul neg SP}if - dup 0 ge AH and{Pi Pd}if}ie 1 sub dup 0 lt{pop AV AL get}if /AT E D /PO t D} D -/EP {PF{WR}{BN Ts 4 mul Np}ie AE not{Bm 0 get Ts mul neg SP}if - /AT AV AL get D /PO f D} D -/BE {E PO{EP}{BN}ie Ts 4 mul Np neg SP} D -/HR {/Aw W EO sub D /RW E dup 0 gt{Aw mul}{neg}ie dup Aw gt{pop Aw}if D /RZ E D - E BN Ts neg SP 1 sub 2 div Aw RW sub mul EO add CP E pop M PF{0 Ps neg R}if - 0 Np OU{gsave RZ LW Cf{Hc VC}{0 Sg}ie CP BB RW 0 RL CP BB stroke grestore}if - /CI 0 D /BP f D PF not{Ts neg SP}if /Ms t D} D -/AD {I NL EG 14 get dup 0 lt{pop AT}if NA /AE t D Tm 14 get Ts mul neg SP - Cf{EU 14 get dup -1 eq{pop CA CL get}if Sc}if} D -/DA {BN ()ES OA /AE f D ()Ec Bm 14 get Ts mul neg SP} D -/PR {/MW E D /Li E D Tm 1 get Ps mul BE 0 NA /FN Fp D /PF t D SI /SL SL 1 add D - /CF 0 D Ps CS mul Ts div MW WC mul CS mul Ts div dup LL gt PL 0 eq and - {LL div div}{pop}ie Ey 1 get FS CP E pop LE add YI neg div cvi dup Li lt - AH and{4 lt YI Li mul 5 mul LE add 0 gt or PL 0 eq and{NP}if}{pop}ie - EU 1 get Sc /GS Ps D}D -/RP {WR NL () /PF f D SI /FN 0 D ES Bm 1 get Ps mul neg SP OA /GS Ts D} D -/SI {/XO Lm 15 get BC NN mul Lm 16 get AI UI sub NN mul add - Lm 17 get UI NN mul add Lm 20 get LG NN mul add Ts mul - PF{Lm 1 get Ps mul add}if EO add D - /MR Rm 15 get BC NN mul Rm 16 get AI UI sub NN mul add - Rm 17 get UI NN mul add Rm 20 get LG NN mul add Ts mul - PF{Rm 1 get Ps mul add}if D /LL W XO sub MR sub D} D -/DT {/cC E D BN /LG LG 1 sub D SI /LG LG 1 add D WW 2 div Np BL} D -/DD {WB Cc 0 eq cC 0 eq and L1 0 eq or Lm 20 get Ts mul L1 sub TB{BW add}if - Ts 2 div lt or NL /LF E D SI BL /cC 0 D} D -/DL {Dc LG Cc put /Cc E D BG{Tm 18 get Ts mul BE}{BN}ie /LG LG 1 add D BL} D -/LD {BN LG 0 gt{/LG LG 1 sub D}if /Cc Dc LG get D SI - BG{()Bm 18 get Ts mul BE}if BL} D -/UL {BG{Tm 17 get Ts mul BE}{BN}ie NR AI NN 0 put /UI UI 1 add D - /AI AI 1 add D SI BL} D -/LU {BN /UI UI 1 sub D /AI AI 1 sub D SI BG{()Bm 17 get Ts mul BE}if BL} D -/OL {E BG{Tm 16 get Ts mul BE}{BN}ie TR AI NN Ty put /Ty E D NR AI NN 1 put - /AI AI 1 add D SI BL 1 Ln} D -/LO {BN /AI AI 1 sub D /Ty TR AI get D SI BG{()Bm 16 get Ts mul BE}if BL} D -/LI {E BN -1 SP /BP f D /CI 0 D 0 Np NR AI 1 sub NN get 1 eq - {dup dup 0 gt E 4 le and{/Ty E D}{pop}ie - /L1 L1 Ty AR AI NN get Ns SW pop XO sub dup 0 lt{pop 0}if add D ( ON )} - {pop ( B )}ie C1 E join /C1 E D CS Mf gt{/Mf CS D}if BL} D -/BQ {Tm 15 get Ts mul BE /BC BC 1 add D SI BL} D -/QB {Bm 15 get Ts mul BE /BC BC 1 sub D SI BL} D -/Al {E EP 1 sub dup 0 lt{pop AV AL get}if NA} D -/Ea {EP OA} D -/WB {PF{WR}{BT}ie} D -/F1 {WB /FN 0 D CS 0 FS} D -/F2 {WB /FN WI D CS 0 FS} D -/HY {/Hy t D WB /Hy f D} D -/YH {WB} D -/A {/LT E D LT 1 eq{/RN E D}if /Lh E D WB /C1 C1 ( Cp ) join D - Lc AF not and{Cl Sc}if /AF t D} D -/EA {Lc AF and{Ec}{WB}ie TL Pa AF and Lh 0 ne and - {( \() Lh join (\)) join /AF f D WB}if /AF f D} D -/TL {C1 ( Tl ) apa /C1 E D} d -/apa {AF OU and Lh 0 ne LT 1 eq or and{LT 1 eq{RN ( /) E ST cvs join} - {(\() Lh join (\)) join}ie E join join}{pop}ie} d -/Cp {/Xc CP /Yc E D D} D -/SS {Cf{dup 0 ge{EU E get dup -1 eq{pop CA CL get}if}{pop CA CL get}ie Sc} - {pop}ie SZ SL get /SL SL 1 add D} D -/I {WB 8 SS 1 FS} D -/EM {WB 8 SS /CF CF 1 xor D 0 FS} D -/BD {WB 9 SS 2 FS} D -/TT {WB 10 SS /FN Fp D 0 FS} D -/KB {WB 11 SS /FN Fp D 2 FS} D -/CT {WB 12 SS 1 FS} D -/SM {WB 13 SS /FN Fp D 0 FS} D -/Q {/QL QL 1 add D QO QL 2 mod get La get join WB} D -/EQ {QC QL 2 mod get La get join WB /QL QL 1 sub D} D -/RO {WB -1 SS /CF 0 D 0 FS} D -/SY {WB -1 SS -1 FS} D -/MY {WB -1 SS -2 FS} D -/ES {WB /SL SL 1 sub NN D /CF 0 D /FN FO SL get D SZ SL get FR SL get FS ()Ec}D -/FZ {3 sub 1.2 E exp GS mul E WB TL /C1 C1 ( Cp ) join D /SL SL 1 add D 0 FS} D -/Ef {WB TL ()ES /C1 C1 ( Cp ) join D} D -/BZ {dup /Bf E D FZ}D -/Sc {dup -1 ne Cf and{/CL CL 1 add D dup 0 eq{pop [0 0 0]}if - dup CA E CL E put VS ( VC ) join C1 E join /C1 E D}{pop}ie} D -/Ec {WB Cf{/CL CL 1 sub NN D CA CL get VS ( VC ) join C1 E join /C1 E D}if} D -/VS {dup type /arraytype eq{([) E {ST cvs join ( ) join}forall (]) join}if} D -/VC {{255 div}forall setrgbcolor} D -/Sl {dup type /integertype ne{Ds}if /La E D WB}d -/UN {WB /UF t D} D -/NU {WB /UF f D} D -/SE {WB /sF t D} D -/XE {WB /sF f D} D -/sM {/C1 C1 ( k1 ) join D}d -/eM {/C1 C1 ( k2 ) join D}d -/k1 {/YC CP E pop Ts add D /mF t D /f1 t D}d -/k2 {gsave 3 LW -9 CP E pop Ts 0.2 mul sub M -9 YC L stroke grestore /mF f D}d -/Ac {/AC E D WB}d -/Ca {eA{( \()join AC join(\) )join}if WB}d -/s {OU{gsave 0 CS .25 mul R dup SW pop CJ 0 RL stroke grestore}if}D -/CJ {AT 3 eq LB and{E dup dup length 1 sub A1 mul E - {( ) search{pop pop E A2 add E}{pop exit}ie}loop 3 -1 roll add - W CP pop sub 2 copy gt{E}if pop}if}D -/So {/Co E D} D -/SO {C1 Yo ST cvs join ( So ) join /C1 E D (j) SW pop 2 div Pd} D -/Se {E WB CS E div Pd}D -/Pd {dup type /stringtype eq{SW pop}if dup /L1 E L1 add D - ST cvs ( 0 R ) join C1 E join /C1 E D} D -/Sp {0.35 CO} D -/Sb {-0.2 CO} D -/CO {OV Io Yo put /Yo E CS mul Yo add D /Io Io 1 add D -1.5 Io mul 3 add FZ SO - CS Yo add dup YA gt{/YA E D}{pop}ie - Yo neg dup YB gt{/YB E D}{pop}ie} D -/Es {ES /Io Io 1 sub NN D /Yo OV Io get D SO} D -/SB {/N2 0 D 0 1 NI{/N E D{IX N2 get 0 lt{/N2 N2 1 add D}{exit}ie}loop - /K WS N get FC N get mul D /NY AY N2 get D /BV NY array D - 0 1 NY 1 sub{/TM K string D currentfile TM readhexstring pop pop BV E TM put} - for BM N BV put /N2 N2 1 add D}for} D -/IC [{/MA E D /MB 0 D}{2 div /MA E D /MB MA D}{/MB E CS sub D /MA CS D} - {pop /MA YS AB mul D /MB 1 AB sub YS mul D}{pop /MA 0 D /MB 0 D}] D -/IP {BV N get /N N 1 add D} D -/II {/K E D IX K get 0 lt{/EC E D}if /TY E D - TY 4 eq{/Y E D /X E D}if TY 3 eq{/AB E D}if - /XW AX K get D /YW AY K get D /IS SG IT K get get D /XS XW IS mul D - /YS YW IS mul D YS IC TY get exec /MA MA Fl not{3 add}if D} D -/IM {II /ty TY D /xs XS D /ys YS D /ya YA D /yb YB D /ma MA D /mb MB D /k K D - /ec EC D /BP f D /CI 0 D WB TL L1 xs add dup XO add MR add W gt - {pop /ma ma Fl{3 add}if D NL /YA ma D /YB mb D /YS ys D /L1 xs D} - {/L1 E D ma YA gt{/YA ma D}if mb YB gt{/YB mb D}if}ie /TB f D - OU{CP E pop YS sub LE neg lt Fl not and PB not and{NP /YA ma D /YB mb D}if - /BP f D ty ST cvs ( ) join IX k get 0 lt{(\() join ec join (\) ) join}if - k ST cvs join ty 3 eq{AB ST cvs ( ) join E join}if - ty 4 eq{X ST cvs ( ) join Y ST cvs join ( ) join E join}if C1 E join - ( DI ) join FP 2 eq FP 1 eq AF and or{( FM ) join}if - ( Il Cp ) apa /C1 E D /EN f D}if /HM t D /T f D} D -/DI {II /Xc CP /Yc E D D /YN YW neg D /HM t D /CI 0 D /K2 IX K get D gsave - TY 4 eq{OX X IS mul add OY FY add YS sub Y IS mul sub} - {/FY YS D CP MB sub 2 copy /OY E D /OX E D}ie - translate K2 0 ge{/DP AZ K2 get D /BV BM K2 get D XS YS scale /N 0 D XW YW DP - [XW 0 0 YN 0 YW] {IP} FC K2 get 1 eq{image}{f 3 colorimage}ie} - {EX}ie grestore XS 0 R /Ms t D} D -/FM {gsave 0 Sg CP MB sub translate XS neg 0 M 0 YS RL XS 0 RL 0 YS neg RL - XS neg 0 RL stroke grestore} D -/NA {/AT E D /AL AL 1 add D AV AL AT put} D -/OA {AL 0 gt{/AL AL 1 sub D /AT AV AL get D}if} D -/D1 {/BR {CP E pop E BN Mb{CP E pop eq{0 YI R}if}{pop}ie} D - /Sn {OU{C1 E ST cvs join ( Ld ) join /C1 E D}{pop}ie} D} D -/D1 {/BR {BN} D /Sn {OU {C1 E ST cvs join ( Ld ) join /C1 E D} {pop} ie} D} D -/TC {/TF t D /ML 0 D HN{SW pop dup ML gt{/ML E D}{pop}ie}forall NP /RM RM not D - RC /OU Tc D Ep /PN 0 D Ms not TP and{Ip}if /W IW ML sub Ts sub D - /A0 0 D TH{/BR {( ) join BT} D /Sn {pop} D /Au () D}if} D -/TN {0 eq{E EA PF HF or not XR and{HN E get Xr}{pop}ie} - {OU{Tn 0 ge{() BN}if /Tn E D}{pop}ie WB}ie} D -/NT {OU LB not and Tn 0 ge and{PL 0 eq{Ms not{CS CF FS}if CP dup - /y E YA sub D W 9 sub CS -1.8 mul XO L1 add 2 add{y M (.) show}for - HN Tn get dup SW pop IW E sub y M show CP BB M}if /Tn -1 D}if} D -/Ld {/DN E D HN DN Pn put [/View [/XYZ -4 Fl{PS}{CP YA add US E pop}ie null] - /Dest DN ST cvs cvn /DEST pdfmark} D -/C {ND 1 eq{1 sub}if TI mul /XO E D NL Nf not{pop()}if 0 3 -1 roll 1 A} D -/OP {BP not{NP}if PN 2 mod 0 eq{/Ms t D NP}if}D -/Ep {Xp PN 2 mod 0 eq and OU and{/Pn (-) D showpage /PM 1 D LA}if}D -/Dg [73 86 88 76 67 68 77] D -/Rd [0 [1 1 0][2 1 0][3 1 0][2 1 1][1 1 1][2 2 1][3 3 1][4 4 1][2 1 2]] D -/Ns {/m E D /c E 32 mul D /j m 1000 idiv D /p j 12 add string D - c 96 le m 0 gt and{c 32 le {/i 0 D /d 77 D /l 100 D /m m j 1000 mul sub D - j -1 1 {pop p i d c add put /i i 1 add D}for - 4 -2 0 {/j E D /n m l idiv D /m m n l mul sub D /d Dg j get D - n 0 gt {/x Rd n get D x 0 get -1 1 {pop p i d c add put /i i 1 add D}for - p i x 1 get sub Dg x 2 get j add get c add put}if /l l 10 idiv D - }for p 0 i GI} - {/i ST length 1 sub D m {1 sub dup 0 ge{dup 26 mod c add 1 add - ST i 3 -1 roll put 26 idiv dup 0 eq{pop exit}if}if /i i 1 sub D}loop - ST i ST length i sub GI}ie} - {m p cvs}ie} D -/US {matrix currentmatrix matrix defaultmatrix matrix invertmatrix - matrix concatmatrix transform} D -/GB {Gb{US}if}D -/Tl {/Rn E D Xc CP pop ne{ - [/Rect [Xc 1 sub Yc cS 0.25 mul sub GB CP E 1 add E cS 0.85 mul add GB] - /Subtype /Link /Border [0 0 Cf Lc and LX and AU or{0}{1}ie] Rn type - /nametype eq {/Dest Rn}{/Action [/Subtype /URI /URI Rn] Cd}ie - /ANN pdfmark}if} D -/Il {/Rn E D [/Rect [Xc Yc GB Xc XS add Yc YS add GB] /Subtype /Link - /Border [0 0 0] Rn type /nametype eq{/Dest Rn} - {/Action [/Subtype /URI /URI Rn] Cd}ie /ANN pdfmark} D -/XP {[{/Z Bz 2 div D Z 0 R Z Z RL Z neg Z RL Z neg Z neg RL Z Z neg RL - Fi cH 1 eq and{fill}if} {Bz 0 RL 0 Bz RL Bz neg 0 RL 0 Bz neg RL - Fi cH 1 eq and{fill}if} {0 -5 R Bz 0 RL 0 21 RL Bz neg 0 RL 0 -21 RL}]} D -/MS {/Sm E D WB}D -/O {BN()0 Sm BX} D -/BX {/Bt E D Bt 2 lt{/Ch E D CS 0.8 mul}{11 mul}ie W XO sub MR sub - 2 copy gt{E}if pop /HZ E D Bt 2 eq{Fi not{pop()}if ( )E join /Ft E D TT - /PF t D /MW 1 D /Li 1 D /Fw Ft SW pop D Fw HZ gt{/HZ Fw 8 add D}if - HZ ST cvs( )join}{WB Ch ST cvs( )join}ie L1 HZ add XO add MR add W gt{NL}if - Bt 2 eq{Ft ES Fw neg HM{CS sub}if Pd}if Bt ST cvs join( Bx )join - Bt 2 eq HM and{CS Pd}if C1 E join /C1 E D /L1 L1 HZ add D /T f D - ( ) Pd /PF f D Bt 2 lt{YA CS .8 mul lt{/YA CS .8 mul D}if} - {YB 5 lt{/YB 5 D}if YA 21 lt{/YA 21 D}if}ie /CI 0 D} D -/Bx {dup 2 eq{E /Bz E D}{E /cH E D /Bz CS .8 mul D}ie - OU {gsave 0 Sg XP E get exec stroke grestore}{pop}ie Bz 0 R /Ms t D}D -/SD {FD 4 mul Dy add DZ NF newpath 0 0 M DX t charpath pathbbox - 3 -1 roll sub /DY E D E dup /X1 E D sub WM mul WX DY mul add WM DG mul E div - /DF E D /DR WX DF mul DY mul WM div 2 div D} d -/Sd {gsave 0 IL Di mul neg translate IL IW atan Di 0 eq{neg}if rotate - FD 4 mul Dy add DZ NF DR X1 sub DY 2 div neg M cD VC DX show grestore} d -/Pt {/tp t D Tp{NP /Pn (TP) D 0 Tt neg R Th BN NP Ep ET RC ZF}if /tp f D} D -/RC {/AI 0 D /LG 0 D /BC 0 D /UI 0 D /PF f D /Cc 0 D /cC 0 D /Dc 10 array D - /NR [0 1 9{pop 0}for] D /La Ds D /AR 10 array D /TR 10 array D /AV 30 array D - SI /AL -1 D /AT A0 D AT NA /OV 9 array D /Yo 0 D /Co 0 D /Io 0 D /Hy f D - /Ph f D /CL -1 D Ct Sc}D -/ZF {/FR [0 1 30{pop 0}for] D /SZ [0 1 30{pop 0}for] D /FO [0 1 30{pop 0}for] D - /SL 0 D /CF 0 D /FN 0 D 0 Ts SF}D -/QO [[(\234)(\233)(\253\240)(\232)(\273)(\253)][(')(`)(\253\240)(\231)(\273)(\253)]] D -/QC [[(\234)(\234)(\240\273)(\233)(\253)(\273)][(')(')(\240\273)(`)(\253)(\273)]] D -/Hf EF length 2 sub D -/Hz EZ Hf get D -/HS Ey Hf get D -/Fz EZ Hf 1 add get D -/Fs Ey Hf 1 add get D -/LE IL D -/Ps EZ 1 get D -/Fp EF 1 get D -/XO 0 D -/YI 0 D -/CI 0 D -/FP 0 D -/WW Ts 7 mul D -/Mf 0 D -/YA 0 D -/YB 0 D -/Cs Ts D -/GS Ts D -/F0 0 D -/NS 0 D -/NB 0 D -/N 0 D -/C0 [] D -/C1 () D -/Lo 0 D -/L1 0 D -/LM 0 D -/PH 0 D -/EC 0 D -/Lh 0 D -/LT 0 D -/CH 1 string D -/ST 16 string D -/CA 9 array D -/HC (\255) D -/HM f D -/PF f D -/EN f D -/TB f D -/UF f D -/sF f D -/AE f D -/AF f D -/BP t D -/CD f D -/PA t D -/GL f D -/T t D -/HF f D -/AH f D -/SA f D -/PB f D -/f1 f D -/mF f D -/OX 0 D -/OY 0 D -/FY 0 D -/EO 0 D -/FB 0 D -/PL 0 D -/Bw 0 D -/PD -1 D -/TP f D -/tp f D -/TH t D -/Ty 4 D -/Tn -1 D -/Fl t D -/LB t D -/PM 1 D -/Ms f D -/Ba f D -/Bb f D -/Hl 3 D -/hl 6 D -/Hv 6 D -/Hs f D -/HI 0 D -/hi 0 D -/PO t D -/TE f D -/LF t D -/BO 0 D -/Sm 1 D -/Bf 3 D -/A1 0 D -/A2 0 D -/Ds 1 D -/QL -1 D -/Cb Db D -/Ct Dt D -/Cl Dl D -[/Creator (html2ps version 1.0 beta7) /Author () /Keywords (xsd, xml, schema, c++, mapping, data, binding, parsing, serialization, validation) /Subject () - /Title (C++/Tree Mapping Getting Started Guide) /DOCINFO pdfmark -/ND 1 D -/HN [(1) (1) (1) (1) (1) (1) (1) (1) (2) (3) (3) (5) (7) (7) (8) (11) (13) (15) -(16) (16) (16) (17) (17) (18) (20) (23) (24) (26) (29) (??) (32) (33) (35) -(36) (37) (38) (1) (1) (1) (1) (1) (2) (3) (3) (5) (7) (7) (8) (11) (13) -(15) (16) (16) (16) (17) (17) (18) (20) (23) (24) (26) (29) (32) (33) (35) -(36) (37) (38)] D -/h0 [()(Table of Contents)] D -/h1 [(1\240\240)(Preface)] D -/h2 [(1.1\240\240)(About This Document)] D -/h3 [(1.2\240\240)(More Information)] D -/h4 [(2\240\240)(1 Introduction)] D -/h5 [(2.1\240\240)(1.1 Mapping Overview)] D -/h6 [(2.2\240\240)(1.2 Benefits)] D -/h7 [(3\240\240)(2 Hello World Example)] D -/h8 [(3.1\240\240)(2.1 Writing XML Document and Schema)] D -/h9 [(3.2\240\240)(2.2 Translating Schema to C++)] D -/h10 [(3.3\240\240)(2.3 Implementing Application Logic)] D -/h11 [(3.4\240\240)(2.4 Compiling and Running)] D -/h12 [(3.5\240\240)(2.5 Adding Serialization)] D -/h13 [(3.6\240\240)(2.6 Selecting Naming Convention)] D -/h14 [(3.7\240\240)(2.7 Generating Documentation)] D -/h15 [(4\240\240)(3 Overall Mapping Configuration)] D -/h16 [(4.1\240\240)(3.1 C++ Standard)] D -/h17 [(4.2\240\240)(3.2 Character Type and Encoding)] D -/h18 [(4.3\240\240)(3.3 Support for Polymorphism)] D -/h19 [(4.4\240\240)(3.4 Namespace Mapping)] D -/h20 [(4.5\240\240)(3.5 Thread Safety)] D -/h21 [(5\240\240)(4 Working with Object Models)] D -/h22 [(5.1\240\240)(4.1 Attribute and Element Cardinalities)] D -/h23 [(5.2\240\240)(4.2 Accessing the Object Model)] D -/h24 [(5.3\240\240)(4.3 Modifying the Object Model)] D -/h25 [(5.4\240\240)(4.4 Creating the Object Model from Scratch)] D -/h26 [(5.5\240\240)(4.5 Mapping for the Built-in XML Schema Types)] D -/h27 [(6\240\240)(5 Parsing)] D -/h28 [(6.1\240\240)(5.1 XML Schema Validation and Searching)] D -/h29 [(6.2\240\240)(5.2 Error Handling)] D -/h30 [(7\240\240)(6 Serialization)] D -/h31 [(7.1\240\240)(6.1 Namespace and Schema Information)] D -/h32 [(7.2\240\240)(6.2 Error Handling)] D -/Hr [36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 -58 59 60 61 62 63 64 65 66 67]D -/HV [1 2 2 1 2 2 1 2 2 2 2 2 2 2 1 2 2 2 2 2 1 2 2 2 2 2 1 2 2 1 2 2]D -/Cn [2 0 0 2 0 0 7 0 0 0 0 0 0 0 5 0 0 0 0 0 5 0 0 0 0 0 2 0 0 2 0 0]D -Hr length 0 gt{[/PageMode /UseOutlines /DOCVIEW pdfmark}if -/Hn 1 D -0 1 Hr length 1 sub{ - /Bn E D [Cn Bn get dup 0 gt{/Count E HV Bn get Bl ge{neg}if}{pop}ie - /Dest Hr Bn get dup abs ST cvs cvn E 0 ge{(h)Hn ST cvs join cvx exec - dup 1 get E Nf{0 get E join}{pop}ie /Hn Hn 1 add D}{()}ie - /Title E dup length 255 gt{0 255 getinterval}if /OUT pdfmark}for -ZF /FN Fp D Ps 0 FS /WC Wf{( )}{<A1A1>}ie SW pop D -ET RC ZF -/Df f D -/R0 (http://www.codesynthesis.com/licenses/fdl-1.2.txt) D -/R1 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/index.xhtml) D -/R2 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-parser-guide.pdf) D -/R3 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-parser-guide.ps) D -/R1 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/) D -/R2 (http://wiki.codesynthesis.com/Tree/Customization_guide) D -/R3 (http://wiki.codesynthesis.com/Tree/FAQ) D -/R4 (http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml) D -/R5 (http://www.codesynthesis.com/mailman/listinfo/xsd-users) D -/R6 (http://www.codesynthesis.com/pipermail/xsd-users/) D -/R7 (http://www.w3.org/TR/xmlschema-0/) D -/R8 (http://www.doxygen.org/) D -/R9 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/hello/html/annotated.html) D -/R10 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.11) D -/R11 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.8.4) D -/R12 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.8) D -/R13 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.5) D -/R14 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.9) D -/R15 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#3) D -/R16 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#3.3) D -/R17 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#4) D -/R18 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#4.4) D -/TS { - tables E get /table E D - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D pop pop - /w W D /eps 0.1 D /OU f D /PL 1 D - /FN EF 21 get D EZ 21 get Ey 21 get FS - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - pass 0 eq cspan 1 eq and pass 1 eq cspan 1 gt and or{ - /W 1e5 D /LL W D /PH 1 D - ctype 1 eq{() BD}if - RC align NA - AT 4 eq{/CD t D /DC dp D /LN 0 D /M1 0 D /M2 0 D}{/CD f D}ie - 0 0 M /LM 0 D proc exec BN - AT 4 eq{ - LN array astore cell 15 3 -1 roll put - cdesc icol get dup dup 5 get M1 lt{5 M1 put}{5 get /M1 E D}ie - dup 6 get M2 lt{6 M2 put}{6 get /M2 E D}ie - /LM M1 M2 add D - }if - /CD f D - ang 0 ne{/LM CP E pop neg D}if - /thiswid LM left add right add eps add D - /oldmin 0 D /oldmax 0 D - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 get /oldmax E oldmax add D - 1 get /oldmin E oldmin add D - }for - thiswid oldmax ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 E 2 get oldmax 0 eq - {pop thiswid cspan div}{thiswid mul oldmax div}ie - put - }for - }if - nowrap 1 eq{ - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }{ - /W 0 D /LL W D /PH 2 D - ctype 1 eq{() ES () BD}if - 0 0 M /LM 0 D RC proc exec BN - /thiswid LM left add right add eps add D - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }ie - ctype 1 eq{() ES}if - }if - }if - }for - }for - }for - /tmin 0 D /tmax 0 D - 0 1 ncol{ - cdesc E get dup 1 get E 2 get 2 copy gt{pop dup}if - tmax add /tmax E D tmin add /tmin E D - }for - twid 0 lt{twid neg IW gt{IW neg}{twid}ie /twid E D}if - tdesc 0 twid neg tmin 2 copy lt{E}if pop put - tdesc 1 twid neg tmax 2 copy lt{E}if pop put - /W w D /LL W D /OU t D /PH 0 D /PL 0 D -} D -/PT { - /PL PL 1 add D - tables E get /table E D Tm 21 get Ts mul BE - PL 2 ge{save}if - /SL SL 1 add D /FN EF 21 get D EZ 21 get Ey 21 get FS - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D /tmax E D /tmin E D - /w W D /xo XO D /mr MR D /ll LL D /lg LG D /ai AI D /bc BC D /nr NR D /ar AR D - /tr TR D /ui UI D /ph PH D /a0 A0 D /pf PF D /at AT D /av AV D /al AL D - /Le LE D /la La D - talign 0 lt{/talign AL 0 gt{AV AL get}{A0 2 le{A0}{0}ie}ie D}if - ph 1 eq ph 2 eq or{ - NL ph 1 eq{tmax}{tmin}ie dup XO add LM gt{/LM E XO add D}{pop}ie LM E - }{ - /PH 3 D /LE 1e5 D RC %ZF - border 0 gt{/border 1 D}if - /twidth 0 D /avail W xo sub D - twid 0 eq{0 1 ncol{cdesc E get dup 2 get E 3 get dup 0 gt{div neg dup twid lt - {/twid E D}{pop}ie}{pop pop}ie}for}if - /twid twid dup 0 lt{neg avail 2 copy gt{E}if pop}{avail mul}ie D - /OK t D 0 1 ncol{cdesc E get dup 1 get E 3 get twid mul gt{/OK f D}if}for - 0 1 ncol{ - cdesc E get dup 1 get /colmin E D dup 3 get /cwid E twid mul D dup - tmax avail le{2 get}if - tmin avail le tmax avail gt and{ - dup 2 get E 1 get dup 3 1 roll sub avail tmin sub mul tmax tmin sub div add - }if - tmin avail gt{1 get}if - 0 E colmin cwid lt OK and{pop cwid}if dup /twidth E twidth add D put - }for - /OU f D CP - tmin twid le{ - 0 1 ncol{cdesc E get dup 0 get twidth div twid mul 0 E put}for - /twidth twid D - }if - CP printcap CP E pop sub /caphig E D pop - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /W 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /W E W add D}for - pass 0 eq rspan 1 eq and pass 1 eq rspan 1 gt and or{ - ctype 1 eq{() BD}if - /W W left sub right sub D /XO 0 D /EO 0 D SI - /A0 align D RC align NA - AT 4 eq{ - /DC dp D /DO 0 D /ID 1 D - 0 1 DV length 1 sub{DV E get dup DO gt{/DO E D}{pop}ie}for - /Lo DO DV 0 get sub D /L1 Lo D - }if - 0 0 M /BP t D /Fl t D /MF 0 D /FB 0 D - proc exec T not{/CI 0 D}if BN 0 FB neg R MF 0 eq{/MF CS D}if - CP /thishig E neg bot add top add CI add D pop - ang 0 ne{/thishig LM bot add top add D}if - cell 16 MF put cell 17 Ya put cell 18 thishig put - valign 4 eq{ - /below thishig Ya sub D - rdesc irow get dup dup 4 get Ya lt - {4 Ya put}{4 get /Ya E D}ie - dup 5 get below lt{5 below put}{5 get /below E D}ie - /thishig Ya below add D - }if - ctype 1 eq{()ES}if - /oldhig 0 D - 0 1 rspan 1 sub{ - irow add rdesc E get 0 get /oldhig E oldhig add D - }for - thishig oldhig ge{ - 0 1 rspan 1 sub{ - irow add rdesc E get dup 0 E 0 get oldhig 0 eq - {pop thishig rspan div}{thishig mul oldhig div}ie - put - }for - }if - }if - }if - }for - }for - }for M RC %ZF - /thight 0 D /racc 0 D /maxh 0 D /brk 0 D /rbeg nhead nfoot add D - 0 1 nrow{ - rdesc E get dup 0 get dup /thight E thight add D - brk 0 eq{/racc E D}{/racc E racc add D}ie - racc maxh gt{/maxh racc D}if 2 get /brk E D - }for - ph 3 ge{thight caphig add E}if - ph 0 eq ph 4 eq or{ - /PH 4 D /LE Le D /OU Ou D /yoff 0 D /headsz 0 D - 0 1 nhead 1 sub{rdesc E get 0 get headsz add /headsz E D}for - /footsz 0 D - 0 1 nfoot 1 sub{rdesc E nhead add get 0 get footsz add /footsz E D}for - /ahig LE BO add MI add D /maxh maxh headsz add footsz add D - /thight thight headsz add footsz add D - tmin avail gt maxh ahig gt or - {/Sf avail tmin div dup ahig maxh div gt{pop ahig maxh div}if D /SA t D} - {/Sf 1 D}ie - tclass 1 eq thight LE 15 sub gt and - {/SA t D LE 15 sub thight div dup Sf lt{/Sf E D}{pop}ie}if - SA{Sf Sf scale /ll ll Sf div D /xo xo Sf div D /LE LE Sf div D - /mr mr Sf div D /BO BO Sf div D /ahig ahig Sf div D}if - nhead nfoot add getwid - LE CP E pop add capalg 0 eq{caphig sub}if - bT{f}{dup thight lt thight ahig lt and}ie - E headsz sub footsz sub rwid lt or{NP}if - capalg 0 eq{printcap -8 SP}if - CP /ycur E D pop - printhead - rbeg 1 nrow{/row E D row - getwid - ycur yoff add rwid sub footsz sub LE add 0 lt - {nfoot 0 gt{printfoot}if Tf NP /rbeg irow1 D - Ba{MI /MI MI SA{Sf div}if D MI SP /MI E D}if - CP /ycur E D pop /yoff 0 D printhead}if - irow1 printrow - }for - printfoot /row row 1 add D Tf - 0 ycur yoff add M - capalg 1 eq{/EO 0 D SI -3 SP printcap}if - Sf 1 lt{1 Sf div dup scale /ll ll Sf mul D /xo xo Sf mul D /LE LE Sf mul D - /mr mr Sf mul D /BO BO Sf mul D /SA f D}if - /EO 0 D - }if - }ie - /W w D /XO xo D /MR mr D /LL ll D /LG lg D /AI ai D /BC bc D /NR nr D /AR ar D - /TR tr D /UI ui D /PH ph D /A0 a0 D /PF pf D /AT at D /AV av D /AL al D - /La la D - /SL SL 1 sub NN D /CF 0 D /FN 0 D SZ SL get FR SL get FS Wf not{()F2}if - PL 2 ge{Ms E restore Ms or /Ms E D PH 1 eq PH 2 eq or - {/LM E D}if PH 3 ge{/CI 0 D NL 0 E neg R}if - }if - /PL PL 1 sub D /CI 0 D /BP f D /PO f D () Bm 21 get Ts mul BE BL %CF CS SF -} D -/printcap{ - capalg 0 ge{ - SA{/W w Sf div D} - {talign 1 eq{/XO xo ll twidth sub 2 div add D}if - talign 2 eq{/XO xo ll twidth sub add D}if - /W XO twidth add D - }ie /XO xo D /LL W XO sub MR sub D - /PA f D /Fl capalg 0 eq D - 1 NA BL caption exec BN OA /PA t D - }if -} D -/getwid{ - /irow1 E D - /irow2 irow1 D - /rwid 0 D - {rdesc irow2 get dup 0 get rwid add /rwid E D 2 get 0 eq - {exit}{/irow2 irow2 1 add D}ie - }loop -} D -/printrow{ - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /xleft xoff xo add D - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D /cvsize E D /above E D /fontsz E D - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - /W xo xoff add width add right sub D - ang 0 ne{/W xo xoff add hight add right sub D}if - /EO xo xoff add left add D SI - Cf{ - gsave CB VC xo xoff add ycur yoff add M - 0 hight neg RL width 0 RL 0 hight RL width neg 0 RL fill - grestore - }if - ctype 1 eq{() BD}if - /A0 align D RC - AT 4 eq{ - /DC dp D /ID 1 D /DO cdesc icol get 5 get D /Lo DO DV 0 get sub D /L1 Lo D - }if - ang 0 ne{ - gsave ang 90 eq - {xoff ycur add hight cvsize sub 2 div sub ycur hight sub xoff sub} - {xoff ycur sub width add hight cvsize sub 2 div add ycur xoff add}ie - translate ang rotate - }if - valign 3 le{0 ycur yoff add top sub - hight cvsize sub valign 1 sub mul 2 div sub M} - {0 ycur yoff add top sub above add rdesc irow get 4 get sub M}ie - /PA f D /BP t D /Fl t D - BL proc exec BN - ang 0 ne{grestore}if - /PA t D - ctype 1 eq{() ES}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D -} D -/printhead {0 1 nhead 1 sub{printrow}for} D -/printfoot {nhead 1 nhead nfoot add 1 sub{printrow}for} D -/Tf { - OU{rules 2 ge{/yoff 0 D - gsave 0 Sg - [0 1 nhead 1 sub{}for rbeg 1 row 1 sub{}for nhead 1 nhead nfoot add 1 sub{}for]{ - /irow E D - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - /rspan cell 6 get D - /cspan cell 5 get D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - xo xoff add width add ycur yoff add M - 0 hight neg icol cspan add 1 sub ncol lt - {cdesc icol 1 add get 4 get dup rules 3 le{1 eq}{pop t}ie - {1 eq{0.8}{0.3}ie - LW RL CP stroke M}{pop R}ie}{R}ie - irow nhead nfoot add 1 sub ne nfoot 0 eq or - {irow rspan add 1 sub nrow lt - {rdesc irow rspan add get 3 get}{nfoot 0 eq{0}{1}ie}ie - dup rules 2 mod 0 eq{1 eq}{pop t}ie - {1 eq irow rspan add nhead eq or irow rspan add row eq nfoot 0 gt and or - {0.8}{0.3}ie LW width neg 0 RL CP stroke M}{pop}ie}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D - }forall - grestore - /Ms t D - }if - frame 1 gt{ - gsave - 1 LW 0 Sg - xleft ycur M CP BB - 0 yoff frame 5 eq frame 7 ge or{RL}{R}ie - twidth 0 frame 3 eq frame 4 eq or frame 8 ge or{RL}{R}ie CP BB - 0 yoff neg frame 6 ge{RL}{R}ie - twidth neg 0 frame 2 eq frame 4 eq or frame 8 ge or{RL}{R}ie - closepath stroke - grestore - /Ms t D - }if - }if -} D -/tables [[[0 0 0 0 0 -1 0 0 1 55 2 0 0 9 5 {()} -1] - [[0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0]] - [[0 0 0 0 0 0 [[{()1 Sl()WB(XML Schema type)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Alias in the )SM(xml_schema)ES( names)HY(pace)YH()} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(C++ type - )} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(signed\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Byte)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(short)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Short)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_short)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(int)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsignedInt)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_int)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(long)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Long)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_long)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonPos)HY(i)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_posi)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonNeg)HY(a)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_nega)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(posi)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(posi)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nega)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nega)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(boolean types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(boolean)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(boolean)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(bool)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(float)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(double)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(decimal)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(decimal)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(string types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(std::basic_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(normal)HY(ized)HY(String)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(normal)HY(ized)YH(_string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(token)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(token)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type\240derived\240from\240)SM(normal)HY(ized)YH(_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(Name)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(name)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTOKEN)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmtoken)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTO)HY(KENS)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmto)HY(kens)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<nmtoken>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NCName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(ncname)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(name)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(language)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(language)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(qual)HY(i)HY(fied)YH( name - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(QName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(qname)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::qname)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(ID/IDREF types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ID)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(id)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(ncname)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREF)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idref)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(ncname)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREFS)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idrefs)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<idref>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(URI types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anyURI)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(uri)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(std::basic_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(binary types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(base64Binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(base64_binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::base64_binary)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(hexBi)HY(nary)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(hex_binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::hex_binary)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(date/time types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::date)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)HY(Time)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date_time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::date_time)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(dura)HY(tion)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(dura)HY(tion)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::dura)HY(tion)YH()ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gDay)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gday)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gday)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMonth)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gmonth)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMon)HY(th)HY(Day)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth_day)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gmonth_day)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gyear)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)HY(Month)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear_month)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::gyear_month)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(xml_schema::time)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(entity types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ENTITY)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(entity)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(name)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ENTI)HY(TIES)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(enti)HY(ties)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<entity>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -]] -] D -0 1 0{TS}for RC ZF -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/tree/guide/index.xhtml) D -/Ti (C++/Tree Mapping Getting Started Guide) D -/Au () D -/Df f D -/ME [] D -Pt -/BO 0 D TC /Ba f D Bs /AU f D /UR () D RC ZF - tH WB -ND 1 gt{Ts 3 mul Np 0()0 C()BD(C++/Tree Mapping Getting Started Guide)ES()0 1 TN()EA()BN}if -1 NH le{36(1\240\240)1 C(Preface)WB 3 Sn()36 1 TN()EA()BN}if -2 NH le{37(1.1\240\240)2 C(About)WB 4 Sn( This Docu)HY(ment)YH()37 1 TN()EA()BN}if -2 NH le{38(1.2\240\240)2 C(More)WB 5 Sn( Infor)HY(ma)HY(tion)YH()38 1 TN()EA()BN}if -1 NH le{39(2\240\240)1 C(1)WB 6 Sn( Intro)HY(duc)HY(tion)YH()39 1 TN()EA()BN}if -2 NH le{40(2.1\240\240)2 C(1.1)WB 7 Sn( Mapping Overview)40 1 TN()EA()BN}if -2 NH le{41(2.2\240\240)2 C(1.2)WB 8 Sn( Bene)HY(fits)YH()41 1 TN()EA()BN}if -1 NH le{42(3\240\240)1 C(2)WB 9 Sn( Hello World Example)42 1 TN()EA()BN}if -2 NH le{43(3.1\240\240)2 C(2.1)WB 10 Sn( Writing XML Docu)HY(ment)YH( and Schema)43 1 TN()EA()BN}if -2 NH le{44(3.2\240\240)2 C(2.2)WB 11 Sn( Trans)HY(lat)HY(ing)YH( Schema to C++)44 1 TN()EA()BN}if -2 NH le{45(3.3\240\240)2 C(2.3)WB 12 Sn( Imple)HY(ment)HY(ing)YH( Appli)HY(ca)HY(tion)YH( Logic)45 1 TN()EA()BN}if -2 NH le{46(3.4\240\240)2 C(2.4)WB 13 Sn( Compil)HY(ing)YH( and Running)46 1 TN()EA()BN}if -2 NH le{47(3.5\240\240)2 C(2.5)WB 14 Sn( Adding Seri)HY(al)HY(iza)HY(tion)YH()47 1 TN()EA()BN}if -2 NH le{48(3.6\240\240)2 C(2.6)WB 15 Sn( Select)HY(ing)YH( Naming Conven)HY(tion)YH()48 1 TN()EA()BN}if -2 NH le{49(3.7\240\240)2 C(2.7)WB 16 Sn( Gener)HY(at)HY(ing)YH( Docu)HY(men)HY(ta)HY(tion)YH()49 1 TN()EA()BN}if -1 NH le{50(4\240\240)1 C(3)WB 17 Sn( Overall Mapping Config)HY(u)HY(ra)HY(tion)YH()50 1 TN()EA()BN}if -2 NH le{51(4.1\240\240)2 C(3.1)WB 18 Sn( C++ Stan)HY(dard)YH()51 1 TN()EA()BN}if -2 NH le{52(4.2\240\240)2 C(3.2)WB 19 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()52 1 TN()EA()BN}if -2 NH le{53(4.3\240\240)2 C(3.3)WB 20 Sn( Support for Poly)HY(mor)HY(phism)YH()53 1 TN()EA()BN}if -2 NH le{54(4.4\240\240)2 C(3.4)WB 21 Sn( Names)HY(pace)YH( Mapping)54 1 TN()EA()BN}if -2 NH le{55(4.5\240\240)2 C(3.5)WB 22 Sn( Thread Safety)55 1 TN()EA()BN}if -1 NH le{56(5\240\240)1 C(4)WB 23 Sn( Working with Object Models)56 1 TN()EA()BN}if -2 NH le{57(5.1\240\240)2 C(4.1)WB 24 Sn( Attribute and Element Cardi)HY(nal)HY(i)HY(ties)YH()57 1 TN()EA()BN}if -2 NH le{58(5.2\240\240)2 C(4.2)WB 25 Sn( Access)HY(ing)YH( the Object Model)58 1 TN()EA()BN}if -2 NH le{59(5.3\240\240)2 C(4.3)WB 26 Sn( Modi)HY(fy)HY(ing)YH( the Object Model)59 1 TN()EA()BN}if -2 NH le{60(5.4\240\240)2 C(4.4)WB 27 Sn( Creat)HY(ing)YH( the Object Model from Scratch)60 1 TN()EA()BN}if -2 NH le{61(5.5\240\240)2 C(4.5)WB 28 Sn( Mapping for the Built-in XML Schema Types)61 1 TN()EA()BN}if -1 NH le{62(6\240\240)1 C(5)WB 30 Sn( Parsing)62 1 TN()EA()BN}if -2 NH le{63(6.1\240\240)2 C(5.1)WB 31 Sn( XML Schema Vali)HY(da)HY(tion)YH( and Search)HY(ing)YH()63 1 TN()EA()BN}if -2 NH le{64(6.2\240\240)2 C(5.2)WB 32 Sn( Error Handling)64 1 TN()EA()BN}if -1 NH le{65(7\240\240)1 C(6)WB 33 Sn( Seri)HY(al)HY(iza)HY(tion)YH()65 1 TN()EA()BN}if -2 NH le{66(7.1\240\240)2 C(6.1)WB 34 Sn( Names)HY(pace)YH( and Schema Infor)HY(ma)HY(tion)YH()66 1 TN()EA()BN}if -2 NH le{67(7.2\240\240)2 C(6.2)WB 35 Sn( Error Handling)67 1 TN()EA()BN}if -/OU t D /Cb Db D NP Ep ET -/Cb Db D /Ct [16#00 16#00 16#00] D /Cl [16#00 16#00 16#00] D /CL -1 D Ct Sc - -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/tree/guide/index.xhtml) D -/Ti (C++/Tree Mapping Getting Started Guide) D -/Au () D -/Df f D -/ME [] D - -NP RC ZF -()1 Sl()WB 0 Sn( - -)BR()WB 1 Sn( )BR()WB 2 Sn( - - - )0 1 0 H(Preface)WB 36 Sn()WB 3 Sn()EA()EH( - - )0 2 1 H(About)WB 37 Sn()WB 4 Sn( This Docu)HY(ment)YH()EA()EH( - - )0 P(The goal of this docu)HY(ment)YH( is to provide you with an under)HY(stand)HY(ing)YH( of - the C++/Tree program)HY(ming)YH( model and allow you to effi)HY(ciently)YH( eval)HY(u)HY(ate)YH( - XSD against your project's tech)HY(ni)HY(cal)YH( require)HY(ments)YH(. As such, this - docu)HY(ment)YH( is intended for C++ devel)HY(op)HY(ers)YH( and soft)HY(ware)YH( archi)HY(tects)YH( - who are looking for an XML process)HY(ing)YH( solu)HY(tion)YH(. For a more in-depth - descrip)HY(tion)YH( of the C++/Tree mapping refer to the - )R1 2 A(C++/Tree - Mapping User Manual)EA(.)EP( - - )0 P(Prior expe)HY(ri)HY(ence)YH( with XML and C++ is required to under)HY(stand)YH( this - docu)HY(ment)YH(. Basic under)HY(stand)HY(ing)YH( of XML Schema is advan)HY(ta)HY(geous)YH( but - not expected or required. - )EP( - - - )0 2 2 H(More)WB 38 Sn()WB 5 Sn( Infor)HY(ma)HY(tion)YH()EA()EH( - - )0 P(Beyond this guide, you may also find the follow)HY(ing)YH( sources of - infor)HY(ma)HY(tion)YH( useful:)EP( - - )UL( )-1 LI()R1 2 A(C++/Tree - Mapping User Manual)EA( - - )-1 LI()R2 2 A(C++/Tree - Mapping Customiza)HY(tion)YH( Guide)EA( - - )-1 LI()R3 2 A(C++/Tree - Mapping Frequently Asked Ques)HY(tions)YH( \201FAQ\202)EA( - - )-1 LI()R4 2 A(XSD - Compiler Command Line Manual)EA( - - )-1 LI(The )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( in the XSD - distri)HY(bu)HY(tion)YH( contains a collec)HY(tion)YH( of exam)HY(ples)YH( and a README - file with an overview of each example. - - )-1 LI(The )SM(README)ES( file in the XSD distri)HY(bu)HY(tion)YH( explains - how to compile the exam)HY(ples)YH( on various plat)HY(forms)YH(. - - )-1 LI(The )R5 2 A(xsd-users)EA( - mailing list is the place to ask tech)HY(ni)HY(cal)YH( ques)HY(tions)YH( about XSD and the C++/Parser mapping. - Further)HY(more)YH(, the )R6 2 A(archives)EA( - may already have answers to some of your ques)HY(tions)YH(. - )LU( - - - - )0 1 3 H(1)WB 39 Sn()WB 6 Sn( Intro)HY(duc)HY(tion)YH()EA()EH( - - )0 P(Welcome to CodeSyn)HY(the)HY(sis)YH( XSD and the C++/Tree mapping. XSD is a - cross-plat)HY(form)YH( W3C XML Schema to C++ data binding compiler. C++/Tree - is a W3C XML Schema to C++ mapping that repre)HY(sents)YH( the data stored - in XML as a stat)HY(i)HY(cally)YH(-typed, vocab)HY(u)HY(lary)YH(-specific object model. - )EP( - - )0 2 4 H(1.1)WB 40 Sn()WB 7 Sn( Mapping Overview)EA()EH( - - )0 P(Based on a formal descrip)HY(tion)YH( of an XML vocab)HY(u)HY(lary)YH( \201schema\202, the - C++/Tree mapping produces a tree-like data struc)HY(ture)YH( suit)HY(able)YH( for - in-memory process)HY(ing)YH(. The core of the mapping consists of C++ - classes that consti)HY(tute)YH( the object model and are derived from - types defined in XML Schema as well as XML parsing and - seri)HY(al)HY(iza)HY(tion)YH( code.)EP( - - )0 P(Besides the core features, C++/Tree provide a number of addi)HY(tional)YH( - mapping elements that can be useful in some appli)HY(ca)HY(tions)YH(. These - include seri)HY(al)HY(iza)HY(tion)YH( and extrac)HY(tion)YH( to/from formats others than - XML, such as unstruc)HY(tured)YH( text \201useful for debug)HY(ging)YH(\202 and binary - repre)HY(sen)HY(ta)HY(tions)YH( such as XDR and CDR for high-speed data process)HY(ing)YH( - as well as auto)HY(matic)YH( docu)HY(men)HY(ta)HY(tion)YH( gener)HY(a)HY(tion)YH(. The C++/Tree mapping - also provides a wide range of mech)HY(a)HY(nisms)YH( for control)HY(ling)YH( and - customiz)HY(ing)YH( the gener)HY(ated)YH( code.)EP( - - )0 P(A typical appli)HY(ca)HY(tion)YH( that uses C++/Tree for XML process)HY(ing)YH( usually - performs the follow)HY(ing)YH( three steps: it first reads \201parses\202 an XML - docu)HY(ment)YH( to an in-memory object model, it then performs some useful - compu)HY(ta)HY(tions)YH( on that object model which may involve modi)HY(fi)HY(ca)HY(tion)YH( - of the model, and finally it may write \201seri)HY(al)HY(ize)YH(\202 the modi)HY(fied)YH( - object model back to XML.)EP( - - )0 P(The next chapter presents a simple appli)HY(ca)HY(tion)YH( that performs these - three steps. The follow)HY(ing)YH( chap)HY(ters)YH( show how to use the C++/Tree - mapping in more detail.)EP( - - )0 2 5 H(1.2)WB 41 Sn()WB 8 Sn( Bene)HY(fits)YH()EA()EH( - - )0 P(Tradi)HY(tional)YH( XML access APIs such as Docu)HY(ment)YH( Object Model \201DOM\202 - or Simple API for XML \201SAX\202 have a number of draw)HY(backs)YH( that - make them less suit)HY(able)YH( for creat)HY(ing)YH( robust and main)HY(tain)HY(able)YH( - XML process)HY(ing)YH( appli)HY(ca)HY(tions)YH(. These draw)HY(backs)YH( include: - )EP( - - )UL( )-1 LI(Generic repre)HY(sen)HY(ta)HY(tion)YH( of XML in terms of elements, attributes, - and text forces an appli)HY(ca)HY(tion)YH( devel)HY(oper)YH( to write a substan)HY(tial)YH( - amount of bridg)HY(ing)YH( code that iden)HY(ti)HY(fies)YH( and trans)HY(forms)YH( pieces - of infor)HY(ma)HY(tion)YH( encoded in XML to a repre)HY(sen)HY(ta)HY(tion)YH( more suit)HY(able)YH( - for consump)HY(tion)YH( by the appli)HY(ca)HY(tion)YH( logic. - - )-1 LI(String-based flow control defers error detec)HY(tion)YH( to runtime. - It also reduces code read)HY(abil)HY(ity)YH( and main)HY(tain)HY(abil)HY(ity)YH(. - - )-1 LI(Lack of type safety because the data is repre)HY(sented)YH( as text. - - )-1 LI(Result)HY(ing)YH( appli)HY(ca)HY(tions)YH( are hard to debug, change, and - main)HY(tain)YH(. - )LU( - - )0 P(In contrast, stat)HY(i)HY(cally)YH(-typed, vocab)HY(u)HY(lary)YH(-specific object model - produced by the C++/Tree mapping allows you to operate in your - domain terms instead of the generic elements, attributes, and - text. Static typing helps catch errors at compile-time rather - than at run-time. Auto)HY(matic)YH( code gener)HY(a)HY(tion)YH( frees you for more - inter)HY(est)HY(ing)YH( tasks \201such as doing some)HY(thing)YH( useful with the - infor)HY(ma)HY(tion)YH( stored in the XML docu)HY(ments)YH(\202 and mini)HY(mizes)YH( the - effort needed to adapt your appli)HY(ca)HY(tions)YH( to changes in the - docu)HY(ment)YH( struc)HY(ture)YH(. To summa)HY(rize)YH(, the C++/Tree object model has - the follow)HY(ing)YH( key advan)HY(tages)YH( over generic XML access APIs:)EP( - - )UL( )-1 LI()BD(Ease of use.)ES( The gener)HY(ated)YH( code hides all the complex)HY(ity)YH( - asso)HY(ci)HY(ated)YH( with parsing and seri)HY(al)HY(iz)HY(ing)YH( XML. This includes navi)HY(gat)HY(ing)YH( - the struc)HY(ture)YH( and convert)HY(ing)YH( between the text repre)HY(sen)HY(ta)HY(tion)YH( and - data types suit)HY(able)YH( for manip)HY(u)HY(la)HY(tion)YH( by the appli)HY(ca)HY(tion)YH( - logic. - - )-1 LI()BD(Natural repre)HY(sen)HY(ta)HY(tion)YH(.)ES( The object repre)HY(sen)HY(ta)HY(tion)YH( allows - you to access the XML data using your domain vocab)HY(u)HY(lary)YH( instead - of generic elements, attributes, and text. - - )-1 LI()BD(Concise code.)ES( With the object repre)HY(sen)HY(ta)HY(tion)YH( the - appli)HY(ca)HY(tion)YH( imple)HY(men)HY(ta)HY(tion)YH( is simpler and thus easier - to read and under)HY(stand)YH(. - - )-1 LI()BD(Safety.)ES( The gener)HY(ated)YH( object model is stat)HY(i)HY(cally)YH( - typed and uses func)HY(tions)YH( instead of strings to access the - infor)HY(ma)HY(tion)YH(. This helps catch program)HY(ming)YH( errors at compile-time - rather than at runtime. - - )-1 LI()BD(Main)HY(tain)HY(abil)HY(ity)YH(.)ES( Auto)HY(matic)YH( code gener)HY(a)HY(tion)YH( mini)HY(mizes)YH( the - effort needed to adapt the appli)HY(ca)HY(tion)YH( to changes in the - docu)HY(ment)YH( struc)HY(ture)YH(. With static typing, the C++ compiler - can pin-point the places in the client code that need to be - changed. - - )-1 LI()BD(Compat)HY(i)HY(bil)HY(ity)YH(.)ES( Sequences of elements are repre)HY(sented)YH( in - the object model as contain)HY(ers)YH( conform)HY(ing)YH( to the stan)HY(dard)YH( C++ - sequence require)HY(ments)YH(. This makes it possi)HY(ble)YH( to use stan)HY(dard)YH( - C++ algo)HY(rithms)YH( on the object repre)HY(sen)HY(ta)HY(tion)YH( and frees you from - learn)HY(ing)YH( yet another container inter)HY(face)YH(, as is the case with - DOM. - - )-1 LI()BD(Effi)HY(ciency)YH(.)ES( If the appli)HY(ca)HY(tion)YH( makes repet)HY(i)HY(tive)YH( use - of the data extracted from XML, then the C++/Tree object model - is more effi)HY(cient)YH( because the navi)HY(ga)HY(tion)YH( is performed using - func)HY(tion)YH( calls rather than string compar)HY(isons)YH( and the XML - data is extracted only once. Further)HY(more)YH(, the runtime memory - usage is reduced due to more effi)HY(cient)YH( data storage - \201for instance, storing numeric data as inte)HY(gers)YH( instead of - strings\202 as well as the static knowl)HY(edge)YH( of cardi)HY(nal)HY(ity)YH( - constraints. - )LU( - - - - - - )0 1 6 H(2)WB 42 Sn()WB 9 Sn( Hello World Example)EA()EH( - - )0 P(In this chapter we will examine how to parse, access, modify, and - seri)HY(al)HY(ize)YH( a very simple XML docu)HY(ment)YH( using the XSD-gener)HY(ated)YH( - C++/Tree object model. The code presented in this chapter is - based on the )SM(hello)ES( example which can be found in - the )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( of the XSD - distri)HY(bu)HY(tion)YH(.)EP( - - )0 2 7 H(2.1)WB 43 Sn()WB 10 Sn( Writing XML Docu)HY(ment)YH( and Schema)EA()EH( - - )0 P(First, we need to get an idea about the struc)HY(ture)YH( - of the XML docu)HY(ments)YH( we are going to process. Our - )SM(hello.xml)ES(, for example, could look like this:)EP( - - ) 10 28 PR(<?xml version="1.0"?> -<hello> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello>)RP( - - )0 P(Then we can write a descrip)HY(tion)YH( of the above XML in the - XML Schema language and save it into )SM(hello.xsd)ES(:)EP( - - ) 13 70 PR(<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello_t"> - <xs:sequence> - <xs:element name="greeting" type="xs:string"/> - <xs:element name="name" type="xs:string" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="hello" type="hello_t"/> - -</xs:schema>)RP( - - )0 P(Even if you are not famil)HY(iar)YH( with XML Schema, it - should be easy to connect decla)HY(ra)HY(tions)YH( in )SM(hello.xsd)ES( - to elements in )SM(hello.xml)ES(. The )SM(hello_t)ES( type - is defined as a sequence of the nested )SM(greet)HY(ing)YH()ES( and - )SM(name)ES( elements. Note that the term sequence in XML - Schema means that elements should appear in a partic)HY(u)HY(lar)YH( order - as opposed to appear)HY(ing)YH( multi)HY(ple)YH( times. The )SM(name)ES( - element has its )SM(maxOc)HY(curs)YH()ES( prop)HY(erty)YH( set to - )SM(unbounded)ES( which means it can appear multi)HY(ple)YH( times - in an XML docu)HY(ment)YH(. Finally, the glob)HY(ally)YH(-defined )SM(hello)ES( - element prescribes the root element for our vocab)HY(u)HY(lary)YH(. For an - easily-approach)HY(able)YH( intro)HY(duc)HY(tion)YH( to XML Schema refer to - )R7 2 A(XML Schema Part 0: - Primer)EA(.)EP( - - )0 P(The above schema is a spec)HY(i)HY(fi)HY(ca)HY(tion)YH( of our XML vocab)HY(u)HY(lary)YH(; it tells - every)HY(body)YH( what valid docu)HY(ments)YH( of our XML-based language should look - like. We can also update our )SM(hello.xml)ES( to include the - infor)HY(ma)HY(tion)YH( about the schema so that XML parsers can vali)HY(date)YH( - our docu)HY(ment)YH(:)EP( - - ) 11 60 PR(<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello>)RP( - - - )0 P(The next step is to compile the schema to gener)HY(ate)YH( the object - model and parsing func)HY(tions)YH(.)EP( - - )0 2 8 H(2.2)WB 44 Sn()WB 11 Sn( Trans)HY(lat)HY(ing)YH( Schema to C++)EA()EH( - - )0 P(Now we are ready to trans)HY(late)YH( our )SM(hello.xsd)ES( to C++. - To do this we invoke the XSD compiler from a termi)HY(nal)YH( \201UNIX\202 or - a command prompt \201Windows\202: - )EP( - - ) 1 24 PR($ xsd cxx-tree hello.xsd)RP( - - )0 P(The XSD compiler produces two C++ files: )SM(hello.hxx)ES( and - )SM(hello.cxx)ES(. The follow)HY(ing)YH( code frag)HY(ment)YH( is taken from - )SM(hello.hxx)ES(; it should give you an idea about what gets - gener)HY(ated)YH(: - )EP( - - ) 45 60 PR(class hello_t -{ -public: - // greeting - // - typedef xml_schema::string greeting_type; - - const greeting_type& - greeting \201\202 const; - - greeting_type& - greeting \201\202; - - void - greeting \201const greeting_type& x\202; - - // name - // - typedef xml_schema::string name_type; - typedef xsd::sequence<name_type> name_sequence; - typedef name_sequence::iterator name_iterator; - typedef name_sequence::const_iterator name_const_iterator; - - const name_sequence& - name \201\202 const; - - name_sequence& - name \201\202; - - void - name \201const name_sequence& s\202;)WR( - - // Constructor. - // - hello_t \201const greeting_type&\202; - - ... - -}; - -std::auto_ptr<hello_t> -hello \201const std::string& uri\202; - -std::auto_ptr<hello_t> -hello \201std::istream&\202;)RP( - - )0 P(The )SM(hello_t)ES( C++ class corre)HY(sponds)YH( to the - )SM(hello_t)ES( XML Schema type. For each element - in this type a set of C++ type defi)HY(ni)HY(tions)YH( as well as - acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( are gener)HY(ated)YH( inside the - )SM(hello_t)ES( class. Note that the type defi)HY(ni)HY(tions)YH( - and member func)HY(tions)YH( for the )SM(greet)HY(ing)YH()ES( and - )SM(name)ES( elements are differ)HY(ent)YH( because of the - cardi)HY(nal)HY(ity)YH( differ)HY(ences)YH( between these two elements - \201)SM(greet)HY(ing)YH()ES( is a required single element and - )SM(name)ES( is a sequence of elements\202.)EP( - - )0 P(The )SM(xml_schema::string)ES( type used in the type - defi)HY(ni)HY(tions)YH( is a C++ class provided by the XSD runtime - that corre)HY(sponds)YH( to built-in XML Schema type - )SM(string)ES(. The )SM(xml_schema::string)ES( - is based on )SM(std::string)ES( and can be used as - such. Simi)HY(larly)YH(, the )SM(sequence)ES( class template - that is used in the )SM(name_sequence)ES( type - defi)HY(ni)HY(tion)YH( is based on and has the same inter)HY(face)YH( as - )SM(std::vector)ES(. The mapping between the built-in - XML Schema types and C++ types is described in more detail in - )0 28 1 A(Section 4.5, "Mapping for the Built-in XML Schema - Types")28 0 TN TL()Ec /AF f D(. The )SM(hello_t)ES( class also includes a - construc)HY(tor)YH( with an initial)HY(izer)YH( for the required - )SM(greet)HY(ing)YH()ES( element as its argu)HY(ment)YH(.)EP( - - )0 P(The )SM(hello)ES( over)HY(loaded)YH( global func)HY(tions)YH( corre)HY(spond)YH( - to the )SM(hello)ES( global element in XML Schema. A - global element in XML Schema is a valid docu)HY(ment)YH( root. - By default XSD gener)HY(ated)YH( a set of parsing func)HY(tions)YH( for each - global element defined in XML Schema \201this can be over)HY(rid)HY(den)YH( - with the )SM(--root-element-*)ES( options\202. Parsing - func)HY(tions)YH( return a dynam)HY(i)HY(cally)YH( allo)HY(cated)YH( object model as an - auto)HY(matic)YH( pointer. The actual pointer used depends on the - C++ stan)HY(dard)YH( selected. For C++98 it is )SM(std::auto_ptr)ES( - as shown above. For C++11 it is )SM(std::unique_ptr)ES(. - For example, if we modify our XSD compiler invo)HY(ca)HY(tion)YH( to - select C++11:)EP( - - ) 1 36 PR($ xsd cxx-tree --std c++11 hello.xsd)RP( - - )0 P(Then the parsing func)HY(tion)YH( signa)HY(tures)YH( will become:)EP( - - ) 5 31 PR(std::unique_ptr<hello_t> -hello \201const std::string& uri\202; - -std::unique_ptr<hello_t> -hello \201std::istream&\202;)RP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on parsing func)HY(tions)YH( see )0 30 1 A(Chapter 5, - "Parsing")30 0 TN TL()Ec /AF f D(.)EP( - - )0 2 9 H(2.3)WB 45 Sn()WB 12 Sn( Imple)HY(ment)HY(ing)YH( Appli)HY(ca)HY(tion)YH( Logic)EA()EH( - - )0 P(At this point we have all the parts we need to do some)HY(thing)YH( useful - with the infor)HY(ma)HY(tion)YH( stored in our XML docu)HY(ment)YH(: - )EP( - - ) 25 62 PR(#include <iostream> -#include "hello.hxx" - -using namespace std; - -int -main \201int argc, char* argv[]\202 -{ - try - { - auto_ptr<hello_t> h \201hello \201argv[1]\202\202; - - for \201hello_t::name_const_iterator i \201h->name \201\202.begin \201\202\202; - i != h->name \201\202.end \201\202; - ++i\202 - { - cerr << h->greeting \201\202 << ", " << *i << "!" << endl; - } - } - catch \201const xml_schema::exception& e\202 - { - cerr << e << endl; - return 1; - } -})RP( - - )0 P(The first part of our appli)HY(ca)HY(tion)YH( calls one of the parsing - func)HY(tions)YH( to parser an XML file spec)HY(i)HY(fied)YH( in the command line. - We then use the returned object model to iterate over names - and print a greet)HY(ing)YH( line for each of them. Finally, we - catch and print the )SM(xml_schema::excep)HY(tion)YH()ES( - excep)HY(tion)YH( in case some)HY(thing)YH( goes wrong. This excep)HY(tion)YH( - is the root of the excep)HY(tion)YH( hier)HY(ar)HY(chy)YH( used by the - XSD-gener)HY(ated)YH( code. - )EP( - - - )0 2 10 H(2.4)WB 46 Sn()WB 13 Sn( Compil)HY(ing)YH( and Running)EA()EH( - - )0 P(After saving our appli)HY(ca)HY(tion)YH( from the previ)HY(ous)YH( section in - )SM(driver.cxx)ES(, we are ready to compile our first - program and run it on the test XML docu)HY(ment)YH(. On a UNIX - system this can be done with the follow)HY(ing)YH( commands: - )EP( - - ) 6 43 PR($ c++ -I.../libxsd -c driver.cxx hello.cxx -$ c++ -o driver driver.o hello.o -lxerces-c -$ ./driver hello.xml -Hello, sun! -Hello, moon! -Hello, world!)RP( - - )0 P(Here )SM(.../libxsd)ES( repre)HY(sents)YH( the path to the - )SM(libxsd)ES( direc)HY(tory)YH( in the XSD distri)HY(bu)HY(tion)YH(. - Note also that we are required to link our appli)HY(ca)HY(tion)YH( - with the Xerces-C++ library because the gener)HY(ated)YH( code - uses it as the under)HY(ly)HY(ing)YH( XML parser.)EP( - - )0 2 11 H(2.5)WB 47 Sn()WB 14 Sn( Adding Seri)HY(al)HY(iza)HY(tion)YH()EA()EH( - - )0 P(While parsing and access)HY(ing)YH( the XML data may be every)HY(thing)YH( - you need, there are appli)HY(ca)HY(tions)YH( that require creat)HY(ing)YH( new - or modi)HY(fy)HY(ing)YH( exist)HY(ing)YH( XML docu)HY(ments)YH(. By default XSD does - not produce seri)HY(al)HY(iza)HY(tion)YH( code. We will need to request - it with the )SM(--gener)HY(ate)YH(-seri)HY(al)HY(iza)HY(tion)YH()ES( options:)EP( - - ) 1 49 PR($ xsd cxx-tree --generate-serialization hello.xsd)RP( - - )0 P(If we now examine the gener)HY(ated)YH( )SM(hello.hxx)ES( file, - we will find a set of over)HY(loaded)YH( seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(, - includ)HY(ing)YH( the follow)HY(ing)YH( version:)EP( - - ) 5 45 PR(void -hello \201std::ostream&, - const hello_t&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202\202; -)RP( - - )0 P(Just like with parsing func)HY(tions)YH(, XSD gener)HY(ates)YH( seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH( for each global element unless instructed other)HY(wise)YH( - with one of the )SM(--root-element-*)ES( options. For more - infor)HY(ma)HY(tion)YH( on seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( see )0 33 1 A(Chapter 6, - "Seri)HY(al)HY(iza)HY(tion)YH(")33 0 TN TL()Ec /AF f D(.)EP( - - )0 P(We first examine an appli)HY(ca)HY(tion)YH( that modi)HY(fies)YH( an exist)HY(ing)YH( - object model and seri)HY(al)HY(izes)YH( it back to XML:)EP( - - ) 34 50 PR(#include <iostream> -#include "hello.hxx" - -using namespace std; - -int -main \201int argc, char* argv[]\202 -{ - try - { - auto_ptr<hello_t> h \201hello \201argv[1]\202\202; - - // Change the greeting phrase. - // - h->greeting \201"Hi"\202; - - // Add another entry to the name sequence. - // - h->name \201\202.push_back \201"mars"\202; - - // Serialize the modified object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "hello.xsd"; - - hello \201cout, *h, map\202; - } - catch \201const xml_schema::exception& e\202 - { - cerr << e << endl;)WR( - return 1; - } -})RP( - - )0 P(First, our appli)HY(ca)HY(tion)YH( parses an XML docu)HY(ment)YH( and obtains its - object model as in the previ)HY(ous)YH( example. Then it changes the - greet)HY(ing)YH( string and adds another entry to the list of names. - Finally, it seri)HY(al)HY(izes)YH( the object model back to XML by calling - the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH(.)EP( - - )0 P(The first argu)HY(ment)YH( we pass to the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH( is - )SM(cout)ES( which results in the XML being written to - the stan)HY(dard)YH( output for us to inspect. We could have also - written the result to a file or memory buffer by creat)HY(ing)YH( an - instance of )SM(std::ofstream)ES( or )SM(std::ostringstream)ES( - and passing it instead of )SM(cout)ES(. The second argu)HY(ment)YH( is the - object model we want to seri)HY(al)HY(ize)YH(. The final argu)HY(ment)YH( is an optional - names)HY(pace)YH( infor)HY(ma)HY(tion)YH( map for our vocab)HY(u)HY(lary)YH(. It captures infor)HY(ma)HY(tion)YH( - such as names)HY(paces)YH(, names)HY(pace)YH( prefixes to which they should be mapped, - and schemas asso)HY(ci)HY(ated)YH( with these names)HY(paces)YH(. If we don't provide - this argu)HY(ment)YH( then generic names)HY(pace)YH( prefixes \201)SM(p1)ES(, - )SM(p2)ES(, etc.\202 will be auto)HY(mat)HY(i)HY(cally)YH( assigned to XML names)HY(paces)YH( - and no schema infor)HY(ma)HY(tion)YH( will be added to the result)HY(ing)YH( docu)HY(ment)YH( - \201see )0 33 1 A(Chapter 6, "Seri)HY(al)HY(iza)HY(tion)YH(")33 0 TN TL()Ec /AF f D( for details\202. - In our case, the prefix \201map key\202 and names)HY(pace)YH( name are empty - because our vocab)HY(u)HY(lary)YH( does not use XML names)HY(paces)YH(.)EP( - - )0 P(If we now compile and run this appli)HY(ca)HY(tion)YH( we will see the - output as shown in the follow)HY(ing)YH( listing:)EP( - - ) 12 60 PR(<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hi</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - <name>mars</name> - -</hello>)RP( - - )0 P(We can also create and seri)HY(al)HY(ize)YH( an object model from scratch - as shown in the follow)HY(ing)YH( example:)EP( - - ) 33 43 PR(#include <iostream> -#include <fstream> -#include "hello.hxx" - -using namespace std; - -int -main \201int argc, char* argv[]\202 -{ - try - { - hello_t h \201"Hi"\202; - - hello_t::name_sequence& ns \201h.name \201\202\202; - - ns.push_back \201"Jane"\202; - ns.push_back \201"John"\202; - - // Serialize the object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "hello.xsd"; - - std::ofstream ofs \201argv[1]\202; - hello \201ofs, h, map\202; - } - catch \201const xml_schema::exception& e\202 - { - cerr << e << endl; - return 1;)WR( - } -})RP( - - )0 P(In this example we used the gener)HY(ated)YH( construc)HY(tor)YH( to create - an instance of type )SM(hello_t)ES(. To reduce typing, - we obtained a refer)HY(ence)YH( to the name sequence which we then - used to add a few names. The seri)HY(al)HY(iza)HY(tion)YH( part is iden)HY(ti)HY(cal)YH( - to the previ)HY(ous)YH( example except this time we are writing to - a file. If we compile and run this program, it produces the - follow)HY(ing)YH( XML file:)EP( - - ) 10 60 PR(<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hi</greeting> - - <name>Jane</name> - <name>John</name> - -</hello>)RP( - - )0 2 12 H(2.6)WB 48 Sn()WB 15 Sn( Select)HY(ing)YH( Naming Conven)HY(tion)YH()EA()EH( - - )0 P(By default XSD uses the so-called K&R \201Kernighan and Ritchie\202 - iden)HY(ti)HY(fier)YH( naming conven)HY(tion)YH( in the gener)HY(ated)YH( code. In this - conven)HY(tion)YH( both type and func)HY(tion)YH( names are in lower case and - words are sepa)HY(rated)YH( by under)HY(scores)YH(. If your appli)HY(ca)HY(tion)YH( code or - schemas use a differ)HY(ent)YH( nota)HY(tion)YH(, you may want to change the - naming conven)HY(tion)YH( used in the gener)HY(ated)YH( code for consis)HY(tency)YH(. - XSD supports a set of widely-used naming conven)HY(tions)YH( - that you can select with the )SM(--type-naming)ES( and - )SM(--func)HY(tion)YH(-naming)ES( options. You can also further - refine one of the prede)HY(fined)YH( conven)HY(tions)YH( or create a completely - custom naming scheme by using the )SM(--*-regex)ES( options.)EP( - - )0 P(As an example, let's assume that our "Hello World" appli)HY(ca)HY(tion)YH( - uses the so-called upper-camel-case naming conven)HY(tion)YH( for types - \201that is, each word in a type name is capi)HY(tal)HY(ized)YH(\202 and the K&R - conven)HY(tion)YH( for func)HY(tion)YH( names. Since K&R is the default - conven)HY(tion)YH( for both type and func)HY(tion)YH( names, we only need to - change the type naming scheme:)EP( - - ) 1 42 PR($ xsd cxx-tree --type-naming ucc hello.xsd)RP( - - )0 P(The )SM(ucc)ES( argu)HY(ment)YH( to the )SM(--type-naming)ES( - options stands for upper-camel-case. If we now examine the - gener)HY(ated)YH( )SM(hello.hxx)ES(, we will see the follow)HY(ing)YH( - changes compared to the decla)HY(ra)HY(tions)YH( shown in the previ)HY(ous)YH( - sections:)EP( - - ) 45 57 PR(class Hello_t -{ -public: - // greeting - // - typedef xml_schema::String GreetingType; - - const GreetingType& - greeting \201\202 const; - - GreetingType& - greeting \201\202; - - void - greeting \201const GreetingType& x\202; - - // name - // - typedef xml_schema::String NameType; - typedef xsd::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - - const NameSequence& - name \201\202 const; - - NameSequence& - name \201\202; - - void - name \201const NameSequence& s\202;)WR( - - // Constructor. - // - Hello_t \201const GreetingType&\202; - - ... - -}; - -std::auto_ptr<Hello_t> -hello \201const std::string& uri\202; - -std::auto_ptr<Hello_t> -hello \201std::istream&\202;)RP( - - )0 P(Notice that the type names in the )SM(xml_schema)ES( names)HY(pace)YH(, - for example )SM(xml_schema::String)ES(, now also use the - upper-camel-case naming conven)HY(tion)YH(. The only thing that we may - be unhappy about in the above code is the )SM(_t)ES( - suffix in )SM(Hello_t)ES(. If we are not in a posi)HY(tion)YH( - to change the schema, we can )EM(touch-up)ES( the )SM(ucc)ES( - conven)HY(tion)YH( with a custom trans)HY(la)HY(tion)YH( rule using the - )SM(--type-regex)ES( option:)EP( - - ) 1 72 PR($ xsd cxx-tree --type-naming ucc --type-regex '/ \201.+\202_t/\200u$1/' hello.xsd)RP( - - )0 P(This results in the follow)HY(ing)YH( changes to the gener)HY(ated)YH( code:)EP( - - ) 45 57 PR(class Hello -{ -public: - // greeting - // - typedef xml_schema::String GreetingType; - - const GreetingType& - greeting \201\202 const; - - GreetingType& - greeting \201\202; - - void - greeting \201const GreetingType& x\202; - - // name - // - typedef xml_schema::String NameType; - typedef xsd::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - - const NameSequence& - name \201\202 const; - - NameSequence& - name \201\202; - - void - name \201const NameSequence& s\202;)WR( - - // Constructor. - // - Hello \201const GreetingType&\202; - - ... - -}; - -std::auto_ptr<Hello> -hello \201const std::string& uri\202; - -std::auto_ptr<Hello> -hello \201std::istream&\202;)RP( - - )0 P(For more detailed infor)HY(ma)HY(tion)YH( on the )SM(--type-naming)ES(, - )SM(--func)HY(tion)YH(-naming)ES(, )SM(--type-regex)ES(, and - other )SM(--*-regex)ES( options refer to the NAMING - CONVEN)HY(TION)YH( section in the )R4 2 A(XSD - Compiler Command Line Manual)EA(.)EP( - - )0 2 13 H(2.7)WB 49 Sn()WB 16 Sn( Gener)HY(at)HY(ing)YH( Docu)HY(men)HY(ta)HY(tion)YH()EA()EH( - - )0 P(While our object model is quite simple, real-world vocab)HY(u)HY(lar)HY(ies)YH( - can be quite complex with hundreds of types, elements, and - attributes. For such vocab)HY(u)HY(lar)HY(ies)YH( figur)HY(ing)YH( out which types - provide which member func)HY(tions)YH( by study)HY(ing)YH( the gener)HY(ated)YH( - source code or schemas can be a daunt)HY(ing)YH( task. To provide - appli)HY(ca)HY(tion)YH( devel)HY(op)HY(ers)YH( with a more acces)HY(si)HY(ble)YH( way of - under)HY(stand)HY(ing)YH( the gener)HY(ated)YH( object models, the XSD compiler - can be instructed to produce source code with docu)HY(men)HY(ta)HY(tion)YH( - comments in the Doxygen format. Then the source code can be - processed with the )R8 2 A(Doxygen)EA( - docu)HY(men)HY(ta)HY(tion)YH( system to extract this infor)HY(ma)HY(tion)YH( and produce - docu)HY(men)HY(ta)HY(tion)YH( in various formats. - )EP( - - )0 P(In this section we will see how to gener)HY(ate)YH( docu)HY(men)HY(ta)HY(tion)YH( - for our "Hello World" vocab)HY(u)HY(lary)YH(. To show)HY(case)YH( the full power - of the XSD docu)HY(men)HY(ta)HY(tion)YH( facil)HY(i)HY(ties)YH(, we will first docu)HY(ment)YH( - our schema. The XSD compiler will then trans)HY(fer)YH( - this infor)HY(ma)HY(tion)YH( from the schema to the gener)HY(ated)YH( code and - then to the object model docu)HY(men)HY(ta)HY(tion)YH(. Note that the - docu)HY(men)HY(ta)HY(tion)YH( in the schema is not required for XSD to - gener)HY(ate)YH( useful docu)HY(men)HY(ta)HY(tion)YH(. Below you will find - our )SM(hello.xsd)ES( with added docu)HY(men)HY(ta)HY(tion)YH(:)EP( - - ) 43 69 PR(<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello_t"> - - <xs:annotation> - <xs:documentation> - The hello_t type consists of a greeting phrase and a - collection of names to which this greeting applies. - </xs:documentation> - </xs:annotation> - - <xs:sequence> - - <xs:element name="greeting" type="xs:string"> - <xs:annotation> - <xs:documentation> - The greeting element contains the greeting phrase - for this hello object. - </xs:documentation> - </xs:annotation> - </xs:element> - - <xs:element name="name" type="xs:string" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation> - The name elements contains names to be greeted. - </xs:documentation> - </xs:annotation> - </xs:element> - - </xs:sequence>)WR( - </xs:complexType> - - <xs:element name="hello" type="hello_t"> - <xs:annotation> - <xs:documentation> - The hello element is a root of the Hello XML vocabulary. - Every conforming document should start with this element. - </xs:documentation> - </xs:annotation> - </xs:element> - -</xs:schema>)RP( - - )0 P(The first step in obtain)HY(ing)YH( the docu)HY(men)HY(ta)HY(tion)YH( is to recom)HY(pile)YH( - our schema with the )SM(--gener)HY(ate)YH(-doxygen)ES( option:)EP( - - ) 1 68 PR($ xsd cxx-tree --generate-serialization --generate-doxygen hello.xsd)RP( - - )0 P(Now the gener)HY(ated)YH( )SM(hello.hxx)ES( file contains comments - in the Doxygen format. The next step is to process this file - with the Doxygen docu)HY(men)HY(ta)HY(tion)YH( system. If your project does - not use Doxygen then you first need to create a config)HY(u)HY(ra)HY(tion)YH( - file for your project:)EP( - - ) 1 26 PR($ doxygen -g hello.doxygen)RP( - - )0 P(You only need to perform this step once. Now we can gener)HY(ate)YH( - the docu)HY(men)HY(ta)HY(tion)YH( by execut)HY(ing)YH( the follow)HY(ing)YH( command in the - direc)HY(tory)YH( with the gener)HY(ated)YH( source code:)EP( - - ) 1 23 PR($ doxygen hello.doxygen)RP( - - )0 P(While the gener)HY(ated)YH( docu)HY(men)HY(ta)HY(tion)YH( can be useful as is, we can - go one step further and link \201using the Doxygen tags mech)HY(a)HY(nism)YH(\202 - the docu)HY(men)HY(ta)HY(tion)YH( for our object model with the docu)HY(men)HY(ta)HY(tion)YH( - for the XSD runtime library which defines C++ classes for the - built-in XML Schema types. This way we can seam)HY(lessly)YH( browse - between docu)HY(men)HY(ta)HY(tion)YH( for the )SM(hello_t)ES( class which - is gener)HY(ated)YH( by the XSD compiler and the )SM(xml_schema::string)ES( - class which is defined in the XSD runtime library. The Doxygen - config)HY(u)HY(ra)HY(tion)YH( file for the XSD runtime is provided with the XSD - distri)HY(bu)HY(tion)YH(.)EP( - - )0 P(You can view the result of the steps described in this section - on the )R9 2 A(Hello - Example Docu)HY(men)HY(ta)HY(tion)YH()EA( page.)EP( - - - - - )0 1 14 H(3)WB 50 Sn()WB 17 Sn( Overall Mapping Config)HY(u)HY(ra)HY(tion)YH()EA()EH( - - )0 P(The C++/Tree mapping has a number of config)HY(u)HY(ra)HY(tion)YH( param)HY(e)HY(ters)YH( that - deter)HY(mine)YH( the overall prop)HY(er)HY(ties)YH( and behav)HY(ior)YH( of the gener)HY(ated)YH( code. - Config)HY(u)HY(ra)HY(tion)YH( param)HY(e)HY(ters)YH( are spec)HY(i)HY(fied)YH( with the XSD command line - options. This chapter describes config)HY(u)HY(ra)HY(tion)YH( aspects that are most - commonly encoun)HY(tered)YH( by appli)HY(ca)HY(tion)YH( devel)HY(op)HY(ers)YH(. These include: the - C++ stan)HY(dard)YH(, the char)HY(ac)HY(ter)YH( type that is used by the gener)HY(ated)YH( code, - handling of vocab)HY(u)HY(lar)HY(ies)YH( that use XML Schema poly)HY(mor)HY(phism)YH(, XML Schema - to C++ names)HY(pace)YH( mapping, and thread safety. For more ways to config)HY(ure)YH( - the gener)HY(ated)YH( code refer to the - )R4 2 A(XSD - Compiler Command Line Manual)EA(. - )EP( - - )0 2 15 H(3.1)WB 51 Sn()WB 18 Sn( C++ Stan)HY(dard)YH()EA()EH( - - )0 P(The C++/Tree mapping provides support for ISO/IEC C++ 1998/2003 \201C++98\202 - and ISO/IEC C++ 2011 \201C++11\202. To select the C++ stan)HY(dard)YH( for the - gener)HY(ated)YH( code we use the )SM(--std)ES( XSD compiler command - line option. While the major)HY(ity)YH( of the exam)HY(ples)YH( in this guide use - C++98, support for the new func)HY(tion)HY(al)HY(ity)YH( and library compo)HY(nents)YH( - intro)HY(duced)YH( in C++11 are discussed through)HY(out)YH( the docu)HY(ment)YH(.)EP( - - )0 2 16 H(3.2)WB 52 Sn()WB 19 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()EA()EH( - - )0 P(The C++/Tree mapping has built-in support for two char)HY(ac)HY(ter)YH( types: - )SM(char)ES( and )SM(wchar_t)ES(. You can select the - char)HY(ac)HY(ter)YH( type with the )SM(--char-type)ES( command line - option. The default char)HY(ac)HY(ter)YH( type is )SM(char)ES(. The - char)HY(ac)HY(ter)YH( type affects all string and string-based types that - are used in the mapping. These include the string-based built-in - XML Schema types, excep)HY(tion)YH( types, stream types, etc.)EP( - - )0 P(Another aspect of the mapping that depends on the char)HY(ac)HY(ter)YH( type - is char)HY(ac)HY(ter)YH( encod)HY(ing)YH(. For the )SM(char)ES( char)HY(ac)HY(ter)YH( type - the default encod)HY(ing)YH( is UTF-8. Other supported encod)HY(ings)YH( are - ISO-8859-1, Xerces-C++ Local Code Page \201LPC\202, as well as - custom encod)HY(ings)YH(. You can select which encod)HY(ing)YH( should be used - in the object model with the )SM(--char-encod)HY(ing)YH()ES( command - line option.)EP( - - )0 P(For the )SM(wchar_t)ES( char)HY(ac)HY(ter)YH( type the encod)HY(ing)YH( is - auto)HY(mat)HY(i)HY(cally)YH( selected between UTF-16 and UTF-32/UCS-4 depend)HY(ing)YH( - on the size of the )SM(wchar_t)ES( type. On some plat)HY(forms)YH( - \201for example, Windows with Visual C++ and AIX with IBM XL C++\202 - )SM(wchar_t)ES( is 2 bytes long. For these plat)HY(forms)YH( the - encod)HY(ing)YH( is UTF-16. On other plat)HY(forms)YH( )SM(wchar_t)ES( is 4 bytes - long and UTF-32/UCS-4 is used.)EP( - - )0 P(Note also that the char)HY(ac)HY(ter)YH( encod)HY(ing)YH( that is used in the object model - is inde)HY(pen)HY(dent)YH( of the encod)HY(ings)YH( used in input and output XML. In fact, - all three \201object mode, input XML, and output XML\202 can have differ)HY(ent)YH( - encod)HY(ings)YH(.)EP( - - )0 2 17 H(3.3)WB 53 Sn()WB 20 Sn( Support for Poly)HY(mor)HY(phism)YH()EA()EH( - - )0 P(By default XSD gener)HY(ates)YH( non-poly)HY(mor)HY(phic)YH( code. If your vocab)HY(u)HY(lary)YH( - uses XML Schema poly)HY(mor)HY(phism)YH( in the form of )SM(xsi:type)ES( - and/or substi)HY(tu)HY(tion)YH( groups, then you will need to compile - your schemas with the )SM(--gener)HY(ate)YH(-poly)HY(mor)HY(phic)YH()ES( option - to produce poly)HY(mor)HY(phism)YH(-aware code. For more infor)HY(ma)HY(tion)YH( on - working with poly)HY(mor)HY(phic)YH( object models, refer to - )R10 2 A(Section 2.11, - "Mapping for )SM(xsi:type)ES( and Substi)HY(tu)HY(tion)YH( Groups")EA( in - the C++/Tree Mapping User Manual.)EP( - - )0 2 18 H(3.4)WB 54 Sn()WB 21 Sn( Names)HY(pace)YH( Mapping)EA()EH( - - )0 P(XSD maps XML names)HY(paces)YH( spec)HY(i)HY(fied)YH( in the )SM(target)HY(Names)HY(pace)YH()ES( - attribute in XML Schema to one or more nested C++ names)HY(paces)YH(. By - default, a names)HY(pace)YH( URI is mapped to a sequence of C++ names)HY(pace)YH( - names by remov)HY(ing)YH( the proto)HY(col)YH( and host parts and split)HY(ting)YH( the - rest into a sequence of names with )SM('/')ES( as the name - sepa)HY(ra)HY(tor)YH(.)EP( - - )0 P(The default mapping of names)HY(pace)YH( URIs to C++ names)HY(paces)YH( - can be altered using the )SM(--names)HY(pace)YH(-map)ES( and - )SM(--names)HY(pace)YH(-regex)ES( compiler options. For example, - to map names)HY(pace)YH( URI )SM(http://www.codesyn)HY(the)HY(sis)YH(.com/my)ES( to - C++ names)HY(pace)YH( )SM(cs::my)ES(, we can use the follow)HY(ing)YH( option:)EP( - - ) 1 54 PR(--namespace-map http://www.codesynthesis.com/my=cs::my)RP( - - )0 P(A vocab)HY(u)HY(lary)YH( without a names)HY(pace)YH( is mapped to the global scope. This - also can be altered with the above options by using an empty name - for the XML names)HY(pace)YH(:)EP( - - ) 1 19 PR(--namespace-map =cs)RP( - - )0 2 19 H(3.5)WB 55 Sn()WB 22 Sn( Thread Safety)EA()EH( - - )0 P(XSD-gener)HY(ated)YH( code is thread-safe in the sense that you can - use differ)HY(ent)YH( instan)HY(ti)HY(a)HY(tions)YH( of the object model in several - threads concur)HY(rently)YH(. This is possi)HY(ble)YH( due to the gener)HY(ated)YH( - code not relying on any writable global vari)HY(ables)YH(. If you need - to share the same object between several threads then you will - need to provide some form of synchro)HY(niza)HY(tion)YH(. One approach would - be to use the gener)HY(ated)YH( code customiza)HY(tion)YH( mech)HY(a)HY(nisms)YH( to embed - synchro)HY(niza)HY(tion)YH( prim)HY(i)HY(tives)YH( into the gener)HY(ated)YH( C++ classes. For more - infor)HY(ma)HY(tion)YH( on gener)HY(ated)YH( code customiza)HY(tion)YH( refer to the - )R2 2 A(C++/Tree - Mapping Customiza)HY(tion)YH( Guide)EA(.)EP( - - )0 P(If you also would like to call parsing and/or seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH( from several threads poten)HY(tially)YH( concur)HY(rently)YH(, then - you will need to make sure the Xerces-C++ runtime is initial)HY(ized)YH( - and termi)HY(nated)YH( only once. The easiest way to do this is to - initial)HY(ize)YH(/termi)HY(nate)YH( Xerces-C++ from )SM(main\201\202)ES( when - there are no threads yet/anymore:)EP( - - ) 13 56 PR(#include <xercesc/util/PlatformUtils.hpp> - -int -main \201\202 -{ - xercesc::XMLPlatformUtils::Initialize \201\202; - - { - // Start/terminate threads and parse/serialize here. - } - - xercesc::XMLPlatformUtils::Terminate \201\202; -})RP( - - )0 P(Because you initial)HY(ize)YH( the Xerces-C++ runtime your)HY(self)YH( you should - also pass the )SM(xml_schema::flags::dont_initial)HY(ize)YH()ES( flag - to parsing and seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(. See )0 30 1 A(Chapter 5, - "Parsing")30 0 TN TL()Ec /AF f D( and )0 33 1 A(Chapter 6, "Seri)HY(al)HY(iza)HY(tion)YH(")33 0 TN TL()Ec /AF f D( for - more infor)HY(ma)HY(tion)YH(.)EP( - - - - - - )0 1 20 H(4)WB 56 Sn()WB 23 Sn( Working with Object Models)EA()EH( - - )0 P(As we have seen in the previ)HY(ous)YH( chap)HY(ters)YH(, the XSD compiler gener)HY(ates)YH( - a C++ class for each type defined in XML Schema. Together these classes - consti)HY(tute)YH( an object model for an XML vocab)HY(u)HY(lary)YH(. In this chapter we - will take a closer look at differ)HY(ent)YH( elements that comprise an - object model class as well as how to create, access, and modify - object models.)EP( - - )0 P(In this and subse)HY(quent)YH( chap)HY(ters)YH( we will use the follow)HY(ing)YH( schema - that describes a collec)HY(tion)YH( of person records. We save it in - )SM(people.xsd)ES(:)EP( - - ) 30 71 PR(<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:simpleType name="gender_t"> - <xs:restriction base="xs:string"> - <xs:enumeration value="male"/> - <xs:enumeration value="female"/> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="person_t"> - <xs:sequence> - <xs:element name="first-name" type="xs:string"/> - <xs:element name="middle-name" type="xs:string" minOccurs="0"/> - <xs:element name="last-name" type="xs:string"/> - <xs:element name="gender" type="gender_t"/> - <xs:element name="age" type="xs:short"/> - </xs:sequence> - <xs:attribute name="id" type="xs:unsignedInt" use="required"/> - </xs:complexType> - - <xs:complexType name="people_t"> - <xs:sequence> - <xs:element name="person" type="person_t" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="people" type="people_t"/> - -</xs:schema>)RP( - - )0 P(A sample XML instance to go along with this schema is saved - in )SM(people.xml)ES(:)EP( - - ) 20 61 PR(<?xml version="1.0"?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> - -</people>)RP( - - )0 P(Compil)HY(ing)YH( )SM(people.xsd)ES( with the XSD compiler results - in three gener)HY(ated)YH( C++ classes: )SM(gender_t)ES(, - )SM(person_t)ES(, and )SM(people_t)ES(. - The )SM(gender_t)ES( class is modelled after the C++ - )SM(enum)ES( type. Its defi)HY(ni)HY(tion)YH( is presented below:)EP( - - ) 17 41 PR(class gender_t: public xml_schema::string -{ -public: - enum value - { - male, - female - }; - - gender_t \201value\202; - gender_t \201const xml_schema::string&\202; - - gender_t& - operator= \201value\202; - - operator value \201\202 const; -};)RP( - - )0 P(The follow)HY(ing)YH( listing shows how we can use this type:)EP( - - ) 19 41 PR(gender_t m \201gender_t::male\202; -gender_t f \201"female"\202; - -if \201m == "female" || f == gender_t::male\202 -{ - ... -} - -switch \201m\202 -{ -case gender_t::male: - { - ... - } -case gender_t::female: - { - ... - } -})RP( - - )0 P(The other two classes will be exam)HY(ined)YH( in detail in the subse)HY(quent)YH( - sections.)EP( - - )0 2 21 H(4.1)WB 57 Sn()WB 24 Sn( Attribute and Element Cardi)HY(nal)HY(i)HY(ties)YH()EA()EH( - - )0 P(As we have seen in the previ)HY(ous)YH( chap)HY(ters)YH(, XSD gener)HY(ates)YH( a differ)HY(ent)YH( - set of type defi)HY(ni)HY(tions)YH( and member func)HY(tions)YH( for elements with - differ)HY(ent)YH( cardi)HY(nal)HY(i)HY(ties)YH(. The C++/Tree mapping divides all the possi)HY(ble)YH( - element and attribute cardi)HY(nal)HY(i)HY(ties)YH( into three cardi)HY(nal)HY(ity)YH( classes: - )EM(one)ES(, )EM(optional)ES(, and )EM(sequence)ES(.)EP( - - )0 P(The )EM(one)ES( cardi)HY(nal)HY(ity)YH( class covers all elements that should - occur exactly once as well as required attributes. In our - example, the )SM(first-name)ES(, )SM(last-name)ES(, - )SM(gender)ES(, and )SM(age)ES( elements as well as - the )SM(id)ES( attribute belong to this cardi)HY(nal)HY(ity)YH( class. - The follow)HY(ing)YH( code frag)HY(ment)YH( shows type defi)HY(ni)HY(tions)YH( as well as the - acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( that are gener)HY(ated)YH( for the - )SM(gender)ES( element in the )SM(person_t)ES( class:)EP( - - ) 15 31 PR(class person_t -{ - // gender - // - typedef gender_t gender_type; - - const gender_type& - gender \201\202 const; - - gender_type& - gender \201\202; - - void - gender \201const gender_type&\202; -};)RP( - - )0 P(The )SM(gender_type)ES( type is an alias for the element's type. - The first two acces)HY(sor)YH( func)HY(tions)YH( return read-only \201constant\202 and - read-write refer)HY(ences)YH( to the element's value, respec)HY(tively)YH(. The - modi)HY(fier)YH( func)HY(tion)YH( sets the new value for the element.)EP( - - )0 P(The )EM(optional)ES( cardi)HY(nal)HY(ity)YH( class covers all elements that - can occur zero or one time as well as optional attributes. In our - example, the )SM(middle-name)ES( element belongs to this - cardi)HY(nal)HY(ity)YH( class. The follow)HY(ing)YH( code frag)HY(ment)YH( shows the type - defi)HY(ni)HY(tions)YH( as well as the acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( that - are gener)HY(ated)YH( for this element in the )SM(person_t)ES( class:)EP( - - ) 19 63 PR(class person_t -{ - // middle-name - // - typedef xml_schema::string middle_name_type; - typedef xsd::optional<middle_name_type> middle_name_optional; - - const middle_name_optional& - middle_name \201\202 const; - - middle_name_optional& - middle_name \201\202; - - void - middle_name \201const middle_name_type&\202; - - void - middle_name \201const middle_name_optional&\202; -};)RP( - - )0 P(As with the )SM(gender)ES( element, )SM(middle_name_type)ES( - is an alias for the element's type. The )SM(middle_name_optional)ES( - type is a container for the element's optional value. It can be queried - for the pres)HY(ence)YH( of the value using the )SM(present\201\202)ES( func)HY(tion)YH(. - The value itself can be retrieved using the )SM(get\201\202)ES( - acces)HY(sor)YH( and set using the )SM(set\201\202)ES( modi)HY(fier)YH(. The container - can be reverted to the value not present state with the call to the - )SM(reset\201\202)ES( func)HY(tion)YH(. The follow)HY(ing)YH( example shows how we - can use this container:)EP( - - ) 9 42 PR(person_t::middle_name_optional n \201"John"\202; - -if \201n.present \201\202\202 -{ - cout << n.get \201\202 << endl; -} - -n.set \201"Jane"\202; -n.reset \201\202;)RP( - - - )0 P(Unlike the )EM(one)ES( cardi)HY(nal)HY(ity)YH( class, the acces)HY(sor)YH( func)HY(tions)YH( - for the )EM(optional)ES( class return read-only \201constant\202 and - read-write refer)HY(ences)YH( to the container instead of the element's - value directly. The modi)HY(fier)YH( func)HY(tions)YH( set the new value for the - element.)EP( - - )0 P(Finally, the )EM(sequence)ES( cardi)HY(nal)HY(ity)YH( class covers all elements - that can occur more than once. In our example, the - )SM(person)ES( element in the )SM(people_t)ES( type - belongs to this cardi)HY(nal)HY(ity)YH( class. The follow)HY(ing)YH( code frag)HY(ment)YH( shows - the type defi)HY(ni)HY(tions)YH( as well as the acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( - that are gener)HY(ated)YH( for this element in the )SM(people_t)ES( - class:)EP( - - ) 18 64 PR(class people_t -{ - // person - // - typedef person_t person_type; - typedef xsd::sequence<person_type> person_sequence; - typedef person_sequence::iterator person_iterator; - typedef person_sequence::const_iterator person_const_iterator; - - const person_sequence& - person \201\202 const; - - person_sequence& - person \201\202; - - void - person \201const person_sequence&\202; -};)RP( - - )0 P(Iden)HY(ti)HY(cal)YH( to the other cardi)HY(nal)HY(ity)YH( classes, )SM(person_type)ES( - is an alias for the element's type. The )SM(person_sequence)ES( - type is a sequence container for the element's values. It is based - on and has the same inter)HY(face)YH( as )SM(std::vector)ES( and - there)HY(fore)YH( can be used in similar ways. The )SM(person_iter)HY(a)HY(tor)YH()ES( - and )SM(person_const_iter)HY(a)HY(tor)YH()ES( types are read-only - \201constant\202 and read-write iter)HY(a)HY(tors)YH( for the )SM(person_sequence)ES( - container.)EP( - - )0 P(Similar to the )EM(optional)ES( cardi)HY(nal)HY(ity)YH( class, the - acces)HY(sor)YH( func)HY(tions)YH( for the )EM(sequence)ES( class return - read-only \201constant\202 and read-write refer)HY(ences)YH( to the sequence - container. The modi)HY(fier)YH( func)HY(tions)YH( copies the entries from - the passed sequence.)EP( - - )0 P(C++/Tree is a "flat)HY(ten)HY(ing)YH(" mapping in a sense that many levels of - nested compos)HY(i)HY(tors)YH( \201)SM(choice)ES( and )SM(sequence)ES(\202, - all poten)HY(tially)YH( with their own cardi)HY(nal)HY(i)HY(ties)YH(, are in the end mapped - to a flat set of elements with one of the three cardi)HY(nal)HY(ity)YH( classes - discussed above. While this results in a simple and easy to use API - for most types, in certain cases, the order of elements in the actual - XML docu)HY(ments)YH( is not preserved once parsed into the object model. To - over)HY(come)YH( this limi)HY(ta)HY(tion)YH( we can mark certain schema types, for which - content order is not suffi)HY(ciently)YH( preserved, as ordered. For more - infor)HY(ma)HY(tion)YH( on this func)HY(tion)HY(al)HY(ity)YH( refer to - )R11 2 A(Section - 2.8.4, "Element Order")EA( in the C++/Tree Mapping User Manual.)EP( - - )0 P(For complex schemas with many levels of nested compos)HY(i)HY(tors)YH( - \201)SM(choice)ES( and )SM(sequence)ES(\202 it can also - be hard to deduce the cardi)HY(nal)HY(ity)YH( class of a partic)HY(u)HY(lar)YH( element. - The gener)HY(ated)YH( Doxygen docu)HY(men)HY(ta)HY(tion)YH( can greatly help with - this task. For each element and attribute the docu)HY(men)HY(ta)HY(tion)YH( - clearly iden)HY(ti)HY(fies)YH( its cardi)HY(nal)HY(ity)YH( class. Alter)HY(na)HY(tively)YH(, you - can study the gener)HY(ated)YH( header files to find out the cardi)HY(nal)HY(ity)YH( - class of a partic)HY(u)HY(lar)YH( attribute or element.)EP( - - )0 P(In the next sections we will examine how to access and modify - infor)HY(ma)HY(tion)YH( stored in an object model using acces)HY(sor)YH( and modi)HY(fier)YH( - func)HY(tions)YH( described in this section.)EP( - - )0 2 22 H(4.2)WB 58 Sn()WB 25 Sn( Access)HY(ing)YH( the Object Model)EA()EH( - - )0 P(In this section we will learn how to get to the infor)HY(ma)HY(tion)YH( - stored in the object model for our person records vocab)HY(u)HY(lary)YH(. - The follow)HY(ing)YH( appli)HY(ca)HY(tion)YH( accesses and prints the contents - of the )SM(people.xml)ES( file:)EP( - - ) 36 70 PR(#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main \201\202 -{ - auto_ptr<people_t> ppl \201people \201"people.xml"\202\202; - - // Iterate over individual person records. - // - people_t::person_sequence& ps \201ppl->person \201\202\202; - - for \201people_t::person_iterator i \201ps.begin \201\202\202; i != ps.end \201\202; ++i\202 - { - person_t& p \201*i\202; - - // Print names: first-name and last-name are required elements, - // middle-name is optional. - // - cout << "name: " << p.first_name \201\202 << " "; - - if \201p.middle_name \201\202.present \201\202\202 - cout << p.middle_name \201\202.get \201\202 << " "; - - cout << p.last_name \201\202 << endl; - - // Print gender, age, and id which are all required. - // - cout << "gender: " << p.gender \201\202 << endl)WR( - << "age: " << p.age \201\202 << endl - << "id: " << p.id \201\202 << endl - << endl; - } -})RP( - - )0 P(This code shows common patterns of access)HY(ing)YH( elements and attributes - with differ)HY(ent)YH( cardi)HY(nal)HY(ity)YH( classes. For the sequence element - \201)SM(person)ES( in )SM(people_t)ES(\202 we first obtain a - refer)HY(ence)YH( to the container and then iterate over indi)HY(vid)HY(ual)YH( - records. The values of elements and attributes with the - )EM(one)ES( cardi)HY(nal)HY(ity)YH( class \201)SM(first-name)ES(, - )SM(last-name)ES(, )SM(gender)ES(, )SM(age)ES(, - and )SM(id)ES(\202 can be obtained directly by calling the - corre)HY(spond)HY(ing)YH( acces)HY(sor)YH( func)HY(tions)YH(. For the optional element - )SM(middle-name)ES( we first check if the value is present - and only then call )SM(get\201\202)ES( to retrieve it.)EP( - - )0 P(Note that when we want to reduce typing by creat)HY(ing)YH( a vari)HY(able)YH( - repre)HY(sent)HY(ing)YH( a frag)HY(ment)YH( of the object model that we are currently - working with \201)SM(ps)ES( and )SM(p)ES( above\202, we obtain - a refer)HY(ence)YH( to that frag)HY(ment)YH( instead of making a poten)HY(tially)YH( - expen)HY(sive)YH( copy. This is gener)HY(ally)YH( a good rule to follow when - creat)HY(ing)YH( high-perfor)HY(mance)YH( appli)HY(ca)HY(tions)YH(.)EP( - - )0 P(If we run the above appli)HY(ca)HY(tion)YH( on our sample - )SM(people.xml)ES(, the output looks as follows:)EP( - - ) 9 21 PR(name: John Doe -gender: male -age: 32 -id: 1 - -name: Jane Mary Doe -gender: female -age: 28 -id: 2)RP( - - - )0 2 23 H(4.3)WB 59 Sn()WB 26 Sn( Modi)HY(fy)HY(ing)YH( the Object Model)EA()EH( - - )0 P(In this section we will learn how to modify the infor)HY(ma)HY(tion)YH( - stored in the object model for our person records vocab)HY(u)HY(lary)YH(. - The follow)HY(ing)YH( appli)HY(ca)HY(tion)YH( changes the contents of the - )SM(people.xml)ES( file:)EP( - - ) 43 70 PR(#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main \201\202 -{ - auto_ptr<people_t> ppl \201people \201"people.xml"\202\202; - - // Iterate over individual person records and increment - // the age. - // - people_t::person_sequence& ps \201ppl->person \201\202\202; - - for \201people_t::person_iterator i \201ps.begin \201\202\202; i != ps.end \201\202; ++i\202 - { - // Alternative way: i->age \201\202++; - // - i->age \201i->age \201\202 + 1\202; - } - - // Add middle-name to the first record and remove it from - // the second. - // - person_t& john \201ps[0]\202; - person_t& jane \201ps[1]\202; - - john.middle_name \201"Mary"\202; - jane.middle_name \201\202.reset \201\202; -)WR( - // Add another John record. - // - ps.push_back \201john\202; - - // Serialize the modified object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "people.xsd"; - - people \201cout, *ppl, map\202; -})RP( - - )0 P(The first modi)HY(fi)HY(ca)HY(tion)YH( the above appli)HY(ca)HY(tion)YH( performs is iter)HY(at)HY(ing)YH( - over person records and incre)HY(ment)HY(ing)YH( the age value. This code - frag)HY(ment)YH( shows how to modify the value of a required attribute - or element. The next modi)HY(fi)HY(ca)HY(tion)YH( shows how to set a new value - for the optional )SM(middle-name)ES( element as well - as clear its value. Finally the example adds a copy of the - John Doe record to the )SM(person)ES( element sequence.)EP( - - )0 P(Note that in this case using refer)HY(ences)YH( for the )SM(ps)ES(, - )SM(john)ES(, and )SM(jane)ES( vari)HY(ables)YH( is no longer - a perfor)HY(mance)YH( improve)HY(ment)YH( but a require)HY(ment)YH( for the appli)HY(ca)HY(tion)YH( - to func)HY(tion)YH( correctly. If we hadn't used refer)HY(ences)YH(, all our changes - would have been made on copies without affect)HY(ing)YH( the object model.)EP( - - )0 P(If we run the above appli)HY(ca)HY(tion)YH( on our sample )SM(people.xml)ES(, - the output looks as follows:)EP( - - ) 28 61 PR(<?xml version="1.0"?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>33</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>29</age> - </person> - - <person id="1"> - <first-name>John</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>33</age> - </person> - -</people>)RP( - - - )0 2 24 H(4.4)WB 60 Sn()WB 27 Sn( Creat)HY(ing)YH( the Object Model from Scratch)EA()EH( - - )0 P(In this section we will learn how to create a new object model - for our person records vocab)HY(u)HY(lary)YH(. The follow)HY(ing)YH( appli)HY(ca)HY(tion)YH( - recre)HY(ates)YH( the content of the orig)HY(i)HY(nal)YH( )SM(people.xml)ES( - file:)EP( - - ) 42 48 PR(#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main \201\202 -{ - people_t ppl; - people_t::person_sequence& ps \201ppl.person \201\202\202; - - // Add the John Doe record. - // - ps.push_back \201 - person_t \201"John", // first-name - "Doe", // last-name - gender_t::male, // gender - 32, // age - 1\202\202; - - // Add the Jane Doe record. - // - ps.push_back \201 - person_t \201"Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2\202\202; // id - - // Add middle name to the Jane Doe record. - //)WR( - person_t& jane \201ps.back \201\202\202; - jane.middle_name \201"Mary"\202; - - // Serialize the object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "people.xsd"; - - people \201cout, ppl, map\202; -})RP( - - )0 P(The only new part in the above appli)HY(ca)HY(tion)YH( is the calls - to the )SM(people_t)ES( and )SM(person_t)ES( - construc)HY(tors)YH(. As a general rule, for each C++ class - XSD gener)HY(ates)YH( a construc)HY(tor)YH( with initial)HY(iz)HY(ers)YH( - for each element and attribute belong)HY(ing)YH( to the )EM(one)ES( - cardi)HY(nal)HY(ity)YH( class. For our vocab)HY(u)HY(lary)YH(, the follow)HY(ing)YH( - construc)HY(tors)YH( are gener)HY(ated)YH(:)EP( - - ) 13 35 PR(class person_t -{ - person_t \201const first_name_type&, - const last_name_type&, - const gender_type&, - const age_type&, - const id_type&\202; -}; - -class people_t -{ - people_t \201\202; -};)RP( - - )0 P(Note also that we set the )SM(middle-name)ES( element - on the Jane Doe record by obtain)HY(ing)YH( a refer)HY(ence)YH( to that record - in the object model and setting the )SM(middle-name)ES( - value on it. This is a general rule that should be followed - in order to obtain the best perfor)HY(mance)YH(: if possi)HY(ble)YH(, - direct modi)HY(fi)HY(ca)HY(tions)YH( to the object model should be preferred - to modi)HY(fi)HY(ca)HY(tions)YH( on tempo)HY(raries)YH( with subse)HY(quent)YH( copying. The - follow)HY(ing)YH( code frag)HY(ment)YH( shows a seman)HY(ti)HY(cally)YH( equiv)HY(a)HY(lent)YH( but - slightly slower version:)EP( - - ) 11 46 PR(// Add the Jane Doe record. -// -person_t jane \201"Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2\202; // id - -jane.middle_name \201"Mary"\202; - -ps.push_back \201jane\202;)RP( - - )0 P(We can also go one step further to reduce copying and improve - the perfor)HY(mance)YH( of our appli)HY(ca)HY(tion)YH( by using the non-copying - )SM(push_back\201\202)ES( func)HY(tion)YH( which assumes owner)HY(ship)YH( - of the passed objects:)EP( - - ) 19 55 PR(// Add the John Doe record. C++98 version. -// -auto_ptr<person_t> john_p \201 - new person_t \201"John", // first-name - "Doe", // last-name - gender_t::male, // gender - 32, // age - 1\202\202; -ps.push_back \201john_p\202; // assumes ownership - -// Add the Jane Doe record. C++11 version -// -unique_ptr<person_t> jane_p \201 - new person_t \201"Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2\202\202; // id -ps.push_back \201std::move \201jane_p\202\202; // assumes ownership)RP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on the non-copying modi)HY(fier)YH( func)HY(tions)YH( refer to - )R12 2 A(Section - 2.8, "Mapping for Local Elements and Attributes")EA( in the C++/Tree Mapping - User Manual. The above appli)HY(ca)HY(tion)YH( produces the follow)HY(ing)YH( output:)EP( - - ) 20 61 PR(<?xml version="1.0" ?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> - -</people>)RP( - - )0 2 25 H(4.5)WB 61 Sn()WB 28 Sn( Mapping for the Built-in XML Schema Types)EA()EH( - - )0 P(Our person record vocab)HY(u)HY(lary)YH( uses several built-in XML Schema - types: )SM(string)ES(, )SM(short)ES(, and - )SM(unsignedInt)ES(. Until now we haven't talked about - the mapping of built-in XML Schema types to C++ types and how - to work with them. This section provides an overview - of the built-in types. For more detailed infor)HY(ma)HY(tion)YH( refer - to )R13 2 A(Section - 2.5, "Mapping for Built-in Data Types")EA( in the C++/Tree Mapping - User Manual.)EP( - - )0 P(In XML Schema, built-in types are defined in the XML Schema names)HY(pace)YH(. - By default, the C++/Tree mapping maps this names)HY(pace)YH( to C++ - names)HY(pace)YH( )SM(xml_schema)ES( \201this mapping can be altered - with the )SM(--names)HY(pace)YH(-map)ES( option\202. The follow)HY(ing)YH( table - summa)HY(rizes)YH( the mapping of XML Schema built-in types to C++ types:)EP( - - - )0 PT( - - )0 P(As you can see from the table above a number of built-in - XML Schema types are mapped to funda)HY(men)HY(tal)YH( C++ types such - as )SM(int)ES( or )SM(bool)ES(. All string-based - XML Schema types are mapped to C++ types that are derived - from either )SM(std::string)ES( or - )SM(std::wstring)ES(, depend)HY(ing)YH( on the char)HY(ac)HY(ter)YH( - type selected. For access and modi)HY(fi)HY(ca)HY(tion)YH( purposes these - types can be treated as )SM(std::string)ES(. A number - of built-in types, such as )SM(qname)ES(, the binary - types, and the date/time types do not have suit)HY(able)YH( - funda)HY(men)HY(tal)YH( or stan)HY(dard)YH( C++ types to map to. As a result, - these types are imple)HY(mented)YH( from scratch in the XSD runtime. - For more infor)HY(ma)HY(tion)YH( on their inter)HY(faces)YH( refer to - )R13 2 A(Section - 2.5, "Mapping for Built-in Data Types")EA( in the C++/Tree Mapping - User Manual.)EP( - - - - - - )0 1 26 H(5)WB 62 Sn()WB 30 Sn( Parsing)EA()EH( - - )0 P(We have already seen how to parse XML to an object model in this guide - before. In this chapter we will discuss the parsing topic in more - detail.)EP( - - )0 P(By default, the C++/Tree mapping provides a total of 14 over)HY(loaded)YH( - parsing func)HY(tions)YH(. They differ in the input methods used to - read XML as well as the error report)HY(ing)YH( mech)HY(a)HY(nisms)YH(. It is also possi)HY(ble)YH( - to gener)HY(ate)YH( types for root elements instead of parsing and seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH(. This may be useful if your XML vocab)HY(u)HY(lary)YH( has multi)HY(ple)YH( - root elements. For more infor)HY(ma)HY(tion)YH( on element types refer to - )R14 2 A(Section - 2.9, "Mapping for Global Elements")EA( in the C++/Tree Mapping User - Manual.)EP( - - - )0 P(In this section we will discuss the most commonly used versions of - the parsing func)HY(tions)YH(. For a compre)HY(hen)HY(sive)YH( descrip)HY(tion)YH( of parsing - refer to )R15 2 A(Chapter - 3, "Parsing")EA( in the C++/Tree Mapping User Manual. For the )SM(people)ES( - global element from our person record vocab)HY(u)HY(lary)YH(, we will concen)HY(trate)YH( - on the follow)HY(ing)YH( three parsing func)HY(tions)YH(:)EP( - - ) 15 71 PR(std::[auto|unique]_ptr<people_t> -people \201const std::string& uri, - xml_schema::flags f = 0, - const xml_schema::properties& p = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<people_t> -people \201std::istream& is, - xml_schema::flags f = 0, - const xml_schema::properties& p = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<people_t> -people \201std::istream& is, - const std::string& resource_id, - xml_schema::flags f = 0, - const xml_schema::properties& p = ::xml_schema::properties \201\202\202;)RP( - - )0 P(The first func)HY(tion)YH( parses a local file or a URI. We have already - used this parsing func)HY(tion)YH( in the previ)HY(ous)YH( chap)HY(ters)YH(. The second - and third func)HY(tions)YH( read XML from a stan)HY(dard)YH( input stream. The - last func)HY(tion)YH( also requires a resource id. This id is used to - iden)HY(tify)YH( the XML docu)HY(ment)YH( being parser in diag)HY(nos)HY(tics)YH( messages - as well as to resolve rela)HY(tive)YH( paths to other docu)HY(ments)YH( \201for example, - schemas\202 that might be refer)HY(enced)YH( from the XML docu)HY(ment)YH(.)EP( - - )0 P(The last two argu)HY(ments)YH( to all three parsing func)HY(tions)YH( are parsing - flags and prop)HY(er)HY(ties)YH(. The flags argu)HY(ment)YH( provides a number of ways - to fine-tune the parsing process. The prop)HY(er)HY(ties)YH( argu)HY(ment)YH( allows - to pass addi)HY(tional)YH( infor)HY(ma)HY(tion)YH( to the parsing func)HY(tions)YH(. We will - use these two argu)HY(ments)YH( in )0 31 1 A(Section 5.1, "XML Schema - Vali)HY(da)HY(tion)YH( and Search)HY(ing)YH(")31 0 TN TL()Ec /AF f D( below. All three func)HY(tions)YH( return - the object model as either )SM(std::auto_ptr)ES( \201C++98\202 or - )SM(std::unique_ptr)ES( \201C++11\202, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( - selected \201)SM(--std)ES( XSD compiler option\202. The follow)HY(ing)YH( - example shows how we can use the above parsing func)HY(tions)YH(:)EP( - - ) 17 65 PR(using std::auto_ptr; - -// Parse a local file or URI. -// -auto_ptr<people_t> p1 \201people \201"people.xml"\202\202; -auto_ptr<people_t> p2 \201people \201"http://example.com/people.xml"\202\202; - -// Parse a local file via ifstream. -// -std::ifstream ifs \201"people.xml"\202; -auto_ptr<people_t> p3 \201people \201ifs, "people.xml"\202\202; - -// Parse an XML string. -// -std::string str \201"..."\202; // XML in a string. -std::istringstream iss \201str\202; -auto_ptr<people_t> p4 \201people \201iss\202\202;)RP( - - - )0 2 27 H(5.1)WB 63 Sn()WB 31 Sn( XML Schema Vali)HY(da)HY(tion)YH( and Search)HY(ing)YH()EA()EH( - - )0 P(The C++/Tree mapping relies on the under)HY(ly)HY(ing)YH( Xerces-C++ XML - parser for full XML docu)HY(ment)YH( vali)HY(da)HY(tion)YH(. The XML Schema - vali)HY(da)HY(tion)YH( is enabled by default and can be disabled by - passing the )SM(xml_schema::flags::dont_vali)HY(date)YH()ES( - flag to the parsing func)HY(tions)YH(, for example:)EP( - - ) 2 59 PR(auto_ptr<people_t> p \201 - people \201"people.xml", xml_schema::flags::dont_validate\202\202;)RP( - - )0 P(Even when XML Schema vali)HY(da)HY(tion)YH( is disabled, the gener)HY(ated)YH( - code still performs a number of checks to prevent - construc)HY(tion)YH( of an incon)HY(sis)HY(tent)YH( object model \201for example, an - object model with missing required attributes or elements\202.)EP( - - )0 P(When XML Schema vali)HY(da)HY(tion)YH( is enabled, the XML parser needs - to locate a schema to vali)HY(date)YH( against. There are several - methods to provide the schema loca)HY(tion)YH( infor)HY(ma)HY(tion)YH( to the - parser. The easiest and most commonly used method is to - specify schema loca)HY(tions)YH( in the XML docu)HY(ment)YH( itself - with the )SM(schemaLo)HY(ca)HY(tion)YH()ES( or - )SM(noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( attributes, for example:)EP( - - ) 4 74 PR(<?xml version="1.0" ?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd" - xsi:schemaLocation="http://www.w3.org/XML/1998/namespace xml.xsd">)RP( - - )0 P(As you might have noticed, we used this method in all the sample XML - docu)HY(ments)YH( presented in this guide up until now. Note that the - schema loca)HY(tions)YH( spec)HY(i)HY(fied)YH( with these two attributes are rela)HY(tive)YH( - to the docu)HY(ment)YH('s path unless they are abso)HY(lute)YH( URIs \201that is - start with )SM(http://)ES(, )SM(file://)ES(, etc.\202. - In partic)HY(u)HY(lar)YH(, if you specify just file names as your schema - loca)HY(tions)YH(, as we did above, then the schemas should reside in - the same direc)HY(tory)YH( as the XML docu)HY(ment)YH( itself.)EP( - - )0 P(Another method of provid)HY(ing)YH( the schema loca)HY(tion)YH( infor)HY(ma)HY(tion)YH( - is via the )SM(xml_schema::prop)HY(er)HY(ties)YH()ES( argu)HY(ment)YH(, as - shown in the follow)HY(ing)YH( example:)EP( - - ) 5 74 PR(xml_schema::properties props; -props.no_namespace_schema_location \201"people.xsd"\202; -props.schema_location \201"http://www.w3.org/XML/1998/namespace", "xml.xsd"\202; - -auto_ptr<people_t> p \201people \201"people.xml", 0, props\202\202;)RP( - - )0 P(The schema loca)HY(tions)YH( provided with this method over)HY(rides)YH( - those spec)HY(i)HY(fied)YH( in the XML docu)HY(ment)YH(. As with the previ)HY(ous)YH( - method, the schema loca)HY(tions)YH( spec)HY(i)HY(fied)YH( this way are - rela)HY(tive)YH( to the docu)HY(ment)YH('s path unless they are abso)HY(lute)YH( URIs. - In partic)HY(u)HY(lar)YH(, if you want to use local schemas that are - not related to the docu)HY(ment)YH( being parsed, then you will - need to use the )SM(file://)ES( URI. The follow)HY(ing)YH( - example shows how to use schemas that reside in the current - working direc)HY(tory)YH(:)EP( - - ) 19 55 PR(#include <unistd.h> // getcwd -#include <limits.h> // PATH_MAX - -char cwd[PATH_MAX]; -if \201getcwd \201cwd, PATH_MAX\202 == 0\202 -{ - // Buffer too small? -} - -xml_schema::properties props; - -props.no_namespace_schema_location \201 - "file:///" + std::string \201cwd\202 + "/people.xsd"\202; - -props.schema_location \201 - "http://www.w3.org/XML/1998/namespace", - "file:///" + std::string \201cwd\202 + "/xml.xsd"\202; - -auto_ptr<people_t> p \201people \201"people.xml", 0, props\202\202;)RP( - - )0 P(A third method is the most useful if you are plan)HY(ning)YH( to parse - several XML docu)HY(ments)YH( of the same vocab)HY(u)HY(lary)YH(. In that case - it may be bene)HY(fi)HY(cial)YH( to pre-parse and cache the schemas in - the XML parser which can then be used to parse all docu)HY(ments)YH( - without re-parsing the schemas. For more infor)HY(ma)HY(tion)YH( on - this method refer to the )SM(caching)ES( example in the - )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( of the XSD - distri)HY(bu)HY(tion)YH(. It is also possi)HY(ble)YH( to convert the schemas into - a pre-compiled binary repre)HY(sen)HY(ta)HY(tion)YH( and embed this repre)HY(sen)HY(ta)HY(tion)YH( - directly into the appli)HY(ca)HY(tion)YH( executable. With this approach your - appli)HY(ca)HY(tion)YH( can perform XML Schema vali)HY(da)HY(tion)YH( without depend)HY(ing)YH( on - any exter)HY(nal)YH( schema files. For more infor)HY(ma)HY(tion)YH( on how to achieve - this refer to the )SM(embed)HY(ded)YH()ES( example in the - )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( of the XSD distri)HY(bu)HY(tion)YH(.)EP( - - )0 P(When the XML parser cannot locate a schema for the - XML docu)HY(ment)YH(, the vali)HY(da)HY(tion)YH( fails and XML docu)HY(ment)YH( - elements and attributes for which schema defi)HY(ni)HY(tions)YH( could - not be located are reported in the diag)HY(nos)HY(tics)YH(. For - example, if we remove the )SM(noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( - attribute in )SM(people.xml)ES( from the previ)HY(ous)YH( chapter, - then we will get the follow)HY(ing)YH( diag)HY(nos)HY(tics)YH( if we try to parse - this file with vali)HY(da)HY(tion)YH( enabled:)EP( - - ) 8 74 PR(people.xml:2:63 error: no declaration found for element 'people' -people.xml:4:18 error: no declaration found for element 'person' -people.xml:4:18 error: attribute 'id' is not declared for element 'person' -people.xml:5:17 error: no declaration found for element 'first-name' -people.xml:6:18 error: no declaration found for element 'middle-name' -people.xml:7:16 error: no declaration found for element 'last-name' -people.xml:8:13 error: no declaration found for element 'gender' -people.xml:9:10 error: no declaration found for element 'age')RP( - - )0 2 28 H(5.2)WB 64 Sn()WB 32 Sn( Error Handling)EA()EH( - - )0 P(The parsing func)HY(tions)YH( offer a number of ways to handle error condi)HY(tions)YH( - with the C++ excep)HY(tions)YH( being the most commonly used mech)HY(a)HY(nism)YH(. All - C++/Tree excep)HY(tions)YH( derive from common base )SM(xml_schema::excep)HY(tion)YH()ES( - which in turn derives from )SM(std::excep)HY(tion)YH()ES(. The easiest - way to uniformly handle all possi)HY(ble)YH( C++/Tree excep)HY(tions)YH( and print - detailed infor)HY(ma)HY(tion)YH( about the error is to catch and print - )SM(xml_schema::excep)HY(tion)YH()ES(, as shown in the follow)HY(ing)YH( - example:)EP( - - ) 8 47 PR(try -{ - auto_ptr<people_t> p \201people \201"people.xml"\202\202; -} -catch \201const xml_schema::exception& e\202 -{ - cerr << e << endl; -})RP( - - )0 P(Each indi)HY(vid)HY(ual)YH( C++/Tree excep)HY(tion)YH( also allows you to obtain - error details program)HY(mat)HY(i)HY(cally)YH(. For example, the - )SM(xml_schema::parsing)ES( excep)HY(tion)YH( is thrown when - the XML parsing and vali)HY(da)HY(tion)YH( in the under)HY(ly)HY(ing)YH( XML parser - fails. It encap)HY(su)HY(lates)YH( various diag)HY(nos)HY(tics)YH( infor)HY(ma)HY(tion)YH( - such as the file name, line and column numbers, as well as the - error or warning message for each entry. For more infor)HY(ma)HY(tion)YH( - about this and other excep)HY(tions)YH( that can be thrown during - parsing, refer to - )R16 2 A(Section - 3.3, "Error Handling")EA( in the C++/Tree Mapping - User Manual.)EP( - - )0 P(Note that if you are parsing )SM(std::istream)ES( on which - excep)HY(tions)YH( are not enabled, then you will need to check the - stream state after the call to the parsing func)HY(tion)YH( in order - to detect any possi)HY(ble)YH( stream fail)HY(ures)YH(, for example:)EP( - - ) 15 50 PR(std::ifstream ifs \201"people.xml"\202; - -if \201ifs.fail \201\202\202 -{ - cerr << "people.xml: unable to open" << endl; - return 1; -} - -auto_ptr<people_t> p \201people \201ifs, "people.xml"\202\202; - -if \201ifs.fail \201\202\202 -{ - cerr << "people.xml: read error" << endl; - return 1; -})RP( - - )0 P(The above example can be rewrit)HY(ten)YH( to use excep)HY(tions)YH( as - shown below:)EP( - - ) 13 66 PR(try -{ - std::ifstream ifs; - ifs.exceptions \201std::ifstream::badbit | std::ifstream::failbit\202; - ifs.open \201"people.xml"\202; - - auto_ptr<people_t> p \201people \201ifs, "people.xml"\202\202; -} -catch \201const std::ifstream::failure&\202 -{ - cerr << "people.xml: unable to open or read error" << endl; - return 1; -})RP( - - - - - - )0 1 29 H(6)WB 65 Sn()WB 33 Sn( Seri)HY(al)HY(iza)HY(tion)YH()EA()EH( - - )0 P(We have already seen how to seri)HY(al)HY(ize)YH( an object model back to XML - in this guide before. In this chapter we will discuss the - seri)HY(al)HY(iza)HY(tion)YH( topic in more detail.)EP( - - )0 P(By default, the C++/Tree mapping provides a total of 8 over)HY(loaded)YH( - seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(. They differ in the output methods used to write - XML as well as the error report)HY(ing)YH( mech)HY(a)HY(nisms)YH(. It is also possi)HY(ble)YH( to - gener)HY(ate)YH( types for root elements instead of parsing and seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH(. This may be useful if your XML vocab)HY(u)HY(lary)YH( has multi)HY(ple)YH( - root elements. For more infor)HY(ma)HY(tion)YH( on element types refer to - )R14 2 A(Section - 2.9, "Mapping for Global Elements")EA( in the C++/Tree Mapping User - Manual.)EP( - - - )0 P(In this section we will discuss the most commonly - used version of seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(. For a compre)HY(hen)HY(sive)YH( descrip)HY(tion)YH( - of seri)HY(al)HY(iza)HY(tion)YH( refer to - )R17 2 A(Chapter - 4, "Seri)HY(al)HY(iza)HY(tion)YH(")EA( in the C++/Tree Mapping User Manual. For the - )SM(people)ES( global element from our person record vocab)HY(u)HY(lary)YH(, - we will concen)HY(trate)YH( on the follow)HY(ing)YH( seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH(:)EP( - - ) 7 50 PR(void -people \201std::ostream& os, - const people_t& x, - const xml_schema::namespace_infomap& map = - xml_schema::namespace_infomap \201\202, - const std::string& encoding = "UTF-8", - xml_schema::flags f = 0\202;)RP( - - )0 P(This func)HY(tion)YH( seri)HY(al)HY(izes)YH( the object model passed as the second - argu)HY(ment)YH( to the stan)HY(dard)YH( output stream passed as the first - argu)HY(ment)YH(. The third argu)HY(ment)YH( is a names)HY(pace)YH( infor)HY(ma)HY(tion)YH( map - which we will discuss in more detail in the next section. - The fourth argu)HY(ment)YH( is a char)HY(ac)HY(ter)YH( encod)HY(ing)YH( that the result)HY(ing)YH( - XML docu)HY(ment)YH( should be in. Possi)HY(ble)YH( valid values for this - argu)HY(ment)YH( are "US-ASCII", "ISO8859-1", "UTF-8", "UTF-16BE", - "UTF-16LE", "UCS-4BE", and "UCS-4LE". Finally, the flags - argu)HY(ment)YH( allows fine-tuning of the seri)HY(al)HY(iza)HY(tion)YH( process. - The follow)HY(ing)YH( example shows how we can use the above seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tion)YH(:)EP( - - ) 19 34 PR(people_t& p = ... - -xml_schema::namespace_infomap map; -map[""].schema = "people.xsd"; - -// Serialize to stdout. -// -people \201std::cout, p, map\202; - -// Serialize to a file. -// -std::ofstream ofs \201"people.xml"\202; -people \201ofs, p, map\202; - -// Serialize to a string. -// -std::ostringstream oss; -people \201oss, p, map\202; -std::string xml \201oss.str \201\202\202;)RP( - - - )0 2 30 H(6.1)WB 66 Sn()WB 34 Sn( Names)HY(pace)YH( and Schema Infor)HY(ma)HY(tion)YH()EA()EH( - - )0 P(While XML seri)HY(al)HY(iza)HY(tion)YH( can be done just from the object - model alone, it is often desir)HY(able)YH( to assign mean)HY(ing)HY(ful)YH( - prefixes to XML names)HY(paces)YH( used in the vocab)HY(u)HY(lary)YH( as - well as to provide the schema loca)HY(tion)YH( infor)HY(ma)HY(tion)YH(. - This is accom)HY(plished)YH( by passing the names)HY(pace)YH( infor)HY(ma)HY(tion)YH( - map to the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH(. The key in this map is - a names)HY(pace)YH( prefix that should be assigned to an XML names)HY(pace)YH( - spec)HY(i)HY(fied)YH( in the )SM(name)ES( vari)HY(able)YH( of the - map value. You can also assign an optional schema loca)HY(tion)YH( for - this names)HY(pace)YH( in the )SM(schema)ES( vari)HY(able)YH(. Based - on each key-value entry in this map, the seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tion)YH( adds two attributes to the result)HY(ing)YH( XML docu)HY(ment)YH(: - the names)HY(pace)YH(-prefix mapping attribute and schema loca)HY(tion)YH( - attribute. The empty prefix indi)HY(cates)YH( that the names)HY(pace)YH( - should be mapped without a prefix. For example, the follow)HY(ing)YH( - map:)EP( - - ) 7 55 PR(xml_schema::namespace_infomap map; - -map[""].name = "http://www.example.com/example"; -map[""].schema = "example.xsd"; - -map["x"].name = "http://www.w3.org/XML/1998/namespace"; -map["x"].schema = "xml.xsd";)RP( - - )0 P(Results in the follow)HY(ing)YH( XML docu)HY(ment)YH(:)EP( - - ) 7 68 PR(<?xml version="1.0" ?> -<example - xmlns="http://www.example.com/example" - xmlns:x="http://www.w3.org/XML/1998/namespace" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.example.com/example example.xsd - http://www.w3.org/XML/1998/namespace xml.xsd">)RP( - - )0 P(The empty names)HY(pace)YH( indi)HY(cates)YH( that the vocab)HY(u)HY(lary)YH( has no target - names)HY(pace)YH(. For example, the follow)HY(ing)YH( map results in only the - )SM(noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( attribute being added:)EP( - - ) 4 34 PR(xml_schema::namespace_infomap map; - -map[""].name = ""; -map[""].schema = "example.xsd";)RP( - - )0 2 31 H(6.2)WB 67 Sn()WB 35 Sn( Error Handling)EA()EH( - - )0 P(Similar to the parsing func)HY(tions)YH(, the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( offer a - number of ways to handle error condi)HY(tions)YH( with the C++ excep)HY(tions)YH( being - the most commonly used mech)HY(a)HY(nisms)YH(. As with parsing, the easiest way to - uniformly handle all possi)HY(ble)YH( seri)HY(al)HY(iza)HY(tion)YH( excep)HY(tions)YH( and print - detailed infor)HY(ma)HY(tion)YH( about the error is to catch and print - )SM(xml_schema::excep)HY(tion)YH()ES(:)EP( - - ) 13 38 PR(try -{ - people_t& p = ... - - xml_schema::namespace_infomap map; - map[""].schema = "people.xsd"; - - people \201std::cout, p, map\202\202; -} -catch \201const xml_schema::exception& e\202 -{ - cerr << e << endl; -})RP( - - )0 P(The most commonly encoun)HY(tered)YH( seri)HY(al)HY(iza)HY(tion)YH( excep)HY(tion)YH( is - )SM(xml_schema::seri)HY(al)HY(iza)HY(tion)YH()ES(. It is thrown - when the XML seri)HY(al)HY(iza)HY(tion)YH( in the under)HY(ly)HY(ing)YH( XML writer - fails. It encap)HY(su)HY(lates)YH( various diag)HY(nos)HY(tics)YH( infor)HY(ma)HY(tion)YH( - such as the file name, line and column numbers, as well as the - error or warning message for each entry. For more infor)HY(ma)HY(tion)YH( - about this and other excep)HY(tions)YH( that can be thrown during - seri)HY(al)HY(iza)HY(tion)YH(, refer to - )R18 2 A(Section - 4.4, "Error Handling")EA( in the C++/Tree Mapping - User Manual.)EP( - - )0 P(Note that if you are seri)HY(al)HY(iz)HY(ing)YH( to )SM(std::ostream)ES( on - which excep)HY(tions)YH( are not enabled, then you will need to check the - stream state after the call to the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH( in order - to detect any possi)HY(ble)YH( stream fail)HY(ures)YH(, for example:)EP( - - ) 15 47 PR(std::ofstream ofs \201"people.xml"\202; - -if \201ofs.fail \201\202\202 -{ - cerr << "people.xml: unable to open" << endl; - return 1; -} - -people \201ofs, p, map\202\202; - -if \201ofs.fail \201\202\202 -{ - cerr << "people.xml: write error" << endl; - return 1; -})RP( - - )0 P(The above example can be rewrit)HY(ten)YH( to use excep)HY(tions)YH( as - shown below:)EP( - - ) 13 66 PR(try -{ - std::ofstream ofs; - ofs.exceptions \201std::ofstream::badbit | std::ofstream::failbit\202; - ofs.open \201"people.xml"\202; - - people \201ofs, p, map\202\202; -} -catch \201const std::ofstream::failure&\202 -{ - cerr << "people.xml: unable to open or write error" << endl; - return 1; -})RP( - - )BR( -)BR( - -)WB NL -/TE t D NP /OU t D TU PM 1 eq and{/Pn () D showpage}if end restore diff --git a/xsd/doc/cxx/tree/guide/guide.html2ps b/xsd/doc/cxx/tree/guide/guide.html2ps deleted file mode 100644 index fbdaaf5..0000000 --- a/xsd/doc/cxx/tree/guide/guide.html2ps +++ /dev/null @@ -1,65 +0,0 @@ -@html2ps { - option { - toc: hb; - colour: 1; - hyphenate: 1; - titlepage: 1; - } - - datefmt: "%B %Y"; - - titlepage { - content: " -<div align=center> - <h1><big>C++/Tree Mapping</big></h1> - <h1><big>Getting Started Guide</big></h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> -</div> - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href='http://www.codesynthesis.com/licenses/fdl-1.2.txt'>GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/index.xhtml'>XHTML</a>, - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-parser-guide.pdf'>PDF</a>, and - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-parser-guide.ps'>PostScript</a>.</p>"; - } - - toc { - indent: 2em; - } - - header { - odd-right: $H; - even-left: $H; - } - - footer { - odd-left: $D; - odd-center: $T; - odd-right: $N; - - even-left: $N; - even-center: $T; - even-right: $D; - } -} - -body { - font-size: 12pt; - text-align: justify; -} - -pre { - font-size: 10pt; -} diff --git a/xsd/doc/cxx/tree/guide/index.xhtml b/xsd/doc/cxx/tree/guide/index.xhtml deleted file mode 100644 index 49ad3a6..0000000 --- a/xsd/doc/cxx/tree/guide/index.xhtml +++ /dev/null @@ -1,2732 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - <title>C++/Tree Mapping Getting Started Guide</title> - - <meta name="copyright" content="© 2005-2014 Code Synthesis Tools CC"/> - <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,parsing,serialization,validation"/> - <meta name="description" content="C++/Tree Mapping Getting Started Guide"/> - - <link rel="stylesheet" type="text/css" href="../../../default.css" /> - -<style type="text/css"> - pre { - padding : 0 0 0 0em; - margin : 0em 0em 0em 0; - - font-size : 102% - } - - body { - min-width: 48em; - } - - h1 { - font-weight: bold; - font-size: 200%; - line-height: 1.2em; - } - - h2 { - font-weight : bold; - font-size : 150%; - - padding-top : 0.8em; - } - - h3 { - font-size : 140%; - padding-top : 0.8em; - } - - /* Adjust indentation for three levels. */ - #container { - max-width: 48em; - } - - #content { - padding: 0 0.1em 0 4em; - /*background-color: red;*/ - } - - #content h1 { - margin-left: -2.06em; - } - - #content h2 { - margin-left: -1.33em; - } - - /* Title page */ - - #titlepage { - padding: 2em 0 1em 0; - border-bottom: 1px solid black; - } - - #titlepage .title { - font-weight: bold; - font-size: 200%; - text-align: center; - } - - #titlepage #first-title { - padding: 1em 0 0.4em 0; - } - - #titlepage #second-title { - padding: 0.4em 0 2em 0; - } - - /* Lists */ - ul.list li { - padding-top : 0.3em; - padding-bottom : 0.3em; - } - - div.img { - text-align: center; - padding: 2em 0 2em 0; - } - - /* */ - dl dt { - padding : 0.8em 0 0 0; - } - - /* Built-in table */ - #builtin { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; - } - - #builtin th, #builtin td { - border: 1px solid; - padding : 0.9em 0.9em 0.7em 0.9em; - } - - #builtin th { - background : #cde8f6; - } - - #builtin td { - text-align: left; - } - - /* TOC */ - table.toc { - border-style : none; - border-collapse : separate; - border-spacing : 0; - - margin : 0.2em 0 0.2em 0; - padding : 0 0 0 0; - } - - table.toc tr { - padding : 0 0 0 0; - margin : 0 0 0 0; - } - - table.toc * td, table.toc * th { - border-style : none; - margin : 0 0 0 0; - vertical-align : top; - } - - table.toc * th { - font-weight : normal; - padding : 0em 0.1em 0em 0; - text-align : left; - white-space : nowrap; - } - - table.toc * table.toc th { - padding-left : 1em; - } - - table.toc * td { - padding : 0em 0 0em 0.7em; - text-align : left; - } -</style> - - -</head> - -<body> -<div id="container"> - <div id="content"> - - <div class="noprint"> - - <div id="titlepage"> - <div class="title" id="first-title">C++/Tree Mapping</div> - <div class="title" id="second-title">Getting Started Guide</div> - - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href="http://www.codesynthesis.com/licenses/fdl-1.2.txt">GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/index.xhtml">XHTML</a>, - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-tree-guide.pdf">PDF</a>, and - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/cxx-tree-guide.ps">PostScript</a>.</p> - - </div> - - <h1>Table of Contents</h1> - - <table class="toc"> - <tr> - <th></th><td><a href="#0">Preface</a> - <table class="toc"> - <tr><th></th><td><a href="#0.1">About This Document</a></td></tr> - <tr><th></th><td><a href="#0.2">More Information</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>1</th><td><a href="#1">Introduction</a> - <table class="toc"> - <tr><th>1.1</th><td><a href="#1.1">Mapping Overview</a></td></tr> - <tr><th>1.2</th><td><a href="#1.2">Benefits</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>2</th><td><a href="#2">Hello World Example</a> - <table class="toc"> - <tr><th>2.1</th><td><a href="#2.1">Writing XML Document and Schema</a></td></tr> - <tr><th>2.2</th><td><a href="#2.2">Translating Schema to C++</a></td></tr> - <tr><th>2.3</th><td><a href="#2.3">Implementing Application Logic</a></td></tr> - <tr><th>2.4</th><td><a href="#2.4">Compiling and Running</a></td></tr> - <tr><th>2.5</th><td><a href="#2.5">Adding Serialization</a></td></tr> - <tr><th>2.6</th><td><a href="#2.6">Selecting Naming Convention</a></td></tr> - <tr><th>2.7</th><td><a href="#2.7">Generating Documentation</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>3</th><td><a href="#3">Overall Mapping Configuration</a> - <table class="toc"> - <tr><th>3.1</th><td><a href="#3.1">C++ Standard</a></td></tr> - <tr><th>3.2</th><td><a href="#3.2">Character Type and Encoding</a></td></tr> - <tr><th>3.3</th><td><a href="#3.3">Support for Polymorphism </a></td></tr> - <tr><th>3.4</th><td><a href="#3.4">Namespace Mapping</a></td></tr> - <tr><th>3.5</th><td><a href="#3.5">Thread Safety</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>4</th><td><a href="#4">Working with Object Models</a> - <table class="toc"> - <tr><th>4.1</th><td><a href="#4.1">Attribute and Element Cardinalities</a></td></tr> - <tr><th>4.2</th><td><a href="#4.2">Accessing the Object Model</a></td></tr> - <tr><th>4.3</th><td><a href="#4.3">Modifying the Object Model</a></td></tr> - <tr><th>4.4</th><td><a href="#4.4">Creating the Object Model from Scratch</a></td></tr> - <tr><th>4.5</th><td><a href="#4.5">Mapping for the Built-in XML Schema Types</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>5</th><td><a href="#5">Parsing</a> - <table class="toc"> - <tr><th>5.1</th><td><a href="#5.1">XML Schema Validation and Searching</a></td></tr> - <tr><th>5.2</th><td><a href="#5.2">Error Handling</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>6</th><td><a href="#6">Serialization</a> - <table class="toc"> - <tr><th>6.1</th><td><a href="#6.1">Namespace and Schema Information</a></td></tr> - <tr><th>6.2</th><td><a href="#6.2">Error Handling</a></td></tr> - </table> - </td> - </tr> - - </table> - </div> - - <h1><a name="0">Preface</a></h1> - - <h2><a name="0.1">About This Document</a></h2> - - <p>The goal of this document is to provide you with an understanding of - the C++/Tree programming model and allow you to efficiently evaluate - XSD against your project's technical requirements. As such, this - document is intended for C++ developers and software architects - who are looking for an XML processing solution. For a more in-depth - description of the C++/Tree mapping refer to the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/">C++/Tree - Mapping User Manual</a>.</p> - - <p>Prior experience with XML and C++ is required to understand this - document. Basic understanding of XML Schema is advantageous but - not expected or required. - </p> - - - <h2><a name="0.2">More Information</a></h2> - - <p>Beyond this guide, you may also find the following sources of - information useful:</p> - - <ul class="list"> - <li><a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/">C++/Tree - Mapping User Manual</a></li> - - <li><a href="http://wiki.codesynthesis.com/Tree/Customization_guide">C++/Tree - Mapping Customization Guide</a></li> - - <li><a href="http://wiki.codesynthesis.com/Tree/FAQ">C++/Tree - Mapping Frequently Asked Questions (FAQ)</a></li> - - <li><a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a></li> - - <li>The <code>examples/cxx/tree/</code> directory in the XSD - distribution contains a collection of examples and a README - file with an overview of each example.</li> - - <li>The <code>README</code> file in the XSD distribution explains - how to compile the examples on various platforms.</li> - - <li>The <a href="http://www.codesynthesis.com/mailman/listinfo/xsd-users">xsd-users</a> - mailing list is the place to ask technical questions about XSD and the C++/Parser mapping. - Furthermore, the <a href="http://www.codesynthesis.com/pipermail/xsd-users/">archives</a> - may already have answers to some of your questions.</li> - </ul> - - <!-- Introduction --> - - <h1><a name="1">1 Introduction</a></h1> - - <p>Welcome to CodeSynthesis XSD and the C++/Tree mapping. XSD is a - cross-platform W3C XML Schema to C++ data binding compiler. C++/Tree - is a W3C XML Schema to C++ mapping that represents the data stored - in XML as a statically-typed, vocabulary-specific object model. - </p> - - <h2><a name="1.1">1.1 Mapping Overview</a></h2> - - <p>Based on a formal description of an XML vocabulary (schema), the - C++/Tree mapping produces a tree-like data structure suitable for - in-memory processing. The core of the mapping consists of C++ - classes that constitute the object model and are derived from - types defined in XML Schema as well as XML parsing and - serialization code.</p> - - <p>Besides the core features, C++/Tree provide a number of additional - mapping elements that can be useful in some applications. These - include serialization and extraction to/from formats others than - XML, such as unstructured text (useful for debugging) and binary - representations such as XDR and CDR for high-speed data processing - as well as automatic documentation generation. The C++/Tree mapping - also provides a wide range of mechanisms for controlling and - customizing the generated code.</p> - - <p>A typical application that uses C++/Tree for XML processing usually - performs the following three steps: it first reads (parses) an XML - document to an in-memory object model, it then performs some useful - computations on that object model which may involve modification - of the model, and finally it may write (serialize) the modified - object model back to XML.</p> - - <p>The next chapter presents a simple application that performs these - three steps. The following chapters show how to use the C++/Tree - mapping in more detail.</p> - - <h2><a name="1.2">1.2 Benefits</a></h2> - - <p>Traditional XML access APIs such as Document Object Model (DOM) - or Simple API for XML (SAX) have a number of drawbacks that - make them less suitable for creating robust and maintainable - XML processing applications. These drawbacks include: - </p> - - <ul class="list"> - <li>Generic representation of XML in terms of elements, attributes, - and text forces an application developer to write a substantial - amount of bridging code that identifies and transforms pieces - of information encoded in XML to a representation more suitable - for consumption by the application logic.</li> - - <li>String-based flow control defers error detection to runtime. - It also reduces code readability and maintainability.</li> - - <li>Lack of type safety because the data is represented as text.</li> - - <li>Resulting applications are hard to debug, change, and - maintain.</li> - </ul> - - <p>In contrast, statically-typed, vocabulary-specific object model - produced by the C++/Tree mapping allows you to operate in your - domain terms instead of the generic elements, attributes, and - text. Static typing helps catch errors at compile-time rather - than at run-time. Automatic code generation frees you for more - interesting tasks (such as doing something useful with the - information stored in the XML documents) and minimizes the - effort needed to adapt your applications to changes in the - document structure. To summarize, the C++/Tree object model has - the following key advantages over generic XML access APIs:</p> - - <ul class="list"> - <li><b>Ease of use.</b> The generated code hides all the complexity - associated with parsing and serializing XML. This includes navigating - the structure and converting between the text representation and - data types suitable for manipulation by the application - logic.</li> - - <li><b>Natural representation.</b> The object representation allows - you to access the XML data using your domain vocabulary instead - of generic elements, attributes, and text.</li> - - <li><b>Concise code.</b> With the object representation the - application implementation is simpler and thus easier - to read and understand.</li> - - <li><b>Safety.</b> The generated object model is statically - typed and uses functions instead of strings to access the - information. This helps catch programming errors at compile-time - rather than at runtime.</li> - - <li><b>Maintainability.</b> Automatic code generation minimizes the - effort needed to adapt the application to changes in the - document structure. With static typing, the C++ compiler - can pin-point the places in the client code that need to be - changed.</li> - - <li><b>Compatibility.</b> Sequences of elements are represented in - the object model as containers conforming to the standard C++ - sequence requirements. This makes it possible to use standard - C++ algorithms on the object representation and frees you from - learning yet another container interface, as is the case with - DOM.</li> - - <li><b>Efficiency.</b> If the application makes repetitive use - of the data extracted from XML, then the C++/Tree object model - is more efficient because the navigation is performed using - function calls rather than string comparisons and the XML - data is extracted only once. Furthermore, the runtime memory - usage is reduced due to more efficient data storage - (for instance, storing numeric data as integers instead of - strings) as well as the static knowledge of cardinality - constraints.</li> - </ul> - - - <!-- Hello World Parser --> - - - <h1><a name="2">2 Hello World Example</a></h1> - - <p>In this chapter we will examine how to parse, access, modify, and - serialize a very simple XML document using the XSD-generated - C++/Tree object model. The code presented in this chapter is - based on the <code>hello</code> example which can be found in - the <code>examples/cxx/tree/</code> directory of the XSD - distribution.</p> - - <h2><a name="2.1">2.1 Writing XML Document and Schema</a></h2> - - <p>First, we need to get an idea about the structure - of the XML documents we are going to process. Our - <code>hello.xml</code>, for example, could look like this:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<hello> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello> - </pre> - - <p>Then we can write a description of the above XML in the - XML Schema language and save it into <code>hello.xsd</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello_t"> - <xs:sequence> - <xs:element name="greeting" type="xs:string"/> - <xs:element name="name" type="xs:string" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="hello" type="hello_t"/> - -</xs:schema> - </pre> - - <p>Even if you are not familiar with XML Schema, it - should be easy to connect declarations in <code>hello.xsd</code> - to elements in <code>hello.xml</code>. The <code>hello_t</code> type - is defined as a sequence of the nested <code>greeting</code> and - <code>name</code> elements. Note that the term sequence in XML - Schema means that elements should appear in a particular order - as opposed to appearing multiple times. The <code>name</code> - element has its <code>maxOccurs</code> property set to - <code>unbounded</code> which means it can appear multiple times - in an XML document. Finally, the globally-defined <code>hello</code> - element prescribes the root element for our vocabulary. For an - easily-approachable introduction to XML Schema refer to - <a href="http://www.w3.org/TR/xmlschema-0/">XML Schema Part 0: - Primer</a>.</p> - - <p>The above schema is a specification of our XML vocabulary; it tells - everybody what valid documents of our XML-based language should look - like. We can also update our <code>hello.xml</code> to include the - information about the schema so that XML parsers can validate - our document:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello> - </pre> - - - <p>The next step is to compile the schema to generate the object - model and parsing functions.</p> - - <h2><a name="2.2">2.2 Translating Schema to C++</a></h2> - - <p>Now we are ready to translate our <code>hello.xsd</code> to C++. - To do this we invoke the XSD compiler from a terminal (UNIX) or - a command prompt (Windows): - </p> - - <pre class="terminal"> -$ xsd cxx-tree hello.xsd - </pre> - - <p>The XSD compiler produces two C++ files: <code>hello.hxx</code> and - <code>hello.cxx</code>. The following code fragment is taken from - <code>hello.hxx</code>; it should give you an idea about what gets - generated: - </p> - - <pre class="c++"> -class hello_t -{ -public: - // greeting - // - typedef xml_schema::string greeting_type; - - const greeting_type& - greeting () const; - - greeting_type& - greeting (); - - void - greeting (const greeting_type& x); - - // name - // - typedef xml_schema::string name_type; - typedef xsd::sequence<name_type> name_sequence; - typedef name_sequence::iterator name_iterator; - typedef name_sequence::const_iterator name_const_iterator; - - const name_sequence& - name () const; - - name_sequence& - name (); - - void - name (const name_sequence& s); - - // Constructor. - // - hello_t (const greeting_type&); - - ... - -}; - -std::auto_ptr<hello_t> -hello (const std::string& uri); - -std::auto_ptr<hello_t> -hello (std::istream&); - </pre> - - <p>The <code>hello_t</code> C++ class corresponds to the - <code>hello_t</code> XML Schema type. For each element - in this type a set of C++ type definitions as well as - accessor and modifier functions are generated inside the - <code>hello_t</code> class. Note that the type definitions - and member functions for the <code>greeting</code> and - <code>name</code> elements are different because of the - cardinality differences between these two elements - (<code>greeting</code> is a required single element and - <code>name</code> is a sequence of elements).</p> - - <p>The <code>xml_schema::string</code> type used in the type - definitions is a C++ class provided by the XSD runtime - that corresponds to built-in XML Schema type - <code>string</code>. The <code>xml_schema::string</code> - is based on <code>std::string</code> and can be used as - such. Similarly, the <code>sequence</code> class template - that is used in the <code>name_sequence</code> type - definition is based on and has the same interface as - <code>std::vector</code>. The mapping between the built-in - XML Schema types and C++ types is described in more detail in - <a href="#4.5">Section 4.5, "Mapping for the Built-in XML Schema - Types"</a>. The <code>hello_t</code> class also includes a - constructor with an initializer for the required - <code>greeting</code> element as its argument.</p> - - <p>The <code>hello</code> overloaded global functions correspond - to the <code>hello</code> global element in XML Schema. A - global element in XML Schema is a valid document root. - By default XSD generated a set of parsing functions for each - global element defined in XML Schema (this can be overridden - with the <code>--root-element-*</code> options). Parsing - functions return a dynamically allocated object model as an - automatic pointer. The actual pointer used depends on the - C++ standard selected. For C++98 it is <code>std::auto_ptr</code> - as shown above. For C++11 it is <code>std::unique_ptr</code>. - For example, if we modify our XSD compiler invocation to - select C++11:</p> - - <pre class="terminal"> -$ xsd cxx-tree --std c++11 hello.xsd - </pre> - - <p>Then the parsing function signatures will become:</p> - - <pre class="c++"> -std::unique_ptr<hello_t> -hello (const std::string& uri); - -std::unique_ptr<hello_t> -hello (std::istream&); - </pre> - - <p>For more information on parsing functions see <a href="#5">Chapter 5, - "Parsing"</a>.</p> - - <h2><a name="2.3">2.3 Implementing Application Logic</a></h2> - - <p>At this point we have all the parts we need to do something useful - with the information stored in our XML document: - </p> - - <pre class="c++"> -#include <iostream> -#include "hello.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr<hello_t> h (hello (argv[1])); - - for (hello_t::name_const_iterator i (h->name ().begin ()); - i != h->name ().end (); - ++i) - { - cerr << h->greeting () << ", " << *i << "!" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} - </pre> - - <p>The first part of our application calls one of the parsing - functions to parser an XML file specified in the command line. - We then use the returned object model to iterate over names - and print a greeting line for each of them. Finally, we - catch and print the <code>xml_schema::exception</code> - exception in case something goes wrong. This exception - is the root of the exception hierarchy used by the - XSD-generated code. - </p> - - - <h2><a name="2.4">2.4 Compiling and Running</a></h2> - - <p>After saving our application from the previous section in - <code>driver.cxx</code>, we are ready to compile our first - program and run it on the test XML document. On a UNIX - system this can be done with the following commands: - </p> - - <pre class="terminal"> -$ c++ -I.../libxsd -c driver.cxx hello.cxx -$ c++ -o driver driver.o hello.o -lxerces-c -$ ./driver hello.xml -Hello, sun! -Hello, moon! -Hello, world! - </pre> - - <p>Here <code>.../libxsd</code> represents the path to the - <code>libxsd</code> directory in the XSD distribution. - Note also that we are required to link our application - with the Xerces-C++ library because the generated code - uses it as the underlying XML parser.</p> - - <h2><a name="2.5">2.5 Adding Serialization</a></h2> - - <p>While parsing and accessing the XML data may be everything - you need, there are applications that require creating new - or modifying existing XML documents. By default XSD does - not produce serialization code. We will need to request - it with the <code>--generate-serialization</code> options:</p> - - <pre class="terminal"> -$ xsd cxx-tree --generate-serialization hello.xsd - </pre> - - <p>If we now examine the generated <code>hello.hxx</code> file, - we will find a set of overloaded serialization functions, - including the following version:</p> - - <pre class="c++"> -void -hello (std::ostream&, - const hello_t&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap ()); - - </pre> - - <p>Just like with parsing functions, XSD generates serialization - functions for each global element unless instructed otherwise - with one of the <code>--root-element-*</code> options. For more - information on serialization functions see <a href="#6">Chapter 6, - "Serialization"</a>.</p> - - <p>We first examine an application that modifies an existing - object model and serializes it back to XML:</p> - - <pre class="c++"> -#include <iostream> -#include "hello.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - try - { - auto_ptr<hello_t> h (hello (argv[1])); - - // Change the greeting phrase. - // - h->greeting ("Hi"); - - // Add another entry to the name sequence. - // - h->name ().push_back ("mars"); - - // Serialize the modified object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "hello.xsd"; - - hello (cout, *h, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} - </pre> - - <p>First, our application parses an XML document and obtains its - object model as in the previous example. Then it changes the - greeting string and adds another entry to the list of names. - Finally, it serializes the object model back to XML by calling - the serialization function.</p> - - <p>The first argument we pass to the serialization function is - <code>cout</code> which results in the XML being written to - the standard output for us to inspect. We could have also - written the result to a file or memory buffer by creating an - instance of <code>std::ofstream</code> or <code>std::ostringstream</code> - and passing it instead of <code>cout</code>. The second argument is the - object model we want to serialize. The final argument is an optional - namespace information map for our vocabulary. It captures information - such as namespaces, namespace prefixes to which they should be mapped, - and schemas associated with these namespaces. If we don't provide - this argument then generic namespace prefixes (<code>p1</code>, - <code>p2</code>, etc.) will be automatically assigned to XML namespaces - and no schema information will be added to the resulting document - (see <a href="#6">Chapter 6, "Serialization"</a> for details). - In our case, the prefix (map key) and namespace name are empty - because our vocabulary does not use XML namespaces.</p> - - <p>If we now compile and run this application we will see the - output as shown in the following listing:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hi</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - <name>mars</name> - -</hello> - </pre> - - <p>We can also create and serialize an object model from scratch - as shown in the following example:</p> - - <pre class="c++"> -#include <iostream> -#include <fstream> -#include "hello.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - try - { - hello_t h ("Hi"); - - hello_t::name_sequence& ns (h.name ()); - - ns.push_back ("Jane"); - ns.push_back ("John"); - - // Serialize the object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "hello.xsd"; - - std::ofstream ofs (argv[1]); - hello (ofs, h, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} - </pre> - - <p>In this example we used the generated constructor to create - an instance of type <code>hello_t</code>. To reduce typing, - we obtained a reference to the name sequence which we then - used to add a few names. The serialization part is identical - to the previous example except this time we are writing to - a file. If we compile and run this program, it produces the - following XML file:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hi</greeting> - - <name>Jane</name> - <name>John</name> - -</hello> - </pre> - - <h2><a name="2.6">2.6 Selecting Naming Convention</a></h2> - - <p>By default XSD uses the so-called K&R (Kernighan and Ritchie) - identifier naming convention in the generated code. In this - convention both type and function names are in lower case and - words are separated by underscores. If your application code or - schemas use a different notation, you may want to change the - naming convention used in the generated code for consistency. - XSD supports a set of widely-used naming conventions - that you can select with the <code>--type-naming</code> and - <code>--function-naming</code> options. You can also further - refine one of the predefined conventions or create a completely - custom naming scheme by using the <code>--*-regex</code> options.</p> - - <p>As an example, let's assume that our "Hello World" application - uses the so-called upper-camel-case naming convention for types - (that is, each word in a type name is capitalized) and the K&R - convention for function names. Since K&R is the default - convention for both type and function names, we only need to - change the type naming scheme:</p> - - <pre class="terminal"> -$ xsd cxx-tree --type-naming ucc hello.xsd - </pre> - - <p>The <code>ucc</code> argument to the <code>--type-naming</code> - options stands for upper-camel-case. If we now examine the - generated <code>hello.hxx</code>, we will see the following - changes compared to the declarations shown in the previous - sections:</p> - - <pre class="c++"> -class Hello_t -{ -public: - // greeting - // - typedef xml_schema::String GreetingType; - - const GreetingType& - greeting () const; - - GreetingType& - greeting (); - - void - greeting (const GreetingType& x); - - // name - // - typedef xml_schema::String NameType; - typedef xsd::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - - const NameSequence& - name () const; - - NameSequence& - name (); - - void - name (const NameSequence& s); - - // Constructor. - // - Hello_t (const GreetingType&); - - ... - -}; - -std::auto_ptr<Hello_t> -hello (const std::string& uri); - -std::auto_ptr<Hello_t> -hello (std::istream&); - </pre> - - <p>Notice that the type names in the <code>xml_schema</code> namespace, - for example <code>xml_schema::String</code>, now also use the - upper-camel-case naming convention. The only thing that we may - be unhappy about in the above code is the <code>_t</code> - suffix in <code>Hello_t</code>. If we are not in a position - to change the schema, we can <em>touch-up</em> the <code>ucc</code> - convention with a custom translation rule using the - <code>--type-regex</code> option:</p> - - <pre class="terminal"> -$ xsd cxx-tree --type-naming ucc --type-regex '/ (.+)_t/\u$1/' hello.xsd - </pre> - - <p>This results in the following changes to the generated code:</p> - - <pre class="c++"> -class Hello -{ -public: - // greeting - // - typedef xml_schema::String GreetingType; - - const GreetingType& - greeting () const; - - GreetingType& - greeting (); - - void - greeting (const GreetingType& x); - - // name - // - typedef xml_schema::String NameType; - typedef xsd::sequence<NameType> NameSequence; - typedef NameSequence::iterator NameIterator; - typedef NameSequence::const_iterator NameConstIterator; - - const NameSequence& - name () const; - - NameSequence& - name (); - - void - name (const NameSequence& s); - - // Constructor. - // - Hello (const GreetingType&); - - ... - -}; - -std::auto_ptr<Hello> -hello (const std::string& uri); - -std::auto_ptr<Hello> -hello (std::istream&); - </pre> - - <p>For more detailed information on the <code>--type-naming</code>, - <code>--function-naming</code>, <code>--type-regex</code>, and - other <code>--*-regex</code> options refer to the NAMING - CONVENTION section in the <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>.</p> - - <h2><a name="2.7">2.7 Generating Documentation</a></h2> - - <p>While our object model is quite simple, real-world vocabularies - can be quite complex with hundreds of types, elements, and - attributes. For such vocabularies figuring out which types - provide which member functions by studying the generated - source code or schemas can be a daunting task. To provide - application developers with a more accessible way of - understanding the generated object models, the XSD compiler - can be instructed to produce source code with documentation - comments in the Doxygen format. Then the source code can be - processed with the <a href="http://www.doxygen.org">Doxygen</a> - documentation system to extract this information and produce - documentation in various formats. - </p> - - <p>In this section we will see how to generate documentation - for our "Hello World" vocabulary. To showcase the full power - of the XSD documentation facilities, we will first document - our schema. The XSD compiler will then transfer - this information from the schema to the generated code and - then to the object model documentation. Note that the - documentation in the schema is not required for XSD to - generate useful documentation. Below you will find - our <code>hello.xsd</code> with added documentation:</p> - - <pre class="xml"> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="hello_t"> - - <xs:annotation> - <xs:documentation> - The hello_t type consists of a greeting phrase and a - collection of names to which this greeting applies. - </xs:documentation> - </xs:annotation> - - <xs:sequence> - - <xs:element name="greeting" type="xs:string"> - <xs:annotation> - <xs:documentation> - The greeting element contains the greeting phrase - for this hello object. - </xs:documentation> - </xs:annotation> - </xs:element> - - <xs:element name="name" type="xs:string" maxOccurs="unbounded"> - <xs:annotation> - <xs:documentation> - The name elements contains names to be greeted. - </xs:documentation> - </xs:annotation> - </xs:element> - - </xs:sequence> - </xs:complexType> - - <xs:element name="hello" type="hello_t"> - <xs:annotation> - <xs:documentation> - The hello element is a root of the Hello XML vocabulary. - Every conforming document should start with this element. - </xs:documentation> - </xs:annotation> - </xs:element> - -</xs:schema> - </pre> - - <p>The first step in obtaining the documentation is to recompile - our schema with the <code>--generate-doxygen</code> option:</p> - - <pre class="terminal"> -$ xsd cxx-tree --generate-serialization --generate-doxygen hello.xsd - </pre> - - <p>Now the generated <code>hello.hxx</code> file contains comments - in the Doxygen format. The next step is to process this file - with the Doxygen documentation system. If your project does - not use Doxygen then you first need to create a configuration - file for your project:</p> - - <pre class="terminal"> -$ doxygen -g hello.doxygen - </pre> - - <p>You only need to perform this step once. Now we can generate - the documentation by executing the following command in the - directory with the generated source code:</p> - - <pre class="terminal"> -$ doxygen hello.doxygen - </pre> - - <p>While the generated documentation can be useful as is, we can - go one step further and link (using the Doxygen tags mechanism) - the documentation for our object model with the documentation - for the XSD runtime library which defines C++ classes for the - built-in XML Schema types. This way we can seamlessly browse - between documentation for the <code>hello_t</code> class which - is generated by the XSD compiler and the <code>xml_schema::string</code> - class which is defined in the XSD runtime library. The Doxygen - configuration file for the XSD runtime is provided with the XSD - distribution.</p> - - <p>You can view the result of the steps described in this section - on the <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/hello/html/annotated.html">Hello - Example Documentation</a> page.</p> - - <!-- Chapater 3 --> - - - <h1><a name="3">3 Overall Mapping Configuration</a></h1> - - <p>The C++/Tree mapping has a number of configuration parameters that - determine the overall properties and behavior of the generated code. - Configuration parameters are specified with the XSD command line - options. This chapter describes configuration aspects that are most - commonly encountered by application developers. These include: the - C++ standard, the character type that is used by the generated code, - handling of vocabularies that use XML Schema polymorphism, XML Schema - to C++ namespace mapping, and thread safety. For more ways to configure - the generated code refer to the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>. - </p> - - <h2><a name="3.1">3.1 C++ Standard</a></h2> - - <p>The C++/Tree mapping provides support for ISO/IEC C++ 1998/2003 (C++98) - and ISO/IEC C++ 2011 (C++11). To select the C++ standard for the - generated code we use the <code>--std</code> XSD compiler command - line option. While the majority of the examples in this guide use - C++98, support for the new functionality and library components - introduced in C++11 are discussed throughout the document.</p> - - <h2><a name="3.2">3.2 Character Type and Encoding</a></h2> - - <p>The C++/Tree mapping has built-in support for two character types: - <code>char</code> and <code>wchar_t</code>. You can select the - character type with the <code>--char-type</code> command line - option. The default character type is <code>char</code>. The - character type affects all string and string-based types that - are used in the mapping. These include the string-based built-in - XML Schema types, exception types, stream types, etc.</p> - - <p>Another aspect of the mapping that depends on the character type - is character encoding. For the <code>char</code> character type - the default encoding is UTF-8. Other supported encodings are - ISO-8859-1, Xerces-C++ Local Code Page (LPC), as well as - custom encodings. You can select which encoding should be used - in the object model with the <code>--char-encoding</code> command - line option.</p> - - <p>For the <code>wchar_t</code> character type the encoding is - automatically selected between UTF-16 and UTF-32/UCS-4 depending - on the size of the <code>wchar_t</code> type. On some platforms - (for example, Windows with Visual C++ and AIX with IBM XL C++) - <code>wchar_t</code> is 2 bytes long. For these platforms the - encoding is UTF-16. On other platforms <code>wchar_t</code> is 4 bytes - long and UTF-32/UCS-4 is used.</p> - - <p>Note also that the character encoding that is used in the object model - is independent of the encodings used in input and output XML. In fact, - all three (object mode, input XML, and output XML) can have different - encodings.</p> - - <h2><a name="3.3">3.3 Support for Polymorphism</a></h2> - - <p>By default XSD generates non-polymorphic code. If your vocabulary - uses XML Schema polymorphism in the form of <code>xsi:type</code> - and/or substitution groups, then you will need to compile - your schemas with the <code>--generate-polymorphic</code> option - to produce polymorphism-aware code. For more information on - working with polymorphic object models, refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.11">Section 2.11, - "Mapping for <code>xsi:type</code> and Substitution Groups"</a> in - the C++/Tree Mapping User Manual.</p> - - <h2><a name="3.4">3.4 Namespace Mapping</a></h2> - - <p>XSD maps XML namespaces specified in the <code>targetNamespace</code> - attribute in XML Schema to one or more nested C++ namespaces. By - default, a namespace URI is mapped to a sequence of C++ namespace - names by removing the protocol and host parts and splitting the - rest into a sequence of names with <code>'/'</code> as the name - separator.</p> - - <p>The default mapping of namespace URIs to C++ namespaces - can be altered using the <code>--namespace-map</code> and - <code>--namespace-regex</code> compiler options. For example, - to map namespace URI <code>http://www.codesynthesis.com/my</code> to - C++ namespace <code>cs::my</code>, we can use the following option:</p> - - <pre class="terminal"> ---namespace-map http://www.codesynthesis.com/my=cs::my - </pre> - - <p>A vocabulary without a namespace is mapped to the global scope. This - also can be altered with the above options by using an empty name - for the XML namespace:</p> - - <pre class="terminal"> ---namespace-map =cs - </pre> - - <h2><a name="3.5">3.5 Thread Safety</a></h2> - - <p>XSD-generated code is thread-safe in the sense that you can - use different instantiations of the object model in several - threads concurrently. This is possible due to the generated - code not relying on any writable global variables. If you need - to share the same object between several threads then you will - need to provide some form of synchronization. One approach would - be to use the generated code customization mechanisms to embed - synchronization primitives into the generated C++ classes. For more - information on generated code customization refer to the - <a href="http://wiki.codesynthesis.com/Tree/Customization_guide">C++/Tree - Mapping Customization Guide</a>.</p> - - <p>If you also would like to call parsing and/or serialization - functions from several threads potentially concurrently, then - you will need to make sure the Xerces-C++ runtime is initialized - and terminated only once. The easiest way to do this is to - initialize/terminate Xerces-C++ from <code>main()</code> when - there are no threads yet/anymore:</p> - - <pre class="c++"> -#include <xercesc/util/PlatformUtils.hpp> - -int -main () -{ - xercesc::XMLPlatformUtils::Initialize (); - - { - // Start/terminate threads and parse/serialize here. - } - - xercesc::XMLPlatformUtils::Terminate (); -} - </pre> - - <p>Because you initialize the Xerces-C++ runtime yourself you should - also pass the <code>xml_schema::flags::dont_initialize</code> flag - to parsing and serialization functions. See <a href="#5">Chapter 5, - "Parsing"</a> and <a href="#6">Chapter 6, "Serialization"</a> for - more information.</p> - - - <!-- Chapater 4 --> - - - <h1><a name="4">4 Working with Object Models</a></h1> - - <p>As we have seen in the previous chapters, the XSD compiler generates - a C++ class for each type defined in XML Schema. Together these classes - constitute an object model for an XML vocabulary. In this chapter we - will take a closer look at different elements that comprise an - object model class as well as how to create, access, and modify - object models.</p> - - <p>In this and subsequent chapters we will use the following schema - that describes a collection of person records. We save it in - <code>people.xsd</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:simpleType name="gender_t"> - <xs:restriction base="xs:string"> - <xs:enumeration value="male"/> - <xs:enumeration value="female"/> - </xs:restriction> - </xs:simpleType> - - <xs:complexType name="person_t"> - <xs:sequence> - <xs:element name="first-name" type="xs:string"/> - <xs:element name="middle-name" type="xs:string" minOccurs="0"/> - <xs:element name="last-name" type="xs:string"/> - <xs:element name="gender" type="gender_t"/> - <xs:element name="age" type="xs:short"/> - </xs:sequence> - <xs:attribute name="id" type="xs:unsignedInt" use="required"/> - </xs:complexType> - - <xs:complexType name="people_t"> - <xs:sequence> - <xs:element name="person" type="person_t" maxOccurs="unbounded"/> - </xs:sequence> - </xs:complexType> - - <xs:element name="people" type="people_t"/> - -</xs:schema> - </pre> - - <p>A sample XML instance to go along with this schema is saved - in <code>people.xml</code>:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> - -</people> - </pre> - - <p>Compiling <code>people.xsd</code> with the XSD compiler results - in three generated C++ classes: <code>gender_t</code>, - <code>person_t</code>, and <code>people_t</code>. - The <code>gender_t</code> class is modelled after the C++ - <code>enum</code> type. Its definition is presented below:</p> - - <pre class="c++"> -class gender_t: public xml_schema::string -{ -public: - enum value - { - male, - female - }; - - gender_t (value); - gender_t (const xml_schema::string&); - - gender_t& - operator= (value); - - operator value () const; -}; - </pre> - - <p>The following listing shows how we can use this type:</p> - - <pre class="c++"> -gender_t m (gender_t::male); -gender_t f ("female"); - -if (m == "female" || f == gender_t::male) -{ - ... -} - -switch (m) -{ -case gender_t::male: - { - ... - } -case gender_t::female: - { - ... - } -} - </pre> - - <p>The other two classes will be examined in detail in the subsequent - sections.</p> - - <h2><a name="4.1">4.1 Attribute and Element Cardinalities</a></h2> - - <p>As we have seen in the previous chapters, XSD generates a different - set of type definitions and member functions for elements with - different cardinalities. The C++/Tree mapping divides all the possible - element and attribute cardinalities into three cardinality classes: - <em>one</em>, <em>optional</em>, and <em>sequence</em>.</p> - - <p>The <em>one</em> cardinality class covers all elements that should - occur exactly once as well as required attributes. In our - example, the <code>first-name</code>, <code>last-name</code>, - <code>gender</code>, and <code>age</code> elements as well as - the <code>id</code> attribute belong to this cardinality class. - The following code fragment shows type definitions as well as the - accessor and modifier functions that are generated for the - <code>gender</code> element in the <code>person_t</code> class:</p> - - <pre class="c++"> -class person_t -{ - // gender - // - typedef gender_t gender_type; - - const gender_type& - gender () const; - - gender_type& - gender (); - - void - gender (const gender_type&); -}; - </pre> - - <p>The <code>gender_type</code> type is an alias for the element's type. - The first two accessor functions return read-only (constant) and - read-write references to the element's value, respectively. The - modifier function sets the new value for the element.</p> - - <p>The <em>optional</em> cardinality class covers all elements that - can occur zero or one time as well as optional attributes. In our - example, the <code>middle-name</code> element belongs to this - cardinality class. The following code fragment shows the type - definitions as well as the accessor and modifier functions that - are generated for this element in the <code>person_t</code> class:</p> - - <pre class="c++"> -class person_t -{ - // middle-name - // - typedef xml_schema::string middle_name_type; - typedef xsd::optional<middle_name_type> middle_name_optional; - - const middle_name_optional& - middle_name () const; - - middle_name_optional& - middle_name (); - - void - middle_name (const middle_name_type&); - - void - middle_name (const middle_name_optional&); -}; - </pre> - - <p>As with the <code>gender</code> element, <code>middle_name_type</code> - is an alias for the element's type. The <code>middle_name_optional</code> - type is a container for the element's optional value. It can be queried - for the presence of the value using the <code>present()</code> function. - The value itself can be retrieved using the <code>get()</code> - accessor and set using the <code>set()</code> modifier. The container - can be reverted to the value not present state with the call to the - <code>reset()</code> function. The following example shows how we - can use this container:</p> - - <pre class="c++"> -person_t::middle_name_optional n ("John"); - -if (n.present ()) -{ - cout << n.get () << endl; -} - -n.set ("Jane"); -n.reset (); - </pre> - - - <p>Unlike the <em>one</em> cardinality class, the accessor functions - for the <em>optional</em> class return read-only (constant) and - read-write references to the container instead of the element's - value directly. The modifier functions set the new value for the - element.</p> - - <p>Finally, the <em>sequence</em> cardinality class covers all elements - that can occur more than once. In our example, the - <code>person</code> element in the <code>people_t</code> type - belongs to this cardinality class. The following code fragment shows - the type definitions as well as the accessor and modifier functions - that are generated for this element in the <code>people_t</code> - class:</p> - - <pre class="c++"> -class people_t -{ - // person - // - typedef person_t person_type; - typedef xsd::sequence<person_type> person_sequence; - typedef person_sequence::iterator person_iterator; - typedef person_sequence::const_iterator person_const_iterator; - - const person_sequence& - person () const; - - person_sequence& - person (); - - void - person (const person_sequence&); -}; - </pre> - - <p>Identical to the other cardinality classes, <code>person_type</code> - is an alias for the element's type. The <code>person_sequence</code> - type is a sequence container for the element's values. It is based - on and has the same interface as <code>std::vector</code> and - therefore can be used in similar ways. The <code>person_iterator</code> - and <code>person_const_iterator</code> types are read-only - (constant) and read-write iterators for the <code>person_sequence</code> - container.</p> - - <p>Similar to the <em>optional</em> cardinality class, the - accessor functions for the <em>sequence</em> class return - read-only (constant) and read-write references to the sequence - container. The modifier functions copies the entries from - the passed sequence.</p> - - <p>C++/Tree is a "flattening" mapping in a sense that many levels of - nested compositors (<code>choice</code> and <code>sequence</code>), - all potentially with their own cardinalities, are in the end mapped - to a flat set of elements with one of the three cardinality classes - discussed above. While this results in a simple and easy to use API - for most types, in certain cases, the order of elements in the actual - XML documents is not preserved once parsed into the object model. To - overcome this limitation we can mark certain schema types, for which - content order is not sufficiently preserved, as ordered. For more - information on this functionality refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.8.4">Section - 2.8.4, "Element Order"</a> in the C++/Tree Mapping User Manual.</p> - - <p>For complex schemas with many levels of nested compositors - (<code>choice</code> and <code>sequence</code>) it can also - be hard to deduce the cardinality class of a particular element. - The generated Doxygen documentation can greatly help with - this task. For each element and attribute the documentation - clearly identifies its cardinality class. Alternatively, you - can study the generated header files to find out the cardinality - class of a particular attribute or element.</p> - - <p>In the next sections we will examine how to access and modify - information stored in an object model using accessor and modifier - functions described in this section.</p> - - <h2><a name="4.2">4.2 Accessing the Object Model</a></h2> - - <p>In this section we will learn how to get to the information - stored in the object model for our person records vocabulary. - The following application accesses and prints the contents - of the <code>people.xml</code> file:</p> - - <pre class="c++"> -#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main () -{ - auto_ptr<people_t> ppl (people ("people.xml")); - - // Iterate over individual person records. - // - people_t::person_sequence& ps (ppl->person ()); - - for (people_t::person_iterator i (ps.begin ()); i != ps.end (); ++i) - { - person_t& p (*i); - - // Print names: first-name and last-name are required elements, - // middle-name is optional. - // - cout << "name: " << p.first_name () << " "; - - if (p.middle_name ().present ()) - cout << p.middle_name ().get () << " "; - - cout << p.last_name () << endl; - - // Print gender, age, and id which are all required. - // - cout << "gender: " << p.gender () << endl - << "age: " << p.age () << endl - << "id: " << p.id () << endl - << endl; - } -} - </pre> - - <p>This code shows common patterns of accessing elements and attributes - with different cardinality classes. For the sequence element - (<code>person</code> in <code>people_t</code>) we first obtain a - reference to the container and then iterate over individual - records. The values of elements and attributes with the - <em>one</em> cardinality class (<code>first-name</code>, - <code>last-name</code>, <code>gender</code>, <code>age</code>, - and <code>id</code>) can be obtained directly by calling the - corresponding accessor functions. For the optional element - <code>middle-name</code> we first check if the value is present - and only then call <code>get()</code> to retrieve it.</p> - - <p>Note that when we want to reduce typing by creating a variable - representing a fragment of the object model that we are currently - working with (<code>ps</code> and <code>p</code> above), we obtain - a reference to that fragment instead of making a potentially - expensive copy. This is generally a good rule to follow when - creating high-performance applications.</p> - - <p>If we run the above application on our sample - <code>people.xml</code>, the output looks as follows:</p> - - <pre class="terminal"> -name: John Doe -gender: male -age: 32 -id: 1 - -name: Jane Mary Doe -gender: female -age: 28 -id: 2 - </pre> - - - <h2><a name="4.3">4.3 Modifying the Object Model</a></h2> - - <p>In this section we will learn how to modify the information - stored in the object model for our person records vocabulary. - The following application changes the contents of the - <code>people.xml</code> file:</p> - - <pre class="c++"> -#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main () -{ - auto_ptr<people_t> ppl (people ("people.xml")); - - // Iterate over individual person records and increment - // the age. - // - people_t::person_sequence& ps (ppl->person ()); - - for (people_t::person_iterator i (ps.begin ()); i != ps.end (); ++i) - { - // Alternative way: i->age ()++; - // - i->age (i->age () + 1); - } - - // Add middle-name to the first record and remove it from - // the second. - // - person_t& john (ps[0]); - person_t& jane (ps[1]); - - john.middle_name ("Mary"); - jane.middle_name ().reset (); - - // Add another John record. - // - ps.push_back (john); - - // Serialize the modified object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "people.xsd"; - - people (cout, *ppl, map); -} - </pre> - - <p>The first modification the above application performs is iterating - over person records and incrementing the age value. This code - fragment shows how to modify the value of a required attribute - or element. The next modification shows how to set a new value - for the optional <code>middle-name</code> element as well - as clear its value. Finally the example adds a copy of the - John Doe record to the <code>person</code> element sequence.</p> - - <p>Note that in this case using references for the <code>ps</code>, - <code>john</code>, and <code>jane</code> variables is no longer - a performance improvement but a requirement for the application - to function correctly. If we hadn't used references, all our changes - would have been made on copies without affecting the object model.</p> - - <p>If we run the above application on our sample <code>people.xml</code>, - the output looks as follows:</p> - - <pre class="xml"> -<?xml version="1.0"?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>33</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>29</age> - </person> - - <person id="1"> - <first-name>John</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>33</age> - </person> - -</people> - </pre> - - - <h2><a name="4.4">4.4 Creating the Object Model from Scratch</a></h2> - - <p>In this section we will learn how to create a new object model - for our person records vocabulary. The following application - recreates the content of the original <code>people.xml</code> - file:</p> - - <pre class="c++"> -#include <iostream> -#include "people.hxx" - -using namespace std; - -int -main () -{ - people_t ppl; - people_t::person_sequence& ps (ppl.person ()); - - // Add the John Doe record. - // - ps.push_back ( - person_t ("John", // first-name - "Doe", // last-name - gender_t::male, // gender - 32, // age - 1)); - - // Add the Jane Doe record. - // - ps.push_back ( - person_t ("Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2)); // id - - // Add middle name to the Jane Doe record. - // - person_t& jane (ps.back ()); - jane.middle_name ("Mary"); - - // Serialize the object model to XML. - // - xml_schema::namespace_infomap map; - map[""].name = ""; - map[""].schema = "people.xsd"; - - people (cout, ppl, map); -} - </pre> - - <p>The only new part in the above application is the calls - to the <code>people_t</code> and <code>person_t</code> - constructors. As a general rule, for each C++ class - XSD generates a constructor with initializers - for each element and attribute belonging to the <em>one</em> - cardinality class. For our vocabulary, the following - constructors are generated:</p> - - <pre class="c++"> -class person_t -{ - person_t (const first_name_type&, - const last_name_type&, - const gender_type&, - const age_type&, - const id_type&); -}; - -class people_t -{ - people_t (); -}; - </pre> - - <p>Note also that we set the <code>middle-name</code> element - on the Jane Doe record by obtaining a reference to that record - in the object model and setting the <code>middle-name</code> - value on it. This is a general rule that should be followed - in order to obtain the best performance: if possible, - direct modifications to the object model should be preferred - to modifications on temporaries with subsequent copying. The - following code fragment shows a semantically equivalent but - slightly slower version:</p> - - <pre class="c++"> -// Add the Jane Doe record. -// -person_t jane ("Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2); // id - -jane.middle_name ("Mary"); - -ps.push_back (jane); - </pre> - - <p>We can also go one step further to reduce copying and improve - the performance of our application by using the non-copying - <code>push_back()</code> function which assumes ownership - of the passed objects:</p> - - <pre class="c++"> -// Add the John Doe record. C++98 version. -// -auto_ptr<person_t> john_p ( - new person_t ("John", // first-name - "Doe", // last-name - gender_t::male, // gender - 32, // age - 1)); -ps.push_back (john_p); // assumes ownership - -// Add the Jane Doe record. C++11 version -// -unique_ptr<person_t> jane_p ( - new person_t ("Jane", // first-name - "Doe", // last-name - gender_t::female, // gender - 28, // age - 2)); // id -ps.push_back (std::move (jane_p)); // assumes ownership - </pre> - - <p>For more information on the non-copying modifier functions refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.8">Section - 2.8, "Mapping for Local Elements and Attributes"</a> in the C++/Tree Mapping - User Manual. The above application produces the following output:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd"> - - <person id="1"> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - - <person id="2"> - <first-name>Jane</first-name> - <middle-name>Mary</middle-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> - -</people> - </pre> - - <h2><a name="4.5">4.5 Mapping for the Built-in XML Schema Types</a></h2> - - <p>Our person record vocabulary uses several built-in XML Schema - types: <code>string</code>, <code>short</code>, and - <code>unsignedInt</code>. Until now we haven't talked about - the mapping of built-in XML Schema types to C++ types and how - to work with them. This section provides an overview - of the built-in types. For more detailed information refer - to <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.5">Section - 2.5, "Mapping for Built-in Data Types"</a> in the C++/Tree Mapping - User Manual.</p> - - <p>In XML Schema, built-in types are defined in the XML Schema namespace. - By default, the C++/Tree mapping maps this namespace to C++ - namespace <code>xml_schema</code> (this mapping can be altered - with the <code>--namespace-map</code> option). The following table - summarizes the mapping of XML Schema built-in types to C++ types:</p> - - <!-- border="1" is necessary for html2ps --> - <table id="builtin" border="1"> - <tr> - <th>XML Schema type</th> - <th>Alias in the <code>xml_schema</code> namespace</th> - <th>C++ type</th> - </tr> - - <tr> - <th colspan="3">fixed-length integral types</th> - </tr> - <!-- 8-bit --> - <tr> - <td><code>byte</code></td> - <td><code>byte</code></td> - <td><code>signed char</code></td> - </tr> - <tr> - <td><code>unsignedByte</code></td> - <td><code>unsigned_byte</code></td> - <td><code>unsigned char</code></td> - </tr> - - <!-- 16-bit --> - <tr> - <td><code>short</code></td> - <td><code>short_</code></td> - <td><code>short</code></td> - </tr> - <tr> - <td><code>unsignedShort</code></td> - <td><code>unsigned_short</code></td> - <td><code>unsigned short</code></td> - </tr> - - <!-- 32-bit --> - <tr> - <td><code>int</code></td> - <td><code>int_</code></td> - <td><code>int</code></td> - </tr> - <tr> - <td><code>unsignedInt</code></td> - <td><code>unsigned_int</code></td> - <td><code>unsigned int</code></td> - </tr> - - <!-- 64-bit --> - <tr> - <td><code>long</code></td> - <td><code>long_</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>unsignedLong</code></td> - <td><code>unsigned_long</code></td> - <td><code>unsigned long long</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-length integral types</th> - </tr> - <tr> - <td><code>integer</code></td> - <td><code>integer</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonPositiveInteger</code></td> - <td><code>non_positive_integer</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonNegativeInteger</code></td> - <td><code>non_negative_integer</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>positiveInteger</code></td> - <td><code>positive_integer</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>negativeInteger</code></td> - <td><code>negative_integer</code></td> - <td><code>long long</code></td> - </tr> - - <tr> - <th colspan="3">boolean types</th> - </tr> - <tr> - <td><code>boolean</code></td> - <td><code>boolean</code></td> - <td><code>bool</code></td> - </tr> - - <tr> - <th colspan="3">fixed-precision floating-point types</th> - </tr> - <tr> - <td><code>float</code></td> - <td><code>float_</code></td> - <td><code>float</code></td> - </tr> - <tr> - <td><code>double</code></td> - <td><code>double_</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-precision floating-point types</th> - </tr> - <tr> - <td><code>decimal</code></td> - <td><code>decimal</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">string types</th> - </tr> - <tr> - <td><code>string</code></td> - <td><code>string</code></td> - <td>type derived from <code>std::basic_string</code></td> - </tr> - <tr> - <td><code>normalizedString</code></td> - <td><code>normalized_string</code></td> - <td>type derived from <code>string</code></td> - </tr> - <tr> - <td><code>token</code></td> - <td><code>token</code></td> - <td>type derived from <code>normalized_string</code></td> - </tr> - <tr> - <td><code>Name</code></td> - <td><code>name</code></td> - <td>type derived from <code>token</code></td> - </tr> - <tr> - <td><code>NMTOKEN</code></td> - <td><code>nmtoken</code></td> - <td>type derived from <code>token</code></td> - </tr> - <tr> - <td><code>NMTOKENS</code></td> - <td><code>nmtokens</code></td> - <td>type derived from <code>sequence<nmtoken></code></td> - </tr> - <tr> - <td><code>NCName</code></td> - <td><code>ncname</code></td> - <td>type derived from <code>name</code></td> - </tr> - <tr> - <td><code>language</code></td> - <td><code>language</code></td> - <td>type derived from <code>token</code></td> - </tr> - - <tr> - <th colspan="3">qualified name</th> - </tr> - <tr> - <td><code>QName</code></td> - <td><code>qname</code></td> - <td><code>xml_schema::qname</code></td> - </tr> - - <tr> - <th colspan="3">ID/IDREF types</th> - </tr> - <tr> - <td><code>ID</code></td> - <td><code>id</code></td> - <td>type derived from <code>ncname</code></td> - </tr> - <tr> - <td><code>IDREF</code></td> - <td><code>idref</code></td> - <td>type derived from <code>ncname</code></td> - </tr> - <tr> - <td><code>IDREFS</code></td> - <td><code>idrefs</code></td> - <td>type derived from <code>sequence<idref></code></td> - </tr> - - <tr> - <th colspan="3">URI types</th> - </tr> - <tr> - <td><code>anyURI</code></td> - <td><code>uri</code></td> - <td>type derived from <code>std::basic_string</code></td> - </tr> - - <tr> - <th colspan="3">binary types</th> - </tr> - <tr> - <td><code>base64Binary</code></td> - <td><code>base64_binary</code></td> - <td><code>xml_schema::base64_binary</code></td> - </tr> - <tr> - <td><code>hexBinary</code></td> - <td><code>hex_binary</code></td> - <td><code>xml_schema::hex_binary</code></td> - </tr> - - <tr> - <th colspan="3">date/time types</th> - </tr> - <tr> - <td><code>date</code></td> - <td><code>date</code></td> - <td><code>xml_schema::date</code></td> - </tr> - <tr> - <td><code>dateTime</code></td> - <td><code>date_time</code></td> - <td><code>xml_schema::date_time</code></td> - </tr> - <tr> - <td><code>duration</code></td> - <td><code>duration</code></td> - <td><code>xml_schema::duration</code></td> - </tr> - <tr> - <td><code>gDay</code></td> - <td><code>gday</code></td> - <td><code>xml_schema::gday</code></td> - </tr> - <tr> - <td><code>gMonth</code></td> - <td><code>gmonth</code></td> - <td><code>xml_schema::gmonth</code></td> - </tr> - <tr> - <td><code>gMonthDay</code></td> - <td><code>gmonth_day</code></td> - <td><code>xml_schema::gmonth_day</code></td> - </tr> - <tr> - <td><code>gYear</code></td> - <td><code>gyear</code></td> - <td><code>xml_schema::gyear</code></td> - </tr> - <tr> - <td><code>gYearMonth</code></td> - <td><code>gyear_month</code></td> - <td><code>xml_schema::gyear_month</code></td> - </tr> - <tr> - <td><code>time</code></td> - <td><code>time</code></td> - <td><code>xml_schema::time</code></td> - </tr> - - <tr> - <th colspan="3">entity types</th> - </tr> - <tr> - <td><code>ENTITY</code></td> - <td><code>entity</code></td> - <td>type derived from <code>name</code></td> - </tr> - <tr> - <td><code>ENTITIES</code></td> - <td><code>entities</code></td> - <td>type derived from <code>sequence<entity></code></td> - </tr> - </table> - - <p>As you can see from the table above a number of built-in - XML Schema types are mapped to fundamental C++ types such - as <code>int</code> or <code>bool</code>. All string-based - XML Schema types are mapped to C++ types that are derived - from either <code>std::string</code> or - <code>std::wstring</code>, depending on the character - type selected. For access and modification purposes these - types can be treated as <code>std::string</code>. A number - of built-in types, such as <code>qname</code>, the binary - types, and the date/time types do not have suitable - fundamental or standard C++ types to map to. As a result, - these types are implemented from scratch in the XSD runtime. - For more information on their interfaces refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.5">Section - 2.5, "Mapping for Built-in Data Types"</a> in the C++/Tree Mapping - User Manual.</p> - - - <!-- Chapater 5 --> - - - <h1><a name="5">5 Parsing</a></h1> - - <p>We have already seen how to parse XML to an object model in this guide - before. In this chapter we will discuss the parsing topic in more - detail.</p> - - <p>By default, the C++/Tree mapping provides a total of 14 overloaded - parsing functions. They differ in the input methods used to - read XML as well as the error reporting mechanisms. It is also possible - to generate types for root elements instead of parsing and serialization - functions. This may be useful if your XML vocabulary has multiple - root elements. For more information on element types refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.9">Section - 2.9, "Mapping for Global Elements"</a> in the C++/Tree Mapping User - Manual.</p> - - - <p>In this section we will discuss the most commonly used versions of - the parsing functions. For a comprehensive description of parsing - refer to <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#3">Chapter - 3, "Parsing"</a> in the C++/Tree Mapping User Manual. For the <code>people</code> - global element from our person record vocabulary, we will concentrate - on the following three parsing functions:</p> - - <pre class="c++"> -std::[auto|unique]_ptr<people_t> -people (const std::string& uri, - xml_schema::flags f = 0, - const xml_schema::properties& p = xml_schema::properties ()); - -std::[auto|unique]_ptr<people_t> -people (std::istream& is, - xml_schema::flags f = 0, - const xml_schema::properties& p = xml_schema::properties ()); - -std::[auto|unique]_ptr<people_t> -people (std::istream& is, - const std::string& resource_id, - xml_schema::flags f = 0, - const xml_schema::properties& p = ::xml_schema::properties ()); - </pre> - - <p>The first function parses a local file or a URI. We have already - used this parsing function in the previous chapters. The second - and third functions read XML from a standard input stream. The - last function also requires a resource id. This id is used to - identify the XML document being parser in diagnostics messages - as well as to resolve relative paths to other documents (for example, - schemas) that might be referenced from the XML document.</p> - - <p>The last two arguments to all three parsing functions are parsing - flags and properties. The flags argument provides a number of ways - to fine-tune the parsing process. The properties argument allows - to pass additional information to the parsing functions. We will - use these two arguments in <a href="#5.1">Section 5.1, "XML Schema - Validation and Searching"</a> below. All three functions return - the object model as either <code>std::auto_ptr</code> (C++98) or - <code>std::unique_ptr</code> (C++11), depending on the C++ standard - selected (<code>--std</code> XSD compiler option). The following - example shows how we can use the above parsing functions:</p> - - <pre class="c++"> -using std::auto_ptr; - -// Parse a local file or URI. -// -auto_ptr<people_t> p1 (people ("people.xml")); -auto_ptr<people_t> p2 (people ("http://example.com/people.xml")); - -// Parse a local file via ifstream. -// -std::ifstream ifs ("people.xml"); -auto_ptr<people_t> p3 (people (ifs, "people.xml")); - -// Parse an XML string. -// -std::string str ("..."); // XML in a string. -std::istringstream iss (str); -auto_ptr<people_t> p4 (people (iss)); - </pre> - - - <h2><a name="5.1">5.1 XML Schema Validation and Searching</a></h2> - - <p>The C++/Tree mapping relies on the underlying Xerces-C++ XML - parser for full XML document validation. The XML Schema - validation is enabled by default and can be disabled by - passing the <code>xml_schema::flags::dont_validate</code> - flag to the parsing functions, for example:</p> - - <pre class="c++"> -auto_ptr<people_t> p ( - people ("people.xml", xml_schema::flags::dont_validate)); - </pre> - - <p>Even when XML Schema validation is disabled, the generated - code still performs a number of checks to prevent - construction of an inconsistent object model (for example, an - object model with missing required attributes or elements).</p> - - <p>When XML Schema validation is enabled, the XML parser needs - to locate a schema to validate against. There are several - methods to provide the schema location information to the - parser. The easiest and most commonly used method is to - specify schema locations in the XML document itself - with the <code>schemaLocation</code> or - <code>noNamespaceSchemaLocation</code> attributes, for example:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<people xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="people.xsd" - xsi:schemaLocation="http://www.w3.org/XML/1998/namespace xml.xsd"> - </pre> - - <p>As you might have noticed, we used this method in all the sample XML - documents presented in this guide up until now. Note that the - schema locations specified with these two attributes are relative - to the document's path unless they are absolute URIs (that is - start with <code>http://</code>, <code>file://</code>, etc.). - In particular, if you specify just file names as your schema - locations, as we did above, then the schemas should reside in - the same directory as the XML document itself.</p> - - <p>Another method of providing the schema location information - is via the <code>xml_schema::properties</code> argument, as - shown in the following example:</p> - - <pre class="c++"> -xml_schema::properties props; -props.no_namespace_schema_location ("people.xsd"); -props.schema_location ("http://www.w3.org/XML/1998/namespace", "xml.xsd"); - -auto_ptr<people_t> p (people ("people.xml", 0, props)); - </pre> - - <p>The schema locations provided with this method overrides - those specified in the XML document. As with the previous - method, the schema locations specified this way are - relative to the document's path unless they are absolute URIs. - In particular, if you want to use local schemas that are - not related to the document being parsed, then you will - need to use the <code>file://</code> URI. The following - example shows how to use schemas that reside in the current - working directory:</p> - - <pre class="c++"> -#include <unistd.h> // getcwd -#include <limits.h> // PATH_MAX - -char cwd[PATH_MAX]; -if (getcwd (cwd, PATH_MAX) == 0) -{ - // Buffer too small? -} - -xml_schema::properties props; - -props.no_namespace_schema_location ( - "file:///" + std::string (cwd) + "/people.xsd"); - -props.schema_location ( - "http://www.w3.org/XML/1998/namespace", - "file:///" + std::string (cwd) + "/xml.xsd"); - -auto_ptr<people_t> p (people ("people.xml", 0, props)); - </pre> - - <p>A third method is the most useful if you are planning to parse - several XML documents of the same vocabulary. In that case - it may be beneficial to pre-parse and cache the schemas in - the XML parser which can then be used to parse all documents - without re-parsing the schemas. For more information on - this method refer to the <code>caching</code> example in the - <code>examples/cxx/tree/</code> directory of the XSD - distribution. It is also possible to convert the schemas into - a pre-compiled binary representation and embed this representation - directly into the application executable. With this approach your - application can perform XML Schema validation without depending on - any external schema files. For more information on how to achieve - this refer to the <code>embedded</code> example in the - <code>examples/cxx/tree/</code> directory of the XSD distribution.</p> - - <p>When the XML parser cannot locate a schema for the - XML document, the validation fails and XML document - elements and attributes for which schema definitions could - not be located are reported in the diagnostics. For - example, if we remove the <code>noNamespaceSchemaLocation</code> - attribute in <code>people.xml</code> from the previous chapter, - then we will get the following diagnostics if we try to parse - this file with validation enabled:</p> - - <pre class="terminal"> -people.xml:2:63 error: no declaration found for element 'people' -people.xml:4:18 error: no declaration found for element 'person' -people.xml:4:18 error: attribute 'id' is not declared for element 'person' -people.xml:5:17 error: no declaration found for element 'first-name' -people.xml:6:18 error: no declaration found for element 'middle-name' -people.xml:7:16 error: no declaration found for element 'last-name' -people.xml:8:13 error: no declaration found for element 'gender' -people.xml:9:10 error: no declaration found for element 'age' - </pre> - - <h2><a name="5.2">5.2 Error Handling</a></h2> - - <p>The parsing functions offer a number of ways to handle error conditions - with the C++ exceptions being the most commonly used mechanism. All - C++/Tree exceptions derive from common base <code>xml_schema::exception</code> - which in turn derives from <code>std::exception</code>. The easiest - way to uniformly handle all possible C++/Tree exceptions and print - detailed information about the error is to catch and print - <code>xml_schema::exception</code>, as shown in the following - example:</p> - - <pre class="c++"> -try -{ - auto_ptr<people_t> p (people ("people.xml")); -} -catch (const xml_schema::exception& e) -{ - cerr << e << endl; -} - </pre> - - <p>Each individual C++/Tree exception also allows you to obtain - error details programmatically. For example, the - <code>xml_schema::parsing</code> exception is thrown when - the XML parsing and validation in the underlying XML parser - fails. It encapsulates various diagnostics information - such as the file name, line and column numbers, as well as the - error or warning message for each entry. For more information - about this and other exceptions that can be thrown during - parsing, refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#3.3">Section - 3.3, "Error Handling"</a> in the C++/Tree Mapping - User Manual.</p> - - <p>Note that if you are parsing <code>std::istream</code> on which - exceptions are not enabled, then you will need to check the - stream state after the call to the parsing function in order - to detect any possible stream failures, for example:</p> - - <pre class="c++"> -std::ifstream ifs ("people.xml"); - -if (ifs.fail ()) -{ - cerr << "people.xml: unable to open" << endl; - return 1; -} - -auto_ptr<people_t> p (people (ifs, "people.xml")); - -if (ifs.fail ()) -{ - cerr << "people.xml: read error" << endl; - return 1; -} - </pre> - - <p>The above example can be rewritten to use exceptions as - shown below:</p> - - <pre class="c++"> -try -{ - std::ifstream ifs; - ifs.exceptions (std::ifstream::badbit | std::ifstream::failbit); - ifs.open ("people.xml"); - - auto_ptr<people_t> p (people (ifs, "people.xml")); -} -catch (const std::ifstream::failure&) -{ - cerr << "people.xml: unable to open or read error" << endl; - return 1; -} - </pre> - - - <!-- Chapater 6 --> - - - <h1><a name="6">6 Serialization</a></h1> - - <p>We have already seen how to serialize an object model back to XML - in this guide before. In this chapter we will discuss the - serialization topic in more detail.</p> - - <p>By default, the C++/Tree mapping provides a total of 8 overloaded - serialization functions. They differ in the output methods used to write - XML as well as the error reporting mechanisms. It is also possible to - generate types for root elements instead of parsing and serialization - functions. This may be useful if your XML vocabulary has multiple - root elements. For more information on element types refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#2.9">Section - 2.9, "Mapping for Global Elements"</a> in the C++/Tree Mapping User - Manual.</p> - - - <p>In this section we will discuss the most commonly - used version of serialization functions. For a comprehensive description - of serialization refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#4">Chapter - 4, "Serialization"</a> in the C++/Tree Mapping User Manual. For the - <code>people</code> global element from our person record vocabulary, - we will concentrate on the following serialization function:</p> - - <pre class="c++"> -void -people (std::ostream& os, - const people_t& x, - const xml_schema::namespace_infomap& map = - xml_schema::namespace_infomap (), - const std::string& encoding = "UTF-8", - xml_schema::flags f = 0); - </pre> - - <p>This function serializes the object model passed as the second - argument to the standard output stream passed as the first - argument. The third argument is a namespace information map - which we will discuss in more detail in the next section. - The fourth argument is a character encoding that the resulting - XML document should be in. Possible valid values for this - argument are "US-ASCII", "ISO8859-1", "UTF-8", "UTF-16BE", - "UTF-16LE", "UCS-4BE", and "UCS-4LE". Finally, the flags - argument allows fine-tuning of the serialization process. - The following example shows how we can use the above serialization - function:</p> - - <pre class="c++"> -people_t& p = ... - -xml_schema::namespace_infomap map; -map[""].schema = "people.xsd"; - -// Serialize to stdout. -// -people (std::cout, p, map); - -// Serialize to a file. -// -std::ofstream ofs ("people.xml"); -people (ofs, p, map); - -// Serialize to a string. -// -std::ostringstream oss; -people (oss, p, map); -std::string xml (oss.str ()); - </pre> - - - <h2><a name="6.1">6.1 Namespace and Schema Information</a></h2> - - <p>While XML serialization can be done just from the object - model alone, it is often desirable to assign meaningful - prefixes to XML namespaces used in the vocabulary as - well as to provide the schema location information. - This is accomplished by passing the namespace information - map to the serialization function. The key in this map is - a namespace prefix that should be assigned to an XML namespace - specified in the <code>name</code> variable of the - map value. You can also assign an optional schema location for - this namespace in the <code>schema</code> variable. Based - on each key-value entry in this map, the serialization - function adds two attributes to the resulting XML document: - the namespace-prefix mapping attribute and schema location - attribute. The empty prefix indicates that the namespace - should be mapped without a prefix. For example, the following - map:</p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map[""].name = "http://www.example.com/example"; -map[""].schema = "example.xsd"; - -map["x"].name = "http://www.w3.org/XML/1998/namespace"; -map["x"].schema = "xml.xsd"; - </pre> - - <p>Results in the following XML document:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<example - xmlns="http://www.example.com/example" - xmlns:x="http://www.w3.org/XML/1998/namespace" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.example.com/example example.xsd - http://www.w3.org/XML/1998/namespace xml.xsd"> - </pre> - - <p>The empty namespace indicates that the vocabulary has no target - namespace. For example, the following map results in only the - <code>noNamespaceSchemaLocation</code> attribute being added:</p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map[""].name = ""; -map[""].schema = "example.xsd"; - </pre> - - <h2><a name="6.2">6.2 Error Handling</a></h2> - - <p>Similar to the parsing functions, the serialization functions offer a - number of ways to handle error conditions with the C++ exceptions being - the most commonly used mechanisms. As with parsing, the easiest way to - uniformly handle all possible serialization exceptions and print - detailed information about the error is to catch and print - <code>xml_schema::exception</code>:</p> - - <pre class="c++"> -try -{ - people_t& p = ... - - xml_schema::namespace_infomap map; - map[""].schema = "people.xsd"; - - people (std::cout, p, map)); -} -catch (const xml_schema::exception& e) -{ - cerr << e << endl; -} - </pre> - - <p>The most commonly encountered serialization exception is - <code>xml_schema::serialization</code>. It is thrown - when the XML serialization in the underlying XML writer - fails. It encapsulates various diagnostics information - such as the file name, line and column numbers, as well as the - error or warning message for each entry. For more information - about this and other exceptions that can be thrown during - serialization, refer to - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/#4.4">Section - 4.4, "Error Handling"</a> in the C++/Tree Mapping - User Manual.</p> - - <p>Note that if you are serializing to <code>std::ostream</code> on - which exceptions are not enabled, then you will need to check the - stream state after the call to the serialization function in order - to detect any possible stream failures, for example:</p> - - <pre class="c++"> -std::ofstream ofs ("people.xml"); - -if (ofs.fail ()) -{ - cerr << "people.xml: unable to open" << endl; - return 1; -} - -people (ofs, p, map)); - -if (ofs.fail ()) -{ - cerr << "people.xml: write error" << endl; - return 1; -} - </pre> - - <p>The above example can be rewritten to use exceptions as - shown below:</p> - - <pre class="c++"> -try -{ - std::ofstream ofs; - ofs.exceptions (std::ofstream::badbit | std::ofstream::failbit); - ofs.open ("people.xml"); - - people (ofs, p, map)); -} -catch (const std::ofstream::failure&) -{ - cerr << "people.xml: unable to open or write error" << endl; - return 1; -} - </pre> - - </div> -</div> - -</body> -</html> diff --git a/xsd/doc/cxx/tree/guide/makefile b/xsd/doc/cxx/tree/guide/makefile deleted file mode 100644 index 3e6fba2..0000000 --- a/xsd/doc/cxx/tree/guide/makefile +++ /dev/null @@ -1,54 +0,0 @@ -# file : doc/cxx/tree/guide/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(out_base)/cxx-tree-guide.ps $(out_base)/cxx-tree-guide.pdf - - -$(out_base)/cxx-tree-guide.ps: $(src_base)/index.xhtml \ - $(src_base)/guide.html2ps \ - | $(out_base)/. - $(call message,html2ps $<,html2ps -f $(src_base)/guide.html2ps -o $@ $<) - -$(out_base)/cxx-tree-guide.pdf: $(out_base)/cxx-tree-guide.ps | $(out_base)/. - $(call message,ps2pdf $<,ps2pdf14 $< $@) - -# Install & Dist. -# -$(install): path := $(subst $(src_root)/doc/,,$(src_base)) -$(dist): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(out_base)/cxx-tree-guide.ps $(out_base)/cxx-tree-guide.pdf - $(call install-data,$(src_base)/index.xhtml,$(install_doc_dir)/xsd/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-tree-guide.ps,$(install_doc_dir)/xsd/$(path)/cxx-tree-guide.ps) - $(call install-data,$(out_base)/cxx-tree-guide.pdf,$(install_doc_dir)/xsd/$(path)/cxx-tree-guide.pdf) - -$(dist): $(out_base)/cxx-tree-guide.ps $(out_base)/cxx-tree-guide.pdf - $(call install-data,$(src_base)/index.xhtml,$(dist_prefix)/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-tree-guide.ps,$(dist_prefix)/$(path)/cxx-tree-guide.ps) - $(call install-data,$(out_base)/cxx-tree-guide.pdf,$(dist_prefix)/$(path)/cxx-tree-guide.pdf) - -$(dist-win): $(dist) - - -# Clean -# -$(clean): -ifneq ($(xsd_clean_gen),n) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-tree-guide.ps) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-tree-guide.pdf) -endif - -# How to. -# -$(call include,$(bld_root)/install.make) diff --git a/xsd/doc/cxx/tree/makefile b/xsd/doc/cxx/tree/makefile deleted file mode 100644 index 4163730..0000000 --- a/xsd/doc/cxx/tree/makefile +++ /dev/null @@ -1,41 +0,0 @@ -# file : doc/cxx/tree/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -docs := guide manual - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(docs))) - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install): path := $(subst $(src_root)/doc/,,$(src_base)) -$(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(docs))) - $(call install-dir,$(src_base)/reference,$(install_doc_dir)/xsd/$(path)/reference) - -$(dist-common): - $(call install-dir,$(src_base)/reference,$(dist_prefix)/$(path)/reference) - -$(dist): $(dist-common) $(addprefix $(out_base)/,$(addsuffix /.dist,$(docs))) -$(dist-win): $(dist-common) $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(docs))) - -# Clean. -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(docs))) - -$(call include,$(bld_root)/install.make) - -$(foreach m,$(docs),$(call import,$(src_base)/$m/makefile)) diff --git a/xsd/doc/cxx/tree/manual/cxx-tree-manual.pdf b/xsd/doc/cxx/tree/manual/cxx-tree-manual.pdf Binary files differdeleted file mode 100644 index 73131a3..0000000 --- a/xsd/doc/cxx/tree/manual/cxx-tree-manual.pdf +++ /dev/null diff --git a/xsd/doc/cxx/tree/manual/cxx-tree-manual.ps b/xsd/doc/cxx/tree/manual/cxx-tree-manual.ps deleted file mode 100644 index 38335e9..0000000 --- a/xsd/doc/cxx/tree/manual/cxx-tree-manual.ps +++ /dev/null @@ -1,7382 +0,0 @@ -%!PS -%%Title: C++/Tree Mapping User Manual -%%Creator: html2ps version 1.0 beta7 -%%EndComments -save -2000 dict begin -/d {bind def} bind def -/D {def} d -/t true D -/f false D -/FL [/Times-Roman -/Times-Italic -/Times-Bold -/Times-BoldItalic -/Courier -/Courier-Oblique -/Courier-Bold -/Courier-BoldOblique -/Helvetica -/Helvetica-Oblique -/Helvetica-Bold -/Helvetica-BoldOblique] D -/WF t D -/WI 0 D -/F 1 D -/IW 471 F div D -/IL 621 F div D -/PS 791 D -/EF [0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 2] D -/EZ [12 10 19 17 15 13 12 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 8 8] D -/Ey [0 0 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] D -/EG [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1] D -/Tm [1 1 0.8 0.8 0.8 0.8 0.8 0.8 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1.3 0 0] D -/Bm [1 1 0.5 0.5 0.5 0.5 0.5 0.5 0 0 0 0 0 0 0.5 1 1 1 1 0 0 1 0 0] D -/Lm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 2 0 0 0] D -/Rm [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0] D -/EU [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0] D -/NO f D -/YY [[{()}{ h }][{ h }{()}][{()}{()}]] D -/ZZ [[{ (July 2014) }{ Pn }][{ Pn }{ (July 2014) }][{ Ti(, v)join ME 0 get join }{ Ti(, v)join ME 0 get join }]] D -/Ts EZ 0 get D -/TU f D -/Xp t D -/AU f D -/SN 0 D -/Cf t D -/Tp t D -/Fe f D -/TI 2 Ts mul D -/Fm 14 D -/xL 71 D -/xR 71 D -/yL 706 D -/yR 706 D -/Wl 471 F div D -/Wr 471 F div D -/hL 621 F div D -/hR 621 F div D -/FE {newpath Fm neg Fm M CP BB IW Fm add Fm L IW Fm add IL Fm add neg L CP BB - Fm neg IL Fm add neg L closepath} D -/LA {PM 0 eq{/IW Wl D /IL hL D}{/IW Wr D /IL hR D}ie /W IW D /LL W D /LS W D - TU PM 0 eq and{IW 56 F div add SA{Sf div}if 0 translate} - {PM 0 eq{xL yL}{xR yR}ie translate F SA{Sf mul}if dup scale - CS CF FS Cf{CA CL get VC}if /Bb f D}ie 0 0 M - TF not Tc or {Cf{gsave SA{1 Sf div dup scale}if Cb VC FE fill grestore}if}if}D -/Pi 0 Ts mul D -/SG [0.8 1 1] D -/Ab 15 D -/J 0 D -/Tc t D -/NH 6 D -/Nf f D -/Pa f D -/LH 1.2 D -/XR f D -/Xr {/pN E D ( [p ) WB pN WB (] )WB} D -/Db [16#FF 16#FF 16#FF] D -/Dt [16#00 16#00 16#00] D -/eA f D -/Fi f D -/bT f D -/Lc t D -/Dl [16#00 16#00 16#00] D -/LX f D -/Br 0.25 D -/IA ([IMAGE]) D -/DS {/PF f D()WB NL NP()pop RC ZF} D -/Gb f D -/Mb t D -/Hc [16#00 16#00 16#00] D -/Bl 3 D -/MI -15.6 D -/DX (DRAFT) D -/Di 0 D -/Tt 113.385826771654 D -/Th { ( -) 2 Al()BR ( - ) 0 1 -1 H()4 FZ (C++/Tree Mapping User Manual) ES()EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( - ) 0 1 -1 H ( ) EH ( -) Ea()BR ( - ) 0 P (Revision ) ME 0 get join( July 2014)join EP ( - ) 0 P (Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC) EP ( - - ) 0 P (Permission is granted to copy, distribute and/or modify this - document under the terms of the - ) R0 2 A (GNU Free - Documentation License, version 1.2) EA (; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - ) EP ( - - ) 0 P (This document is available in the following formats: - ) R1 2 A (XHTML) EA (, - ) R2 2 A (PDF) EA (, and - ) R3 2 A (PostScript) EA (.) EP()} D -/tH {()0 1 -1 H (Table of Contents) EH()} D -/FD 2 D -/Dy 2 D -/cD [16#F0 16#F0 16#F0] D -/FW 0.6 D -/FU [16#00 16#00 16#00] D -/ET {/RM f D /A0 3 D /PN SN D /OU t D /Ou t D /W IW D /LL W D D1 - Ms not TP and{Ip}if /TF f D} D - -%-- End of variable part -- -/MySymbol 10 dict dup begin - /FontType 3 D /FontMatrix [.001 0 0 .001 0 0 ] D /FontBBox [25 -10 600 600] D - /Encoding 256 array D 0 1 255{Encoding exch /.notdef put}for - Encoding (e) 0 get /euro put - /Metrics 2 dict D Metrics begin - /.notdef 0 D - /euro 651 D - end - /BBox 2 dict D BBox begin - /.notdef [0 0 0 0] D - /euro [25 -10 600 600] D - end - /CharacterDefs 2 dict D CharacterDefs begin - /.notdef {} D - /euro{newpath 114 600 moveto 631 600 lineto 464 200 lineto 573 200 lineto - 573 0 lineto -94 0 lineto 31 300 lineto -10 300 lineto closepath clip - 50 setlinewidth newpath 656 300 moveto 381 300 275 0 360 arc stroke - -19 350 moveto 600 0 rlineto -19 250 moveto 600 0 rlineto stroke}d - end - /BuildChar{0 begin - /char E D /fontdict E D /charname fontdict /Encoding get char get D - fontdict begin - Metrics charname get 0 BBox charname get aload pop setcachedevice - CharacterDefs charname get exec - end - end}D - /BuildChar load 0 3 dict put /UniqueID 1 D -end -definefont pop - -/Cd {aload length 2 idiv dup dict begin {D} repeat currentdict end} D -/EX {EC cvx exec} D -/DU {} d -/BB {pop pop}d -/ie {ifelse} d -/E {exch} d -/M {moveto} d -/R {rmoveto} d -/L {lineto} d -/RL {rlineto} d -/CP {currentpoint} d -/SW {stringwidth} d -/GI {getinterval} d -/PI {putinterval} d -/Sg {setgray} d -/LW {setlinewidth} d -/S {dup () ne OU and{0 Co R AT 3 eq LB and HF not and A1 0 ne A2 0 ne or and - {A2 0 32 A1 0 6 -1 roll awidthshow}{show}ie 0 Co neg R}{pop}ie - OU PH 3 eq or{/Ms t D}if} D -/U {OU{gsave CP currentfont /FontInfo get /UnderlinePosition get - 0 E currentfont /FontMatrix get dtransform E pop add newpath M dup SW pop - CJ 0 RL stroke grestore}if} D -/B {OU Br 0 gt and{CP Ts neg Ts .33 mul R gsave 0 Sg - CP newpath Ts Br mul 0 360 arc closepath UI 2 mod 0 eq{stroke}{fill}ie - grestore M CP E Ts Br 1 add mul sub E BB /Ms t D}if}D -/NP {Ms TP not or PA and OU and{TP{OR}if f1{mF k2 /mF E D /YC 0 D}if - TP TU not PM 0 eq or and{showpage}if DU Ip TE not{LA}if 0.6 LW - /CI 0 D /TP t D /Hs f D /hl 6 D /Hv 6 D /HI hi D /Ms f D}if Bs XO BO M} D -/Np {LE sub CP E pop gt PL 0 eq and{NP}if}D -/Ip {/PN PN 1 add D /Pn RM{1}{4}ie PN Ns D /PM PN SN sub 2 mod D} D -/GP {E dup 3 -1 roll get PN 1 add 2 mod get dup type /integertype eq - {get 0 get}{E pop}ie}d -/Fc {dup 2 GP exec SW pop /S1 E D dup 1 GP exec SW pop /S2 E D 0 GP exec SW - pop /S3 E D S1 0 gt{S2 2 mul S1 add S3 2 mul S1 add 2 copy lt{E}if pop}{0}ie - S2 S3 add 2 copy lt{E}if pop IW .9 mul div dup 1 gt{1 E div}{pop 1}ie}D -/OR {Df{Sd}if tp not{gsave SA{1 Sf div dup scale}if Fe{Cf{FU VC}if FW LW - 1 setlinejoin FE stroke}if /YO {60 F div dup 40 gt{pop 40}if}D /cs CS D - /cf CF D /CF 0 D /pf PF D /PF f D /Fn FN D /At AT D /AT 0 D /FN EF Hf 1 add - get D Fz Fs FS ZZ Fc Fz mul Fs FS EU Hf 1 add get dup type /arraytype eq - Cf and{VC}{pop 0 Sg}ie IW IL neg YO sub M ZZ 1 GP exec dup SW pop neg 0 R Sh - 0 IL neg YO sub M ZZ 0 GP exec Sh ZZ 2 GP exec dup SW pop IW E sub 2 div - IL neg YO sub M Sh Fz Fs FS NO{/AW IW Pn SW pop sub D AW 2 div IL neg YO sub - S1 0 gt S2 AW .45 mul gt or S3 AW .45 mul gt or{Fz 2 mul sub}if M Pn Sh}if - EU Hf get dup type /arraytype eq Cf and{VC}{pop 0 Sg}ie YY Fc /FN EF Hf get D - Hz mul HS FS IW YO M YY 1 GP exec dup SW pop neg 0 R Sh 0 YO M YY 0 GP exec Sh - YY 2 GP exec dup SW pop IW E sub 2 div YO M Sh /FN Fn D /AT At D t Pb XO SZ - SL get neg R /PF pf D grestore /CF 0 D cs cf FS}if}D -/Sh {dup () ne{CP Hz 4 div sub BB show CP CS add BB}{pop}ie}D -/Pb {/OU E D /Ou OU D /PB t D 0 0 M Ba{/Sa save D /BP t D /Fl t D RC /PL 0 D - /PH 0 D /W IW D /LE IL .7 mul D /EO 0 D SI ZF /YA 0 D /BO 0 D /C1 () D - BA 0 Ts neg R Bb{Xl Yl Xh Yh}if Bb CP Sa restore M - {/Yh E D /Xh E D /Yl E D /Xl E D}if /Fl t D}if - BL /OU t D /HM f D /Ou t D /PB f D} D -/Bs {/BP Ba not D}D -/reencodeISO { - dup dup findfont dup length dict begin{1 index /FID ne{D}{pop pop}ie}forall - /Encoding ISOLatin1Encoding D currentdict end definefont} D -/ISOLatin1Encoding [ -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright -/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash -/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon -/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N -/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright -/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m -/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef -/.notdef/space/exclamdown/cent/sterling/currency/yen/brokenbar -/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot -/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior -/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine -/guillemotright/onequarter/onehalf/threequarters/questiondown -/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla -/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex -/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis -/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute -/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis -/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave -/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex -/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis -/yacute/thorn/ydieresis -] D -[128/backslash 129/parenleft 130/parenright 141/circumflex 142/tilde -143/perthousand 144/dagger 145/daggerdbl 146/Ydieresis 147/scaron 148/Scaron -149/oe 150/OE 151/guilsinglleft 152/guilsinglright 153/quotesinglbase -154/quotedblbase 155/quotedblleft 156/quotedblright 157/endash 158/emdash -159/trademark] -aload length 2 idiv 1 1 3 -1 roll{pop ISOLatin1Encoding 3 1 roll put}for -/colorimage where{pop}{ - /colorimage { - pop pop /Pr E D {/Cv Pr D /Gr Cv length 3 idiv string D 0 1 Gr length 1 sub - {Gr E dup /i E 3 mul D Cv i get 0.299 mul Cv i 1 add get 0.587 mul add - Cv i 2 add get 0.114 mul add cvi put}for Gr} image} D -}ie -/pdfmark where{pop}{userdict /pdfmark /cleartomark load put}ie -WF{FL{reencodeISO D}forall}{4 1 FL length 1 sub{FL E get reencodeISO D}for}ie -/Symbol dup dup findfont dup length dict begin - {1 index /FID ne{D}{pop pop}ie}forall /Encoding [Encoding aload pop] - dup 128 /therefore put D currentdict end definefont D - -/SF {/CS E D SZ SL CS put FO SL FN put /YI CS LH neg mul D dup ST cvs ( ) join - CS ST cvs join C1 E join ( NF ) join /C1 E D CS NF /Wf WF FN 0 gt or D - /BW Wf{( ) SW pop}{0}ie D}D -/NF {/cS E D /cF E D cF 0 ge{FL cF get}{cF -1 eq{/Symbol}{/MySymbol}ie}ie - findfont cS scalefont setfont} D -/FS {CF or /CF E D FR SL CF put CF CF 0 ge{FN 4 mul add}if E SF} D -/PC {SH /BP f D fin not GL not and{NL}if /HM t D /LL LS D} D -/BS {/TX E D Wf{/fin f D /CW 0 D /LK 0 D /SC 0 D - /RT TX D {RT ( ) search{/NW E D pop /RT E D /WH NW SW pop D CW WH add LL gt - {TX SC LK SC sub 1 sub NN GI GL{SH cF cS OC - 2 copy cS ne E cF ne or{NF}{pop pop}ie}{PC /CW WH BW add D}ie - /SC LK D} - {GL{JC}if - /CW CW WH add BW add D /HM t D}ie /GL f D /Ph f D - /LK LK NW length 1 add add D}{pop exit}ie}loop - /fin t D TX SC LK SC sub GI SH RT () ne{GL not{CC}if}if - /LC TX length D /WH RT SW pop D CW WH add Hy{HC SW pop add}if LL gt - {RT GL{SH cF cS OC 2 copy cS ne E cF ne or{NF}{pop pop}ie - Hy{/Ph t D}if /LL LS D}{NL /LL LS D SH}ie} - {RT PC Hy{CC}if /Ph Ph Hy or D}ie RT () ne{/GL t D /HM t D}if} - {TX SW pop LL le{TX SH}{/NW () D 0 2 TX length 1 sub - {/CW E D TX 0 CW GI dup SW pop LL gt{pop NW SH /HM t D NL/LL W XO sub MR sub D - /CW CW 2 sub NN D /TX TX CW TX length CW sub GI D TX BS exit} - {/NW E D}ie}for}ie}ie /HM t D}D -/CC {C0 length 0 gt{JC}if /C0 [C1 L1 YA YB Mf NS NB TB AF Bw] D - /C1 () D /L0 L1 D /YA 0 D /YB 0 D /Mf 0 D /NS 0 D /NB 0 D}D -/JC {C0 aload length 0 gt{pop pop pop NB add /NB E D NS add /NS E D - dup Mf gt{/Mf E D}{pop}ie dup YB gt{/YB E D}{pop}ie - dup YA gt{/YA E D}{pop}ie pop C1 join /C1 E D /C0 [] D}if}D -/OC {C0 length 0 gt{C1 L1 L0 sub YA YB Mf NS NB TB AF Bw GL C0 aload pop - /Bw E D /AF E D /TB E D /NB E D /NS E D /Mf E D /YB E D /YA E D /C0 [] D - /L1 E D /C1 E D Ph{HC SH}if NL /GL E D /Bw E D /AF E D /TB E D /NB E D /NS E D - /Mf E D /YB E D /YA E D /L1 E D /LL W L1 sub XO sub MR sub WH sub D /CW 0 D - C1 E join /C1 E D}if}D -/BT {/LB t D dup length string copy RS dup dup () ne E ( ) ne and - {/CI 0 D /LS LL D /LL W L1 sub XO sub MR sub D BS} - {dup ( ) eq{/GL f D}if dup () eq L1 0 eq or{pop}{SH /BP f D /Ph f D}ie}ie - /LB f D} D -/BL {CP E pop XO E M} D -/NL {JC /GL f D /SK W XO sub MR sub L1 sub TB{Bw add}if D - /YA LF{Mf HM Fl not and PF or{LH mul}if}{0 /LF t D}ie YA 2 copy lt{E}if pop D - C1 () ne{/FB YB Mf SA{Sf mul}if 4 div 2 copy lt{E}if pop D}if Fl{/Ya YA D}if - CP E pop YA sub YB sub LE neg lt Fl not and PB not and{NP}if NT TL BL - OU PF not and PB or{/RE L1 TB{Bw sub}if - W XO sub MR sub div YA YB add LE BO add div 2 copy lt{E}if pop D - RE 1 gt{BL 1 RE div dup scale}if}if - AT 2 le{SK AT mul 2 div YA neg R}if - AT 3 eq{0 YA neg R TB{/NB NB 1 sub D /NS NS 1 sub D}if /NB NB 1 sub NN D - /A3 NS 6 mul NB add D NS NB add 0 eq - {/A1 0 D /A2 0 D} - {NS 0 eq{/A1 SK NB div dup J gt{pop 0}if D /A2 0 D}{J A3 mul SK lt - {/A1 J D /A2 SK J NB mul sub NS div dup Ab gt{/A1 0 D pop 0}if D} - {/A1 SK A3 div D /A2 A1 6 mul D}ie}ie}ie /A1 A1 NN D /A2 A2 NN D}if - AT 4 eq{0 YA neg R PH 2 le{PD 0 lt{/PD L1 D}if PD M1 gt{/M1 PD D}if - L1 PD sub M2 gt{/M2 L1 PD sub D}if}{DV ID 1 sub get 0 ge{Lo 0 R}if}ie}if - F0 cF ne Cs cS ne or{F0 Cs NF}if - /ms Ms D /Ms f D CP FB sub - C1 cvx exec XO EO sub L1 add TB{BW sub}if dup LM gt{/LM E D}{pop}ie - PH 0 eq PH 4 eq or Ms and{HF not{/PO t D /AH t D}if - BB CP YA add E AT 3 eq LB and{A1 sub}if TB{BW sub}if E BB} - {pop pop}ie Ms HM PH 3 eq and or{/BP f D /Fl f D}if - /Lo 0 D /L1 0 D /F0 cF D /Cs cS D BP not{0 YB NN neg R}if - OU f1 and mF not and{k2 /f1 f D}if - OU PF not and PB or{RE 1 gt{RE dup scale}if}if /Ms ms Ms or D - /C1 AF{(Cp )}{()}ie D /YA 0 D /YB 0 D BL - AT 4 eq LB not and PH 3 ge and - {ID DV length lt{DV ID get dup 0 ge{DO E sub /Lo E D /L1 Lo D}{pop}ie - /ID ID 1 add D}if}if /T t D CD{/LN LN 1 add D PD}if - /PD -1 D /NS 0 D /NB 0 D /TB f D /Ph f D /Mf 0 D /HM f D} D -/RS {/TM E D /CN 0 D TM{10 eq{TM CN ( ) PI}if /CN CN 1 add D}forall - /CN 0 D /BK HM EN and{0}{1}ie D TM - {dup 32 ne{TM CN 3 2 roll put /CN CN 1 add D /BK 0 D} - {pop BK 0 eq{TM CN 32 put /CN CN 1 add D}if /BK 1 D}ie}forall - TM 0 CN GI dup dup () ne E ( ) ne and - {dup CN 1 sub get 32 eq{/EN f D}{/EN t D}ie}if} D -/join {2 copy length E length add string dup 4 2 roll 2 index 0 3 index - PI E length E PI}d -/WR {(\n) search{dup () ne BP not or - {Li 4 le CP E pop YI Li mul add LE add 0 lt and PL 0 eq and{NP}if - SH NL pop /Li Li 1 sub D WR}{pop pop WR}ie}{SH}ie /CI 0 D /BP f D} D -/SH {dup dup () ne E ( ) ne and PF or CS Mf gt and{/Mf CS D}if - T not Wf and{( ) E join /T t D}if dup BP{/MF CS D}if - AT 3 eq{2 copy length dup 0 gt{/NB E NB add D - {( ) search{/NS NS 1 add D pop pop}{pop exit}ie}loop}{pop pop}ie}if - CD PD 0 lt and{dup DC search{SW pop /PD E L1 add D pop pop}{pop}ie}if - 0 Np dup SW pop L1 add /L1 E D dup () ne - {C1 (\() join E join (\)) join AU AF and UF or Wf and{( U ) join}if - sF{( s ) join}if ( S ) join - /C1 E D dup length 1 sub get 32 eq /TB E D /Bw BW D}{pop pop}ie} D -/BG {AI LG BC add add 0 eq} D -/ON {OU{Ty AR AI NN get dup 1 add Ln Ns Ty 2 mod 0 eq{(. )}{(\) )}ie join - dup SW pop neg 0 R CP E 0 lt{0 E M}{pop}ie CP BB show /Ms t D}if} D -/Ln {AR AI 3 -1 roll put}D -/SP {dup CI lt BP not and{dup CI sub 0 E R /CI E D}{pop}ie} D -/BN {PF{WR /HM f D}{BT NL}ie} D -/NN {dup 0 lt{pop 0}if} D -/h {(h) HI ST cvs join cvx exec dup 1 get E Nf{0 get E join}{pop}ie} D -/H {/fn FN D /Hi E 1 add D 1 sub /HL E D /H2 HL 2 add D /GS EZ H2 get D - E Tm H2 get GS mul BE dup 0 gt{1 sub}{pop EG H2 get dup 0 lt{pop AT}if}ie NA - WW Np /SL SL 1 add D /FN EF H2 get D GS Ey H2 get FS - EU H2 get Sc Hs not HL Hl lt and Hs HL hl lt and or Hi 0 eq or - {/HI Hi D /Hs t D /hl HL D /Hv HL D}if HL Hl lt{/hi Hi D}if - Nf HI 0 gt and{(h) Hi ST cvs join cvx exec 0 get WB}if - /HF t D /AH f D /PO f D} D -/EH {Bm H2 get GS mul BE OA /SL SL 1 sub NN D /CF 0 D /FN fn D - SZ SL get FR SL get FS /HF f D /GS Ts D ()Ec} D -/P {E PF{WR}{PO{EP}{BN}ie Ts 4 mul Np AE not{Tm 0 get Ts mul neg SP}if - dup 0 ge AH and{Pi Pd}if}ie 1 sub dup 0 lt{pop AV AL get}if /AT E D /PO t D} D -/EP {PF{WR}{BN Ts 4 mul Np}ie AE not{Bm 0 get Ts mul neg SP}if - /AT AV AL get D /PO f D} D -/BE {E PO{EP}{BN}ie Ts 4 mul Np neg SP} D -/HR {/Aw W EO sub D /RW E dup 0 gt{Aw mul}{neg}ie dup Aw gt{pop Aw}if D /RZ E D - E BN Ts neg SP 1 sub 2 div Aw RW sub mul EO add CP E pop M PF{0 Ps neg R}if - 0 Np OU{gsave RZ LW Cf{Hc VC}{0 Sg}ie CP BB RW 0 RL CP BB stroke grestore}if - /CI 0 D /BP f D PF not{Ts neg SP}if /Ms t D} D -/AD {I NL EG 14 get dup 0 lt{pop AT}if NA /AE t D Tm 14 get Ts mul neg SP - Cf{EU 14 get dup -1 eq{pop CA CL get}if Sc}if} D -/DA {BN ()ES OA /AE f D ()Ec Bm 14 get Ts mul neg SP} D -/PR {/MW E D /Li E D Tm 1 get Ps mul BE 0 NA /FN Fp D /PF t D SI /SL SL 1 add D - /CF 0 D Ps CS mul Ts div MW WC mul CS mul Ts div dup LL gt PL 0 eq and - {LL div div}{pop}ie Ey 1 get FS CP E pop LE add YI neg div cvi dup Li lt - AH and{4 lt YI Li mul 5 mul LE add 0 gt or PL 0 eq and{NP}if}{pop}ie - EU 1 get Sc /GS Ps D}D -/RP {WR NL () /PF f D SI /FN 0 D ES Bm 1 get Ps mul neg SP OA /GS Ts D} D -/SI {/XO Lm 15 get BC NN mul Lm 16 get AI UI sub NN mul add - Lm 17 get UI NN mul add Lm 20 get LG NN mul add Ts mul - PF{Lm 1 get Ps mul add}if EO add D - /MR Rm 15 get BC NN mul Rm 16 get AI UI sub NN mul add - Rm 17 get UI NN mul add Rm 20 get LG NN mul add Ts mul - PF{Rm 1 get Ps mul add}if D /LL W XO sub MR sub D} D -/DT {/cC E D BN /LG LG 1 sub D SI /LG LG 1 add D WW 2 div Np BL} D -/DD {WB Cc 0 eq cC 0 eq and L1 0 eq or Lm 20 get Ts mul L1 sub TB{BW add}if - Ts 2 div lt or NL /LF E D SI BL /cC 0 D} D -/DL {Dc LG Cc put /Cc E D BG{Tm 18 get Ts mul BE}{BN}ie /LG LG 1 add D BL} D -/LD {BN LG 0 gt{/LG LG 1 sub D}if /Cc Dc LG get D SI - BG{()Bm 18 get Ts mul BE}if BL} D -/UL {BG{Tm 17 get Ts mul BE}{BN}ie NR AI NN 0 put /UI UI 1 add D - /AI AI 1 add D SI BL} D -/LU {BN /UI UI 1 sub D /AI AI 1 sub D SI BG{()Bm 17 get Ts mul BE}if BL} D -/OL {E BG{Tm 16 get Ts mul BE}{BN}ie TR AI NN Ty put /Ty E D NR AI NN 1 put - /AI AI 1 add D SI BL 1 Ln} D -/LO {BN /AI AI 1 sub D /Ty TR AI get D SI BG{()Bm 16 get Ts mul BE}if BL} D -/LI {E BN -1 SP /BP f D /CI 0 D 0 Np NR AI 1 sub NN get 1 eq - {dup dup 0 gt E 4 le and{/Ty E D}{pop}ie - /L1 L1 Ty AR AI NN get Ns SW pop XO sub dup 0 lt{pop 0}if add D ( ON )} - {pop ( B )}ie C1 E join /C1 E D CS Mf gt{/Mf CS D}if BL} D -/BQ {Tm 15 get Ts mul BE /BC BC 1 add D SI BL} D -/QB {Bm 15 get Ts mul BE /BC BC 1 sub D SI BL} D -/Al {E EP 1 sub dup 0 lt{pop AV AL get}if NA} D -/Ea {EP OA} D -/WB {PF{WR}{BT}ie} D -/F1 {WB /FN 0 D CS 0 FS} D -/F2 {WB /FN WI D CS 0 FS} D -/HY {/Hy t D WB /Hy f D} D -/YH {WB} D -/A {/LT E D LT 1 eq{/RN E D}if /Lh E D WB /C1 C1 ( Cp ) join D - Lc AF not and{Cl Sc}if /AF t D} D -/EA {Lc AF and{Ec}{WB}ie TL Pa AF and Lh 0 ne and - {( \() Lh join (\)) join /AF f D WB}if /AF f D} D -/TL {C1 ( Tl ) apa /C1 E D} d -/apa {AF OU and Lh 0 ne LT 1 eq or and{LT 1 eq{RN ( /) E ST cvs join} - {(\() Lh join (\)) join}ie E join join}{pop}ie} d -/Cp {/Xc CP /Yc E D D} D -/SS {Cf{dup 0 ge{EU E get dup -1 eq{pop CA CL get}if}{pop CA CL get}ie Sc} - {pop}ie SZ SL get /SL SL 1 add D} D -/I {WB 8 SS 1 FS} D -/EM {WB 8 SS /CF CF 1 xor D 0 FS} D -/BD {WB 9 SS 2 FS} D -/TT {WB 10 SS /FN Fp D 0 FS} D -/KB {WB 11 SS /FN Fp D 2 FS} D -/CT {WB 12 SS 1 FS} D -/SM {WB 13 SS /FN Fp D 0 FS} D -/Q {/QL QL 1 add D QO QL 2 mod get La get join WB} D -/EQ {QC QL 2 mod get La get join WB /QL QL 1 sub D} D -/RO {WB -1 SS /CF 0 D 0 FS} D -/SY {WB -1 SS -1 FS} D -/MY {WB -1 SS -2 FS} D -/ES {WB /SL SL 1 sub NN D /CF 0 D /FN FO SL get D SZ SL get FR SL get FS ()Ec}D -/FZ {3 sub 1.2 E exp GS mul E WB TL /C1 C1 ( Cp ) join D /SL SL 1 add D 0 FS} D -/Ef {WB TL ()ES /C1 C1 ( Cp ) join D} D -/BZ {dup /Bf E D FZ}D -/Sc {dup -1 ne Cf and{/CL CL 1 add D dup 0 eq{pop [0 0 0]}if - dup CA E CL E put VS ( VC ) join C1 E join /C1 E D}{pop}ie} D -/Ec {WB Cf{/CL CL 1 sub NN D CA CL get VS ( VC ) join C1 E join /C1 E D}if} D -/VS {dup type /arraytype eq{([) E {ST cvs join ( ) join}forall (]) join}if} D -/VC {{255 div}forall setrgbcolor} D -/Sl {dup type /integertype ne{Ds}if /La E D WB}d -/UN {WB /UF t D} D -/NU {WB /UF f D} D -/SE {WB /sF t D} D -/XE {WB /sF f D} D -/sM {/C1 C1 ( k1 ) join D}d -/eM {/C1 C1 ( k2 ) join D}d -/k1 {/YC CP E pop Ts add D /mF t D /f1 t D}d -/k2 {gsave 3 LW -9 CP E pop Ts 0.2 mul sub M -9 YC L stroke grestore /mF f D}d -/Ac {/AC E D WB}d -/Ca {eA{( \()join AC join(\) )join}if WB}d -/s {OU{gsave 0 CS .25 mul R dup SW pop CJ 0 RL stroke grestore}if}D -/CJ {AT 3 eq LB and{E dup dup length 1 sub A1 mul E - {( ) search{pop pop E A2 add E}{pop exit}ie}loop 3 -1 roll add - W CP pop sub 2 copy gt{E}if pop}if}D -/So {/Co E D} D -/SO {C1 Yo ST cvs join ( So ) join /C1 E D (j) SW pop 2 div Pd} D -/Se {E WB CS E div Pd}D -/Pd {dup type /stringtype eq{SW pop}if dup /L1 E L1 add D - ST cvs ( 0 R ) join C1 E join /C1 E D} D -/Sp {0.35 CO} D -/Sb {-0.2 CO} D -/CO {OV Io Yo put /Yo E CS mul Yo add D /Io Io 1 add D -1.5 Io mul 3 add FZ SO - CS Yo add dup YA gt{/YA E D}{pop}ie - Yo neg dup YB gt{/YB E D}{pop}ie} D -/Es {ES /Io Io 1 sub NN D /Yo OV Io get D SO} D -/SB {/N2 0 D 0 1 NI{/N E D{IX N2 get 0 lt{/N2 N2 1 add D}{exit}ie}loop - /K WS N get FC N get mul D /NY AY N2 get D /BV NY array D - 0 1 NY 1 sub{/TM K string D currentfile TM readhexstring pop pop BV E TM put} - for BM N BV put /N2 N2 1 add D}for} D -/IC [{/MA E D /MB 0 D}{2 div /MA E D /MB MA D}{/MB E CS sub D /MA CS D} - {pop /MA YS AB mul D /MB 1 AB sub YS mul D}{pop /MA 0 D /MB 0 D}] D -/IP {BV N get /N N 1 add D} D -/II {/K E D IX K get 0 lt{/EC E D}if /TY E D - TY 4 eq{/Y E D /X E D}if TY 3 eq{/AB E D}if - /XW AX K get D /YW AY K get D /IS SG IT K get get D /XS XW IS mul D - /YS YW IS mul D YS IC TY get exec /MA MA Fl not{3 add}if D} D -/IM {II /ty TY D /xs XS D /ys YS D /ya YA D /yb YB D /ma MA D /mb MB D /k K D - /ec EC D /BP f D /CI 0 D WB TL L1 xs add dup XO add MR add W gt - {pop /ma ma Fl{3 add}if D NL /YA ma D /YB mb D /YS ys D /L1 xs D} - {/L1 E D ma YA gt{/YA ma D}if mb YB gt{/YB mb D}if}ie /TB f D - OU{CP E pop YS sub LE neg lt Fl not and PB not and{NP /YA ma D /YB mb D}if - /BP f D ty ST cvs ( ) join IX k get 0 lt{(\() join ec join (\) ) join}if - k ST cvs join ty 3 eq{AB ST cvs ( ) join E join}if - ty 4 eq{X ST cvs ( ) join Y ST cvs join ( ) join E join}if C1 E join - ( DI ) join FP 2 eq FP 1 eq AF and or{( FM ) join}if - ( Il Cp ) apa /C1 E D /EN f D}if /HM t D /T f D} D -/DI {II /Xc CP /Yc E D D /YN YW neg D /HM t D /CI 0 D /K2 IX K get D gsave - TY 4 eq{OX X IS mul add OY FY add YS sub Y IS mul sub} - {/FY YS D CP MB sub 2 copy /OY E D /OX E D}ie - translate K2 0 ge{/DP AZ K2 get D /BV BM K2 get D XS YS scale /N 0 D XW YW DP - [XW 0 0 YN 0 YW] {IP} FC K2 get 1 eq{image}{f 3 colorimage}ie} - {EX}ie grestore XS 0 R /Ms t D} D -/FM {gsave 0 Sg CP MB sub translate XS neg 0 M 0 YS RL XS 0 RL 0 YS neg RL - XS neg 0 RL stroke grestore} D -/NA {/AT E D /AL AL 1 add D AV AL AT put} D -/OA {AL 0 gt{/AL AL 1 sub D /AT AV AL get D}if} D -/D1 {/BR {CP E pop E BN Mb{CP E pop eq{0 YI R}if}{pop}ie} D - /Sn {OU{C1 E ST cvs join ( Ld ) join /C1 E D}{pop}ie} D} D -/D1 {/BR {BN} D /Sn {OU {C1 E ST cvs join ( Ld ) join /C1 E D} {pop} ie} D} D -/TC {/TF t D /ML 0 D HN{SW pop dup ML gt{/ML E D}{pop}ie}forall NP /RM RM not D - RC /OU Tc D Ep /PN 0 D Ms not TP and{Ip}if /W IW ML sub Ts sub D - /A0 0 D TH{/BR {( ) join BT} D /Sn {pop} D /Au () D}if} D -/TN {0 eq{E EA PF HF or not XR and{HN E get Xr}{pop}ie} - {OU{Tn 0 ge{() BN}if /Tn E D}{pop}ie WB}ie} D -/NT {OU LB not and Tn 0 ge and{PL 0 eq{Ms not{CS CF FS}if CP dup - /y E YA sub D W 9 sub CS -1.8 mul XO L1 add 2 add{y M (.) show}for - HN Tn get dup SW pop IW E sub y M show CP BB M}if /Tn -1 D}if} D -/Ld {/DN E D HN DN Pn put [/View [/XYZ -4 Fl{PS}{CP YA add US E pop}ie null] - /Dest DN ST cvs cvn /DEST pdfmark} D -/C {ND 1 eq{1 sub}if TI mul /XO E D NL Nf not{pop()}if 0 3 -1 roll 1 A} D -/OP {BP not{NP}if PN 2 mod 0 eq{/Ms t D NP}if}D -/Ep {Xp PN 2 mod 0 eq and OU and{/Pn (-) D showpage /PM 1 D LA}if}D -/Dg [73 86 88 76 67 68 77] D -/Rd [0 [1 1 0][2 1 0][3 1 0][2 1 1][1 1 1][2 2 1][3 3 1][4 4 1][2 1 2]] D -/Ns {/m E D /c E 32 mul D /j m 1000 idiv D /p j 12 add string D - c 96 le m 0 gt and{c 32 le {/i 0 D /d 77 D /l 100 D /m m j 1000 mul sub D - j -1 1 {pop p i d c add put /i i 1 add D}for - 4 -2 0 {/j E D /n m l idiv D /m m n l mul sub D /d Dg j get D - n 0 gt {/x Rd n get D x 0 get -1 1 {pop p i d c add put /i i 1 add D}for - p i x 1 get sub Dg x 2 get j add get c add put}if /l l 10 idiv D - }for p 0 i GI} - {/i ST length 1 sub D m {1 sub dup 0 ge{dup 26 mod c add 1 add - ST i 3 -1 roll put 26 idiv dup 0 eq{pop exit}if}if /i i 1 sub D}loop - ST i ST length i sub GI}ie} - {m p cvs}ie} D -/US {matrix currentmatrix matrix defaultmatrix matrix invertmatrix - matrix concatmatrix transform} D -/GB {Gb{US}if}D -/Tl {/Rn E D Xc CP pop ne{ - [/Rect [Xc 1 sub Yc cS 0.25 mul sub GB CP E 1 add E cS 0.85 mul add GB] - /Subtype /Link /Border [0 0 Cf Lc and LX and AU or{0}{1}ie] Rn type - /nametype eq {/Dest Rn}{/Action [/Subtype /URI /URI Rn] Cd}ie - /ANN pdfmark}if} D -/Il {/Rn E D [/Rect [Xc Yc GB Xc XS add Yc YS add GB] /Subtype /Link - /Border [0 0 0] Rn type /nametype eq{/Dest Rn} - {/Action [/Subtype /URI /URI Rn] Cd}ie /ANN pdfmark} D -/XP {[{/Z Bz 2 div D Z 0 R Z Z RL Z neg Z RL Z neg Z neg RL Z Z neg RL - Fi cH 1 eq and{fill}if} {Bz 0 RL 0 Bz RL Bz neg 0 RL 0 Bz neg RL - Fi cH 1 eq and{fill}if} {0 -5 R Bz 0 RL 0 21 RL Bz neg 0 RL 0 -21 RL}]} D -/MS {/Sm E D WB}D -/O {BN()0 Sm BX} D -/BX {/Bt E D Bt 2 lt{/Ch E D CS 0.8 mul}{11 mul}ie W XO sub MR sub - 2 copy gt{E}if pop /HZ E D Bt 2 eq{Fi not{pop()}if ( )E join /Ft E D TT - /PF t D /MW 1 D /Li 1 D /Fw Ft SW pop D Fw HZ gt{/HZ Fw 8 add D}if - HZ ST cvs( )join}{WB Ch ST cvs( )join}ie L1 HZ add XO add MR add W gt{NL}if - Bt 2 eq{Ft ES Fw neg HM{CS sub}if Pd}if Bt ST cvs join( Bx )join - Bt 2 eq HM and{CS Pd}if C1 E join /C1 E D /L1 L1 HZ add D /T f D - ( ) Pd /PF f D Bt 2 lt{YA CS .8 mul lt{/YA CS .8 mul D}if} - {YB 5 lt{/YB 5 D}if YA 21 lt{/YA 21 D}if}ie /CI 0 D} D -/Bx {dup 2 eq{E /Bz E D}{E /cH E D /Bz CS .8 mul D}ie - OU {gsave 0 Sg XP E get exec stroke grestore}{pop}ie Bz 0 R /Ms t D}D -/SD {FD 4 mul Dy add DZ NF newpath 0 0 M DX t charpath pathbbox - 3 -1 roll sub /DY E D E dup /X1 E D sub WM mul WX DY mul add WM DG mul E div - /DF E D /DR WX DF mul DY mul WM div 2 div D} d -/Sd {gsave 0 IL Di mul neg translate IL IW atan Di 0 eq{neg}if rotate - FD 4 mul Dy add DZ NF DR X1 sub DY 2 div neg M cD VC DX show grestore} d -/Pt {/tp t D Tp{NP /Pn (TP) D 0 Tt neg R Th BN NP Ep ET RC ZF}if /tp f D} D -/RC {/AI 0 D /LG 0 D /BC 0 D /UI 0 D /PF f D /Cc 0 D /cC 0 D /Dc 10 array D - /NR [0 1 9{pop 0}for] D /La Ds D /AR 10 array D /TR 10 array D /AV 30 array D - SI /AL -1 D /AT A0 D AT NA /OV 9 array D /Yo 0 D /Co 0 D /Io 0 D /Hy f D - /Ph f D /CL -1 D Ct Sc}D -/ZF {/FR [0 1 30{pop 0}for] D /SZ [0 1 30{pop 0}for] D /FO [0 1 30{pop 0}for] D - /SL 0 D /CF 0 D /FN 0 D 0 Ts SF}D -/QO [[(\234)(\233)(\253\240)(\232)(\273)(\253)][(')(`)(\253\240)(\231)(\273)(\253)]] D -/QC [[(\234)(\234)(\240\273)(\233)(\253)(\273)][(')(')(\240\273)(`)(\253)(\273)]] D -/Hf EF length 2 sub D -/Hz EZ Hf get D -/HS Ey Hf get D -/Fz EZ Hf 1 add get D -/Fs Ey Hf 1 add get D -/LE IL D -/Ps EZ 1 get D -/Fp EF 1 get D -/XO 0 D -/YI 0 D -/CI 0 D -/FP 0 D -/WW Ts 7 mul D -/Mf 0 D -/YA 0 D -/YB 0 D -/Cs Ts D -/GS Ts D -/F0 0 D -/NS 0 D -/NB 0 D -/N 0 D -/C0 [] D -/C1 () D -/Lo 0 D -/L1 0 D -/LM 0 D -/PH 0 D -/EC 0 D -/Lh 0 D -/LT 0 D -/CH 1 string D -/ST 16 string D -/CA 9 array D -/HC (\255) D -/HM f D -/PF f D -/EN f D -/TB f D -/UF f D -/sF f D -/AE f D -/AF f D -/BP t D -/CD f D -/PA t D -/GL f D -/T t D -/HF f D -/AH f D -/SA f D -/PB f D -/f1 f D -/mF f D -/OX 0 D -/OY 0 D -/FY 0 D -/EO 0 D -/FB 0 D -/PL 0 D -/Bw 0 D -/PD -1 D -/TP f D -/tp f D -/TH t D -/Ty 4 D -/Tn -1 D -/Fl t D -/LB t D -/PM 1 D -/Ms f D -/Ba f D -/Bb f D -/Hl 3 D -/hl 6 D -/Hv 6 D -/Hs f D -/HI 0 D -/hi 0 D -/PO t D -/TE f D -/LF t D -/BO 0 D -/Sm 1 D -/Bf 3 D -/A1 0 D -/A2 0 D -/Ds 1 D -/QL -1 D -/Cb Db D -/Ct Dt D -/Cl Dl D -[/Creator (html2ps version 1.0 beta7) /Author () /Keywords (xsd, xml, schema, c++, mapping, data, binding, tree, serialization, guide, manual, examples) /Subject () - /Title (C++/Tree Mapping User Manual) /DOCINFO pdfmark -/ND 1 D -/HN [(1) (1) (1) (1) (1) (1) (1) (2) (2) (2) (2) (3) (3) (4) (4) (5) (5) (5) -(6) (6) (7) (7) (??) (10) (11) (12) (13) (14) (16) (19) (20) (21) (22) (24) -(24) (25) (26) (27) (28) (29) (29) (30) (31) (32) (33) (37) (37) (37) (39) -(41) (45) (48) (55) (55) (58) (59) (60) (62) (64) (65) (68) (74) (75) (80) -(82) (85) (85) (86) (88) (89) (89) (90) (91) (91) (91) (92) (92) (93) (93) -(94) (94) (94) (96) (97) (99) (99) (100) (100) (100) (101) (101) (102) (103) -(103) (106) (107) (??) (1) (1) (1) (1) (2) (2) (2) (2) (3) (3) (4) (4) (5) -(5) (5) (6) (6) (7) (7) (10) (11) (12) (13) (14) (16) (19) (20) (21) (22) -(24) (24) (25) (26) (27) (28) (29) (29) (30) (31) (32) (33) (37) (37) (37) -(39) (41) (45) (48) (55) (55) (58) (59) (60) (62) (64) (65) (68) (74) (75) -(80) (82) (85) (85) (86) (88) (89) (89) (90) (91) (91) (91) (92) (92) (93) -(93) (94) (94) (94) (96) (97) (99) (99) (100) (100) (100) (101) (101) (102) -(103) (103) (106) (107)] D -/h0 [()(Table of Contents)] D -/h1 [(1\240\240)(Preface)] D -/h2 [(1.1\240\240)(About This Document)] D -/h3 [(1.2\240\240)(More Information)] D -/h4 [(2\240\240)(1 Introduction)] D -/h5 [(3\240\240)(2 C++/Tree Mapping)] D -/h6 [(3.1\240\240)(2.1 Preliminary Information)] D -/h7 [(3.1.1\240\240)(2.1.1 C++ Standard)] D -/h8 [(3.1.2\240\240)(2.1.2 Identifiers)] D -/h9 [(3.1.3\240\240)(2.1.3 Character Type and Encoding)] D -/h10 [(3.1.4\240\240)(2.1.4 XML Schema Namespace)] D -/h11 [(3.1.5\240\240)(2.1.5 Anonymous Types)] D -/h12 [(3.2\240\240)(2.2 Error Handling)] D -/h13 [(3.2.1\240\240)(2.2.1 xml_schema::duplicate_id)] D -/h14 [(3.3\240\240)(2.3 Mapping for import and include)] D -/h15 [(3.3.1\240\240)(2.3.1 Import)] D -/h16 [(3.3.2\240\240)(2.3.2 Inclusion with Target Namespace)] D -/h17 [(3.3.3\240\240)(2.3.3 Inclusion without Target Namespace)] D -/h18 [(3.4\240\240)(2.4 Mapping for Namespaces)] D -/h19 [(3.5\240\240)(2.5 Mapping for Built-in Data Types)] D -/h20 [(3.5.1\240\240)(2.5.1 Inheritance from Built-in Data Types)] D -/h21 [(3.5.2\240\240)(2.5.2 Mapping for anyType)] D -/h22 [(3.5.3\240\240)(2.5.3 Mapping for anySimpleType)] D -/h23 [(3.5.4\240\240)(2.5.4 Mapping for QName)] D -/h24 [(3.5.5\240\240)(2.5.5 Mapping for IDREF)] D -/h25 [(3.5.6\240\240)(2.5.6 Mapping for base64Binary and hexBinary)] D -/h26 [(3.6\240\240)(2.5.7 Time Zone Representation)] D -/h27 [(3.7\240\240)(2.5.8 Mapping for date)] D -/h28 [(3.8\240\240)(2.5.9 Mapping for dateTime)] D -/h29 [(3.9\240\240)(2.5.10 Mapping for duration)] D -/h30 [(3.10\240\240)(2.5.11 Mapping for gDay)] D -/h31 [(3.11\240\240)(2.5.12 Mapping for gMonth)] D -/h32 [(3.12\240\240)(2.5.13 Mapping for gMonthDay)] D -/h33 [(3.13\240\240)(2.5.14 Mapping for gYear)] D -/h34 [(3.14\240\240)(2.5.15 Mapping for gYearMonth)] D -/h35 [(3.15\240\240)(2.5.16 Mapping for time)] D -/h36 [(3.16\240\240)(2.6 Mapping for Simple Types)] D -/h37 [(3.16.1\240\240)(2.6.1 Mapping for Derivation by Restriction)] D -/h38 [(3.16.2\240\240)(2.6.2 Mapping for Enumerations)] D -/h39 [(3.16.3\240\240)(2.6.3 Mapping for Derivation by List)] D -/h40 [(3.16.4\240\240)(2.6.4 Mapping for Derivation by Union)] D -/h41 [(3.17\240\240)(2.7 Mapping for Complex Types)] D -/h42 [(3.17.1\240\240)(2.7.1 Mapping for Derivation by Extension)] D -/h43 [(3.17.2\240\240)(2.7.2 Mapping for Derivation by Restriction)] D -/h44 [(3.18\240\240)(2.8 Mapping for Local Elements and Attributes)] D -/h45 [(3.18.1\240\240)(2.8.1 Mapping for Members with the One Cardinality Class)] D -/h46 [(3.18.2\240\240)(2.8.2 Mapping for Members with the Optional Cardinality Class)] D -/h47 [(3.18.3\240\240)(2.8.3 Mapping for Members with the Sequence Cardinality Class)] D -/h48 [(3.18.4\240\240)(2.8.4 Element Order)] D -/h49 [(3.19\240\240)(2.9 Mapping for Global Elements)] D -/h50 [(3.19.1\240\240)(2.9.1 Element Types)] D -/h51 [(3.19.2\240\240)(2.9.2 Element Map)] D -/h52 [(3.20\240\240)(2.10 Mapping for Global Attributes)] D -/h53 [(3.21\240\240)(2.11 Mapping for xsi:type and Substitution Groups)] D -/h54 [(3.22\240\240)(2.12 Mapping for any and anyAttribute)] D -/h55 [(3.22.1\240\240)(2.12.1 Mapping for any with the One Cardinality Class)] D -/h56 [(3.22.2\240\240)(2.12.2 Mapping for any with the Optional Cardinality Class)] D -/h57 [(3.22.3\240\240)(2.12.3 Mapping for any with the Sequence Cardinality Class)] D -/h58 [(3.22.4\240\240)(2.12.4 Element Wildcard Order)] D -/h59 [(3.22.5\240\240)(2.12.5 Mapping for anyAttribute)] D -/h60 [(3.23\240\240)(2.13 Mapping for Mixed Content Models)] D -/h61 [(4\240\240)(3 Parsing)] D -/h62 [(4.1\240\240)(3.1 Initializing the Xerces-C++ Runtime)] D -/h63 [(4.2\240\240)(3.2 Flags and Properties)] D -/h64 [(4.3\240\240)(3.3 Error Handling)] D -/h65 [(4.3.1\240\240)(3.3.1 xml_schema::parsing)] D -/h66 [(4.3.2\240\240)(3.3.2 xml_schema::expected_element)] D -/h67 [(4.3.3\240\240)(3.3.3 xml_schema::unexpected_element)] D -/h68 [(4.3.4\240\240)(3.3.4 xml_schema::expected_attribute)] D -/h69 [(4.3.5\240\240)(3.3.5 xml_schema::unexpected_enumerator)] D -/h70 [(4.3.6\240\240)(3.3.6 xml_schema::expected_text_content)] D -/h71 [(4.3.7\240\240)(3.3.7 xml_schema::no_type_info)] D -/h72 [(4.3.8\240\240)(3.3.8 xml_schema::not_derived)] D -/h73 [(4.3.9\240\240)(3.3.9 xml_schema::no_prefix_mapping)] D -/h74 [(4.4\240\240)(3.4 Reading from a Local File or URI)] D -/h75 [(4.5\240\240)(3.5 Reading from std::istream)] D -/h76 [(4.6\240\240)(3.6 Reading from xercesc::InputSource)] D -/h77 [(4.7\240\240)(3.7 Reading from DOM)] D -/h78 [(5\240\240)(4 Serialization)] D -/h79 [(5.1\240\240)(4.1 Initializing the Xerces-C++ Runtime)] D -/h80 [(5.2\240\240)(4.2 Namespace Infomap and Character Encoding)] D -/h81 [(5.3\240\240)(4.3 Flags)] D -/h82 [(5.4\240\240)(4.4 Error Handling)] D -/h83 [(5.4.1\240\240)(4.4.1 xml_schema::serialization)] D -/h84 [(5.4.2\240\240)(4.4.2 xml_schema::unexpected_element)] D -/h85 [(5.4.3\240\240)(4.4.3 xml_schema::no_type_info)] D -/h86 [(5.5\240\240)(4.5 Serializing to std::ostream)] D -/h87 [(5.6\240\240)(4.6 Serializing to xercesc::XMLFormatTarget)] D -/h88 [(5.7\240\240)(4.7 Serializing to DOM)] D -/h89 [(6\240\240)(5 Additional Functionality)] D -/h90 [(6.1\240\240)(5.1 DOM Association)] D -/h91 [(6.2\240\240)(5.2 Binary Serialization)] D -/h92 [(7\240\240)(Appendix A \236 Default and Fixed Values)] D -/Hr [97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 -115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 -133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 -151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 -169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 -187 188]D -/HV [1 2 2 1 1 2 3 3 3 3 3 2 3 2 3 3 3 2 2 3 3 3 3 3 3 2 2 2 2 2 2 2 2 -2 2 2 3 3 3 3 2 3 3 2 3 3 3 3 2 3 3 2 2 2 3 3 3 3 3 2 1 2 2 2 3 3 3 3 3 -3 3 3 3 2 2 2 2 1 2 2 2 2 3 3 3 2 2 2 1 2 2 1]D -/Cn [2 0 0 0 23 5 0 0 0 0 0 1 0 3 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0 4 0 0 0 0 2 0 0 4 0 0 0 0 2 0 0 0 0 5 0 0 0 0 0 0 7 0 0 9 0 0 0 0 0 -0 0 0 0 0 0 0 0 7 0 0 0 3 0 0 0 0 0 0 2 0 0 0]D -Hr length 0 gt{[/PageMode /UseOutlines /DOCVIEW pdfmark}if -/Hn 1 D -0 1 Hr length 1 sub{ - /Bn E D [Cn Bn get dup 0 gt{/Count E HV Bn get Bl ge{neg}if}{pop}ie - /Dest Hr Bn get dup abs ST cvs cvn E 0 ge{(h)Hn ST cvs join cvx exec - dup 1 get E Nf{0 get E join}{pop}ie /Hn Hn 1 add D}{()}ie - /Title E dup length 255 gt{0 255 getinterval}if /OUT pdfmark}for -ZF /FN Fp D Ps 0 FS /WC Wf{( )}{<A1A1>}ie SW pop D -ET RC ZF -/Df f D -/R0 (http://www.codesynthesis.com/licenses/fdl-1.2.txt) D -/R1 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/index.xhtml) D -/R2 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.pdf) D -/R3 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.ps) D -/R1 (http://www.codesynthesis.com/products/xsd) D -/R2 (http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/index.xhtml) D -/R3 (http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.pdf) D -/R4 (http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.ps) D -/R5 (http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/) D -/R6 (http://wiki.codesynthesis.com/Tree/Customization_guide) D -/R7 (http://wiki.codesynthesis.com/Tree/FAQ) D -/R8 (http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml) D -/R9 (http://www.codesynthesis.com/mailman/listinfo/xsd-users) D -/R10 (http://www.codesynthesis.com/pipermail/xsd-users/) D -/R11 (http://en.wikipedia.org/wiki/Character_code) D -/TS { - tables E get /table E D - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D pop pop - /w W D /eps 0.1 D /OU f D /PL 1 D - /FN EF 21 get D EZ 21 get Ey 21 get FS - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - pass 0 eq cspan 1 eq and pass 1 eq cspan 1 gt and or{ - /W 1e5 D /LL W D /PH 1 D - ctype 1 eq{() BD}if - RC align NA - AT 4 eq{/CD t D /DC dp D /LN 0 D /M1 0 D /M2 0 D}{/CD f D}ie - 0 0 M /LM 0 D proc exec BN - AT 4 eq{ - LN array astore cell 15 3 -1 roll put - cdesc icol get dup dup 5 get M1 lt{5 M1 put}{5 get /M1 E D}ie - dup 6 get M2 lt{6 M2 put}{6 get /M2 E D}ie - /LM M1 M2 add D - }if - /CD f D - ang 0 ne{/LM CP E pop neg D}if - /thiswid LM left add right add eps add D - /oldmin 0 D /oldmax 0 D - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 get /oldmax E oldmax add D - 1 get /oldmin E oldmin add D - }for - thiswid oldmax ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 2 E 2 get oldmax 0 eq - {pop thiswid cspan div}{thiswid mul oldmax div}ie - put - }for - }if - nowrap 1 eq{ - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }{ - /W 0 D /LL W D /PH 2 D - ctype 1 eq{() ES () BD}if - 0 0 M /LM 0 D RC proc exec BN - /thiswid LM left add right add eps add D - thiswid oldmin ge{ - 0 1 cspan 1 sub{ - icol add cdesc E get dup 1 E 1 get oldmin 0 eq - {pop thiswid cspan div}{thiswid mul oldmin div}ie - put - }for - }if - }ie - ctype 1 eq{() ES}if - }if - }if - }for - }for - }for - /tmin 0 D /tmax 0 D - 0 1 ncol{ - cdesc E get dup 1 get E 2 get 2 copy gt{pop dup}if - tmax add /tmax E D tmin add /tmin E D - }for - twid 0 lt{twid neg IW gt{IW neg}{twid}ie /twid E D}if - tdesc 0 twid neg tmin 2 copy lt{E}if pop put - tdesc 1 twid neg tmax 2 copy lt{E}if pop put - /W w D /LL W D /OU t D /PH 0 D /PL 0 D -} D -/PT { - /PL PL 1 add D - tables E get /table E D Tm 21 get Ts mul BE - PL 2 ge{save}if - /SL SL 1 add D /FN EF 21 get D EZ 21 get Ey 21 get FS - table aload pop /rdesc E D /cdesc E D /tdesc E D - tdesc aload pop /capalg E D /caption E D /rules E D /frame E D /nfoot E D - /nhead E D /ncol E D /nrow E D /border E D /twid E D /units E D /talign E D - /flow E D /clear E D /tclass E D /tmax E D /tmin E D - /w W D /xo XO D /mr MR D /ll LL D /lg LG D /ai AI D /bc BC D /nr NR D /ar AR D - /tr TR D /ui UI D /ph PH D /a0 A0 D /pf PF D /at AT D /av AV D /al AL D - /Le LE D /la La D - talign 0 lt{/talign AL 0 gt{AV AL get}{A0 2 le{A0}{0}ie}ie D}if - ph 1 eq ph 2 eq or{ - NL ph 1 eq{tmax}{tmin}ie dup XO add LM gt{/LM E XO add D}{pop}ie LM E - }{ - /PH 3 D /LE 1e5 D RC %ZF - border 0 gt{/border 1 D}if - /twidth 0 D /avail W xo sub D - twid 0 eq{0 1 ncol{cdesc E get dup 2 get E 3 get dup 0 gt{div neg dup twid lt - {/twid E D}{pop}ie}{pop pop}ie}for}if - /twid twid dup 0 lt{neg avail 2 copy gt{E}if pop}{avail mul}ie D - /OK t D 0 1 ncol{cdesc E get dup 1 get E 3 get twid mul gt{/OK f D}if}for - 0 1 ncol{ - cdesc E get dup 1 get /colmin E D dup 3 get /cwid E twid mul D dup - tmax avail le{2 get}if - tmin avail le tmax avail gt and{ - dup 2 get E 1 get dup 3 1 roll sub avail tmin sub mul tmax tmin sub div add - }if - tmin avail gt{1 get}if - 0 E colmin cwid lt OK and{pop cwid}if dup /twidth E twidth add D put - }for - /OU f D CP - tmin twid le{ - 0 1 ncol{cdesc E get dup 0 get twidth div twid mul 0 E put}for - /twidth twid D - }if - CP printcap CP E pop sub /caphig E D pop - 0 1 1{ - /pass E D - 0 1 nrow{ - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D pop pop pop - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /W 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /W E W add D}for - pass 0 eq rspan 1 eq and pass 1 eq rspan 1 gt and or{ - ctype 1 eq{() BD}if - /W W left sub right sub D /XO 0 D /EO 0 D SI - /A0 align D RC align NA - AT 4 eq{ - /DC dp D /DO 0 D /ID 1 D - 0 1 DV length 1 sub{DV E get dup DO gt{/DO E D}{pop}ie}for - /Lo DO DV 0 get sub D /L1 Lo D - }if - 0 0 M /BP t D /Fl t D /MF 0 D /FB 0 D - proc exec T not{/CI 0 D}if BN 0 FB neg R MF 0 eq{/MF CS D}if - CP /thishig E neg bot add top add CI add D pop - ang 0 ne{/thishig LM bot add top add D}if - cell 16 MF put cell 17 Ya put cell 18 thishig put - valign 4 eq{ - /below thishig Ya sub D - rdesc irow get dup dup 4 get Ya lt - {4 Ya put}{4 get /Ya E D}ie - dup 5 get below lt{5 below put}{5 get /below E D}ie - /thishig Ya below add D - }if - ctype 1 eq{()ES}if - /oldhig 0 D - 0 1 rspan 1 sub{ - irow add rdesc E get 0 get /oldhig E oldhig add D - }for - thishig oldhig ge{ - 0 1 rspan 1 sub{ - irow add rdesc E get dup 0 E 0 get oldhig 0 eq - {pop thishig rspan div}{thishig mul oldhig div}ie - put - }for - }if - }if - }if - }for - }for - }for M RC %ZF - /thight 0 D /racc 0 D /maxh 0 D /brk 0 D /rbeg nhead nfoot add D - 0 1 nrow{ - rdesc E get dup 0 get dup /thight E thight add D - brk 0 eq{/racc E D}{/racc E racc add D}ie - racc maxh gt{/maxh racc D}if 2 get /brk E D - }for - ph 3 ge{thight caphig add E}if - ph 0 eq ph 4 eq or{ - /PH 4 D /LE Le D /OU Ou D /yoff 0 D /headsz 0 D - 0 1 nhead 1 sub{rdesc E get 0 get headsz add /headsz E D}for - /footsz 0 D - 0 1 nfoot 1 sub{rdesc E nhead add get 0 get footsz add /footsz E D}for - /ahig LE BO add MI add D /maxh maxh headsz add footsz add D - /thight thight headsz add footsz add D - tmin avail gt maxh ahig gt or - {/Sf avail tmin div dup ahig maxh div gt{pop ahig maxh div}if D /SA t D} - {/Sf 1 D}ie - tclass 1 eq thight LE 15 sub gt and - {/SA t D LE 15 sub thight div dup Sf lt{/Sf E D}{pop}ie}if - SA{Sf Sf scale /ll ll Sf div D /xo xo Sf div D /LE LE Sf div D - /mr mr Sf div D /BO BO Sf div D /ahig ahig Sf div D}if - nhead nfoot add getwid - LE CP E pop add capalg 0 eq{caphig sub}if - bT{f}{dup thight lt thight ahig lt and}ie - E headsz sub footsz sub rwid lt or{NP}if - capalg 0 eq{printcap -8 SP}if - CP /ycur E D pop - printhead - rbeg 1 nrow{/row E D row - getwid - ycur yoff add rwid sub footsz sub LE add 0 lt - {nfoot 0 gt{printfoot}if Tf NP /rbeg irow1 D - Ba{MI /MI MI SA{Sf div}if D MI SP /MI E D}if - CP /ycur E D pop /yoff 0 D printhead}if - irow1 printrow - }for - printfoot /row row 1 add D Tf - 0 ycur yoff add M - capalg 1 eq{/EO 0 D SI -3 SP printcap}if - Sf 1 lt{1 Sf div dup scale /ll ll Sf mul D /xo xo Sf mul D /LE LE Sf mul D - /mr mr Sf mul D /BO BO Sf mul D /SA f D}if - /EO 0 D - }if - }ie - /W w D /XO xo D /MR mr D /LL ll D /LG lg D /AI ai D /BC bc D /NR nr D /AR ar D - /TR tr D /UI ui D /PH ph D /A0 a0 D /PF pf D /AT at D /AV av D /AL al D - /La la D - /SL SL 1 sub NN D /CF 0 D /FN 0 D SZ SL get FR SL get FS Wf not{()F2}if - PL 2 ge{Ms E restore Ms or /Ms E D PH 1 eq PH 2 eq or - {/LM E D}if PH 3 ge{/CI 0 D NL 0 E neg R}if - }if - /PL PL 1 sub D /CI 0 D /BP f D /PO f D () Bm 21 get Ts mul BE BL %CF CS SF -} D -/printcap{ - capalg 0 ge{ - SA{/W w Sf div D} - {talign 1 eq{/XO xo ll twidth sub 2 div add D}if - talign 2 eq{/XO xo ll twidth sub add D}if - /W XO twidth add D - }ie /XO xo D /LL W XO sub MR sub D - /PA f D /Fl capalg 0 eq D - 1 NA BL caption exec BN OA /PA t D - }if -} D -/getwid{ - /irow1 E D - /irow2 irow1 D - /rwid 0 D - {rdesc irow2 get dup 0 get rwid add /rwid E D 2 get 0 eq - {exit}{/irow2 irow2 1 add D}ie - }loop -} D -/printrow{ - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /xleft xoff xo add D - /irow E D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - cell aload pop /ang E D /CB E D /cvsize E D /above E D /fontsz E D - /DV E D /bot E D /top E D /right E D /left E D /nowrap E D /valign E D - /dp E D /align E D /rspan E D /cspan E D /cclass E D /ctype E D /cmax E D - /cmin E D /proc E D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - /W xo xoff add width add right sub D - ang 0 ne{/W xo xoff add hight add right sub D}if - /EO xo xoff add left add D SI - Cf{ - gsave CB VC xo xoff add ycur yoff add M - 0 hight neg RL width 0 RL 0 hight RL width neg 0 RL fill - grestore - }if - ctype 1 eq{() BD}if - /A0 align D RC - AT 4 eq{ - /DC dp D /ID 1 D /DO cdesc icol get 5 get D /Lo DO DV 0 get sub D /L1 Lo D - }if - ang 0 ne{ - gsave ang 90 eq - {xoff ycur add hight cvsize sub 2 div sub ycur hight sub xoff sub} - {xoff ycur sub width add hight cvsize sub 2 div add ycur xoff add}ie - translate ang rotate - }if - valign 3 le{0 ycur yoff add top sub - hight cvsize sub valign 1 sub mul 2 div sub M} - {0 ycur yoff add top sub above add rdesc irow get 4 get sub M}ie - /PA f D /BP t D /Fl t D - BL proc exec BN - ang 0 ne{grestore}if - /PA t D - ctype 1 eq{() ES}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D -} D -/printhead {0 1 nhead 1 sub{printrow}for} D -/printfoot {nhead 1 nhead nfoot add 1 sub{printrow}for} D -/Tf { - OU{rules 2 ge{/yoff 0 D - gsave 0 Sg - [0 1 nhead 1 sub{}for rbeg 1 row 1 sub{}for nhead 1 nhead nfoot add 1 sub{}for]{ - /irow E D - /xoff ll twidth PL 2 ge{Sf div}if sub talign mul 2 div D - /cells rdesc irow get 6 get D - 0 1 ncol{ - /icol E D - /cell cells icol get D - cell 0 ne{ - /rspan cell 6 get D - /cspan cell 5 get D - rspan 0 eq{/rspan nrow irow sub 1 add D}if - cspan 0 eq{/cspan ncol icol sub 1 add D}if - /width 0 D - 0 1 cspan 1 sub{icol add cdesc E get 0 get /width E width add D}for - /rhight rdesc irow get 0 get D - /hight rhight D - 1 1 rspan 1 sub{irow add rdesc E get 0 get /hight E hight add D}for - xo xoff add width add ycur yoff add M - 0 hight neg icol cspan add 1 sub ncol lt - {cdesc icol 1 add get 4 get dup rules 3 le{1 eq}{pop t}ie - {1 eq{0.8}{0.3}ie - LW RL CP stroke M}{pop R}ie}{R}ie - irow nhead nfoot add 1 sub ne nfoot 0 eq or - {irow rspan add 1 sub nrow lt - {rdesc irow rspan add get 3 get}{nfoot 0 eq{0}{1}ie}ie - dup rules 2 mod 0 eq{1 eq}{pop t}ie - {1 eq irow rspan add nhead eq or irow rspan add row eq nfoot 0 gt and or - {0.8}{0.3}ie LW width neg 0 RL CP stroke M}{pop}ie}if - }if - /xoff xoff cdesc icol get 0 get add D - }for - /yoff yoff rhight sub D - }forall - grestore - /Ms t D - }if - frame 1 gt{ - gsave - 1 LW 0 Sg - xleft ycur M CP BB - 0 yoff frame 5 eq frame 7 ge or{RL}{R}ie - twidth 0 frame 3 eq frame 4 eq or frame 8 ge or{RL}{R}ie CP BB - 0 yoff neg frame 6 ge{RL}{R}ie - twidth neg 0 frame 2 eq frame 4 eq or frame 8 ge or{RL}{R}ie - closepath stroke - grestore - /Ms t D - }if - }if -} D -/tables [[[0 0 0 0 0 -1 0 0 1 58 2 0 0 9 5 {()} -1] - [[0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0]] - [[0 0 0 0 0 0 [[{()1 Sl()WB(XML Schema type)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(Alias in the )SM(xml_schema)ES( names)HY(pace)YH()} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(C++ type - )} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(anyType and anySim)HY(ple)HY(Type)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anyType)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(type)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 24 1 A(Section 2.5.2, "Mapping for )SM(anyType)ES(")24 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anySim)HY(ple)HY(Type)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(simple_type)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 25 1 A(Section 2.5.3, "Mapping for )SM(anySim)HY(ple)HY(Type)YH()ES(")25 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(signed\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Byte)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_byte)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240char)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(short)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Short)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_short)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240short)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(int)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsignedInt)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_int)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240int)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(long)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(unsigned)HY(Long)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned_long)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned\240long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-length inte)HY(gral)YH( types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonPos)HY(i)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_posi)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nonNeg)HY(a)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(non_nega)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(posi)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(posi)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(unsigned long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(nega)HY(tiveIn)HY(te)HY(ger)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nega)HY(tive)YH(_integer)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(long\240long)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(boolean types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(boolean)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(boolean)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(bool)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(fixed-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(float)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(float)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(double)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double_)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(arbi)HY(trary)YH(-preci)HY(sion)YH( float)HY(ing)YH(-point types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(decimal)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(decimal)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(double)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(string types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(std::basic_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(normal)HY(ized)HY(String)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(normal)HY(ized)YH(_string)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(token)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(token)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type\240derived\240from\240)SM(normal)HY(ized)YH(_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(Name)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(name)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTOKEN)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmtoken)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NMTO)HY(KENS)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(nmto)HY(kens)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<nmtoken>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(NCName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(ncname)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(name)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(language)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(language)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(token)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(qual)HY(i)HY(fied)YH( name - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(QName)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(qname)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 26 1 A(Section 2.5.4, "Mapping for )SM(QName)ES(")26 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(ID/IDREF types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ID)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(id)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(ncname)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREF)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idref)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 27 1 A(Section 2.5.5, "Mapping for )SM(IDREF)ES(")27 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(IDREFS)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(idrefs)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<idref>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(URI types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(anyURI)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(uri)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(std::basic_string)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(binary types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 1 0 0 0 [[{()1 Sl()WB()SM(base64Binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(base64_binary)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 28 1 A(Section 2.5.6, "Mapping for - )SM(base64Binary)ES( and )SM(hexBi)HY(nary)YH()ES(")28 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 2 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(hexBi)HY(nary)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(hex_binary)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(date/time types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 30 1 A(Section 2.5.8, "Mapping for - )SM(date)ES(")30 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(date)HY(Time)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(date_time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 31 1 A(Section 2.5.9, "Mapping for - )SM(date)HY(Time)YH()ES(")31 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(dura)HY(tion)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(dura)HY(tion)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 32 1 A(Section 2.5.10, "Mapping for - )SM(dura)HY(tion)YH()ES(")32 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gDay)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gday)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 33 1 A(Section 2.5.11, "Mapping for - )SM(gDay)ES(")33 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMonth)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 34 1 A(Section 2.5.12, "Mapping for - )SM(gMonth)ES(")34 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gMon)HY(th)HY(Day)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gmonth_day)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 35 1 A(Section 2.5.13, "Mapping for - )SM(gMon)HY(th)HY(Day)YH()ES(")35 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 36 1 A(Section 2.5.14, "Mapping for - )SM(gYear)ES(")36 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(gYear)HY(Month)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(gyear_month)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 37 1 A(Section 2.5.15, "Mapping for - )SM(gYear)HY(Month)YH()ES(")37 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(time)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()0 38 1 A(Section 2.5.16, "Mapping for - )SM(time)ES(")38 0 TN TL()Ec /AF f D( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB(entity types - )} 0 0 1 0 3 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -0 -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ENTITY)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(entity)ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(name)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 0 0 0 0 [[{()1 Sl()WB()SM(ENTI)HY(TIES)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()SM(enti)HY(ties)YH()ES()} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(type derived from )SM(sequence<entity>)ES( - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -]] -[[0 0 0 0 0 -1 0 0 1 8 5 0 0 9 5 {()} -1] - [[0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0][0 0 0 0 0 0 0]] - [[0 0 0 0 0 0 [[{()1 Sl()WB()} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB()} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(default)} 0 0 1 0 2 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -[{()1 Sl()WB(fixed - )} 0 0 1 0 2 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 1 0 0 0 [[{()1 Sl()WB(element)} 0 0 1 0 1 4 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(not present)} 0 0 1 0 1 2 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(optional)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(required)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(optional)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(required - )} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 1 0 0 0 [0 -0 -[{()1 Sl()WB(not present)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(invalid instance)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(not present)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(invalid instance - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 1 0 0 0 [0 -[{()1 Sl()WB(empty)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(default value is used)} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -[{()1 Sl()WB(fixed value is used - )} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 0 0 0 0 [0 -[{()1 Sl()WB(value)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(value is used)} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -[{()1 Sl()WB(value is used provided it's the same as fixed - )} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 1 0 0 0 [[{()1 Sl()WB(attribute)} 0 0 1 0 1 4 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(not present)} 0 0 1 0 1 2 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(optional)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(required)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(optional)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(required - )} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 1 0 0 0 [0 -0 -[{()1 Sl()WB(default value is used)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(invalid schema)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(fixed value is used)} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(invalid instance - )} 0 0 0 0 1 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -]] -[0 0 1 0 0 0 [0 -[{()1 Sl()WB(empty)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(empty value is used)} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -[{()1 Sl()WB(empty value is used provided it's the same as fixed - )} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -[0 0 0 0 0 0 [0 -[{()1 Sl()WB(value)} 0 0 1 0 1 1 1 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -[{()1 Sl()WB(value is used)} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -[{()1 Sl()WB(value is used provided it's the same as fixed - )} 0 0 0 0 2 1 0 (.) 2 0 4 4 2 6 0 0 0 0 Db 0 ] -0 -]] -]] -] D -0 1 1{TS}for RC ZF -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/tree/manual/index.xhtml) D -/Ti (C++/Tree Mapping User Manual) D -/Au () D -/Df f D -/ME [(4.0.0)] D -Pt -/BO 0 D TC /Ba f D Bs /AU f D /UR () D RC ZF - tH WB -ND 1 gt{Ts 3 mul Np 0()0 C()BD(C++/Tree Mapping User Manual)ES()0 1 TN()EA()BN}if -1 NH le{97(1\240\240)1 C(Preface)WB 3 Sn()97 1 TN()EA()BN}if -2 NH le{98(1.1\240\240)2 C(About)WB 4 Sn( This Docu)HY(ment)YH()98 1 TN()EA()BN}if -2 NH le{99(1.2\240\240)2 C(More)WB 5 Sn( Infor)HY(ma)HY(tion)YH()99 1 TN()EA()BN}if -1 NH le{100(2\240\240)1 C(1)WB 6 Sn( Intro)HY(duc)HY(tion)YH()100 1 TN()EA()BN}if -1 NH le{101(3\240\240)1 C(2)WB 7 Sn( C++/Tree Mapping)101 1 TN()EA()BN}if -2 NH le{102(3.1\240\240)2 C(2.1)WB 8 Sn( Prelim)HY(i)HY(nary)YH( Infor)HY(ma)HY(tion)YH()102 1 TN()EA()BN}if -3 NH le{103(3.1.1\240\240)3 C(2.1.1)WB 9 Sn( C++ Stan)HY(dard)YH()103 1 TN()EA()BN}if -3 NH le{104(3.1.2\240\240)3 C(2.1.2)WB 10 Sn( Iden)HY(ti)HY(fiers)YH()104 1 TN()EA()BN}if -3 NH le{105(3.1.3\240\240)3 C(2.1.3)WB 11 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()105 1 TN()EA()BN}if -3 NH le{106(3.1.4\240\240)3 C(2.1.4)WB 12 Sn( XML Schema Names)HY(pace)YH()106 1 TN()EA()BN}if -3 NH le{107(3.1.5\240\240)3 C(2.1.5)WB 13 Sn( Anony)HY(mous)YH( Types)107 1 TN()EA()BN}if -2 NH le{108(3.2\240\240)2 C(2.2)WB 14 Sn( Error Handling)108 1 TN()EA()BN}if -3 NH le{109(3.2.1\240\240)3 C(2.2.1)WB 15 Sn( )SM(xml_schema::dupli)HY(cate)YH(_id)ES()109 1 TN()EA()BN}if -2 NH le{110(3.3\240\240)2 C(2.3)WB 16 Sn( Mapping for )SM(import)ES( and )SM(include)ES()110 1 TN()EA()BN}if -3 NH le{111(3.3.1\240\240)3 C(2.3.1)WB 17 Sn( Import)111 1 TN()EA()BN}if -3 NH le{112(3.3.2\240\240)3 C(2.3.2)WB 18 Sn( Inclu)HY(sion)YH( with Target Names)HY(pace)YH()112 1 TN()EA()BN}if -3 NH le{113(3.3.3\240\240)3 C(2.3.3)WB 19 Sn( Inclu)HY(sion)YH( without Target Names)HY(pace)YH()113 1 TN()EA()BN}if -2 NH le{114(3.4\240\240)2 C(2.4)WB 20 Sn( Mapping for Names)HY(paces)YH()114 1 TN()EA()BN}if -2 NH le{115(3.5\240\240)2 C(2.5)WB 21 Sn( Mapping for Built-in Data Types)115 1 TN()EA()BN}if -3 NH le{116(3.5.1\240\240)3 C(2.5.1)WB 23 Sn( Inher)HY(i)HY(tance)YH( from Built-in Data Types)116 1 TN()EA()BN}if -3 NH le{117(3.5.2\240\240)3 C(2.5.2)WB 24 Sn( Mapping for )SM(anyType)ES()117 1 TN()EA()BN}if -3 NH le{118(3.5.3\240\240)3 C(2.5.3)WB 25 Sn( Mapping for )SM(anySim)HY(ple)HY(Type)YH()ES()118 1 TN()EA()BN}if -3 NH le{119(3.5.4\240\240)3 C(2.5.4)WB 26 Sn( Mapping for )SM(QName)ES()119 1 TN()EA()BN}if -3 NH le{120(3.5.5\240\240)3 C(2.5.5)WB 27 Sn( Mapping for )SM(IDREF)ES()120 1 TN()EA()BN}if -3 NH le{121(3.5.6\240\240)3 C(2.5.6)WB 28 Sn( Mapping for )SM(base64Binary)ES( and - )SM(hexBi)HY(nary)YH()ES()121 1 TN()EA()BN}if -2 NH le{122(3.6\240\240)2 C(2.5.7)WB 29 Sn( Time Zone Repre)HY(sen)HY(ta)HY(tion)YH()122 1 TN()EA()BN}if -2 NH le{123(3.7\240\240)2 C(2.5.8)WB 30 Sn( Mapping for )SM(date)ES()123 1 TN()EA()BN}if -2 NH le{124(3.8\240\240)2 C(2.5.9)WB 31 Sn( Mapping for )SM(date)HY(Time)YH()ES()124 1 TN()EA()BN}if -2 NH le{125(3.9\240\240)2 C(2.5.10)WB 32 Sn( Mapping for )SM(dura)HY(tion)YH()ES()125 1 TN()EA()BN}if -2 NH le{126(3.10\240\240)2 C(2.5.11)WB 33 Sn( Mapping for )SM(gDay)ES()126 1 TN()EA()BN}if -2 NH le{127(3.11\240\240)2 C(2.5.12)WB 34 Sn( Mapping for )SM(gMonth)ES()127 1 TN()EA()BN}if -2 NH le{128(3.12\240\240)2 C(2.5.13)WB 35 Sn( Mapping for )SM(gMon)HY(th)HY(Day)YH()ES()128 1 TN()EA()BN}if -2 NH le{129(3.13\240\240)2 C(2.5.14)WB 36 Sn( Mapping for )SM(gYear)ES()129 1 TN()EA()BN}if -2 NH le{130(3.14\240\240)2 C(2.5.15)WB 37 Sn( Mapping for )SM(gYear)HY(Month)YH()ES()130 1 TN()EA()BN}if -2 NH le{131(3.15\240\240)2 C(2.5.16)WB 38 Sn( Mapping for )SM(time)ES()131 1 TN()EA()BN}if -2 NH le{132(3.16\240\240)2 C(2.6)WB 39 Sn( Mapping for Simple Types)132 1 TN()EA()BN}if -3 NH le{133(3.16.1\240\240)3 C(2.6.1)WB 40 Sn( Mapping for Deriva)HY(tion)YH( by Restric)HY(tion)YH()133 1 TN()EA()BN}if -3 NH le{134(3.16.2\240\240)3 C(2.6.2)WB 41 Sn( Mapping for Enumer)HY(a)HY(tions)YH()134 1 TN()EA()BN}if -3 NH le{135(3.16.3\240\240)3 C(2.6.3)WB 42 Sn( Mapping for Deriva)HY(tion)YH( by List)135 1 TN()EA()BN}if -3 NH le{136(3.16.4\240\240)3 C(2.6.4)WB 43 Sn( Mapping for Deriva)HY(tion)YH( by Union)136 1 TN()EA()BN}if -2 NH le{137(3.17\240\240)2 C(2.7)WB 44 Sn( Mapping for Complex Types)137 1 TN()EA()BN}if -3 NH le{138(3.17.1\240\240)3 C(2.7.1)WB 45 Sn( Mapping for Deriva)HY(tion)YH( by Exten)HY(sion)YH()138 1 TN()EA()BN}if -3 NH le{139(3.17.2\240\240)3 C(2.7.2)WB 46 Sn( Mapping for Deriva)HY(tion)YH( by Restric)HY(tion)YH()139 1 TN()EA()BN}if -2 NH le{140(3.18\240\240)2 C(2.8)WB 47 Sn( Mapping for Local Elements and Attributes)140 1 TN()EA()BN}if -3 NH le{141(3.18.1\240\240)3 C(2.8.1)WB 48 Sn( Mapping for Members with the One Cardi)HY(nal)HY(ity)YH( Class)141 1 TN()EA()BN}if -3 NH le{142(3.18.2\240\240)3 C(2.8.2)WB 49 Sn( Mapping for Members with the Optional Cardi)HY(nal)HY(ity)YH( Class)142 1 TN()EA()BN}if -3 NH le{143(3.18.3\240\240)3 C(2.8.3)WB 50 Sn( Mapping for Members with the Sequence Cardi)HY(nal)HY(ity)YH( Class)143 1 TN()EA()BN}if -3 NH le{144(3.18.4\240\240)3 C(2.8.4)WB 51 Sn( Element Order)144 1 TN()EA()BN}if -2 NH le{145(3.19\240\240)2 C(2.9)WB 52 Sn( Mapping for Global Elements)145 1 TN()EA()BN}if -3 NH le{146(3.19.1\240\240)3 C(2.9.1)WB 53 Sn( Element Types)146 1 TN()EA()BN}if -3 NH le{147(3.19.2\240\240)3 C(2.9.2)WB 54 Sn( Element Map)147 1 TN()EA()BN}if -2 NH le{148(3.20\240\240)2 C(2.10)WB 55 Sn( Mapping for Global Attributes)148 1 TN()EA()BN}if -2 NH le{149(3.21\240\240)2 C(2.11)WB 56 Sn( Mapping for )SM(xsi:type)ES( and Substi)HY(tu)HY(tion)YH( - Groups)149 1 TN()EA()BN}if -2 NH le{150(3.22\240\240)2 C(2.12)WB 57 Sn( Mapping for )SM(any)ES( and )SM(anyAt)HY(tribute)YH()ES()150 1 TN()EA()BN}if -3 NH le{151(3.22.1\240\240)3 C(2.12.1)WB 58 Sn( Mapping for )SM(any)ES( with the One Cardi)HY(nal)HY(ity)YH( Class)151 1 TN()EA()BN}if -3 NH le{152(3.22.2\240\240)3 C(2.12.2)WB 59 Sn( Mapping for )SM(any)ES( with the Optional Cardi)HY(nal)HY(ity)YH( Class)152 1 TN()EA()BN}if -3 NH le{153(3.22.3\240\240)3 C(2.12.3)WB 60 Sn( Mapping for )SM(any)ES( with the Sequence Cardi)HY(nal)HY(ity)YH( Class)153 1 TN()EA()BN}if -3 NH le{154(3.22.4\240\240)3 C(2.12.4)WB 61 Sn( Element Wild)HY(card)YH( Order)154 1 TN()EA()BN}if -3 NH le{155(3.22.5\240\240)3 C(2.12.5)WB 62 Sn( Mapping for )SM(anyAt)HY(tribute)YH()ES()155 1 TN()EA()BN}if -2 NH le{156(3.23\240\240)2 C(2.13)WB 63 Sn( Mapping for Mixed Content Models)156 1 TN()EA()BN}if -1 NH le{157(4\240\240)1 C(3)WB 64 Sn( Parsing)157 1 TN()EA()BN}if -2 NH le{158(4.1\240\240)2 C(3.1)WB 65 Sn( Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime)158 1 TN()EA()BN}if -2 NH le{159(4.2\240\240)2 C(3.2)WB 66 Sn( Flags and Prop)HY(er)HY(ties)YH()159 1 TN()EA()BN}if -2 NH le{160(4.3\240\240)2 C(3.3)WB 67 Sn( Error Handling)160 1 TN()EA()BN}if -3 NH le{161(4.3.1\240\240)3 C(3.3.1)WB 68 Sn( )SM(xml_schema::parsing)ES()161 1 TN()EA()BN}if -3 NH le{162(4.3.2\240\240)3 C(3.3.2)WB 69 Sn( )SM(xml_schema::expected_element)ES()162 1 TN()EA()BN}if -3 NH le{163(4.3.3\240\240)3 C(3.3.3)WB 70 Sn( )SM(xml_schema::unex)HY(pected)YH(_element)ES()163 1 TN()EA()BN}if -3 NH le{164(4.3.4\240\240)3 C(3.3.4)WB 71 Sn( )SM(xml_schema::expected_attribute)ES()164 1 TN()EA()BN}if -3 NH le{165(4.3.5\240\240)3 C(3.3.5)WB 72 Sn( )SM(xml_schema::unex)HY(pected)YH(_enumer)HY(a)HY(tor)YH()ES()165 1 TN()EA()BN}if -3 NH le{166(4.3.6\240\240)3 C(3.3.6)WB 73 Sn( )SM(xml_schema::expected_text_content)ES()166 1 TN()EA()BN}if -3 NH le{167(4.3.7\240\240)3 C(3.3.7)WB 74 Sn( )SM(xml_schema::no_type_info)ES()167 1 TN()EA()BN}if -3 NH le{168(4.3.8\240\240)3 C(3.3.8)WB 75 Sn( )SM(xml_schema::not_derived)ES()168 1 TN()EA()BN}if -3 NH le{169(4.3.9\240\240)3 C(3.3.9)WB 76 Sn( )SM(xml_schema::no_prefix_mapping)ES()169 1 TN()EA()BN}if -2 NH le{170(4.4\240\240)2 C(3.4)WB 77 Sn( Reading from a Local File or URI)170 1 TN()EA()BN}if -2 NH le{171(4.5\240\240)2 C(3.5)WB 78 Sn( Reading from )SM(std::istream)ES()171 1 TN()EA()BN}if -2 NH le{172(4.6\240\240)2 C(3.6)WB 79 Sn( Reading from )SM(xercesc::Input)HY(Source)YH()ES()172 1 TN()EA()BN}if -2 NH le{173(4.7\240\240)2 C(3.7)WB 80 Sn( Reading from DOM)173 1 TN()EA()BN}if -1 NH le{174(5\240\240)1 C(4)WB 81 Sn( Seri)HY(al)HY(iza)HY(tion)YH()174 1 TN()EA()BN}if -2 NH le{175(5.1\240\240)2 C(4.1)WB 82 Sn( Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime)175 1 TN()EA()BN}if -2 NH le{176(5.2\240\240)2 C(4.2)WB 83 Sn( Names)HY(pace)YH( Infomap and Char)HY(ac)HY(ter)YH( Encod)HY(ing)YH()176 1 TN()EA()BN}if -2 NH le{177(5.3\240\240)2 C(4.3)WB 84 Sn( Flags)177 1 TN()EA()BN}if -2 NH le{178(5.4\240\240)2 C(4.4)WB 85 Sn( Error Handling)178 1 TN()EA()BN}if -3 NH le{179(5.4.1\240\240)3 C(4.4.1)WB 86 Sn( )SM(xml_schema::seri)HY(al)HY(iza)HY(tion)YH()ES()179 1 TN()EA()BN}if -3 NH le{180(5.4.2\240\240)3 C(4.4.2)WB 87 Sn( )SM(xml_schema::unex)HY(pected)YH(_element)ES()180 1 TN()EA()BN}if -3 NH le{181(5.4.3\240\240)3 C(4.4.3)WB 88 Sn( )SM(xml_schema::no_type_info)ES()181 1 TN()EA()BN}if -2 NH le{182(5.5\240\240)2 C(4.5)WB 89 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to )SM(std::ostream)ES()182 1 TN()EA()BN}if -2 NH le{183(5.6\240\240)2 C(4.6)WB 90 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to )SM(xercesc::XMLFor)HY(mat)HY(Tar)HY(get)YH()ES()183 1 TN()EA()BN}if -2 NH le{184(5.7\240\240)2 C(4.7)WB 91 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to DOM)184 1 TN()EA()BN}if -1 NH le{185(6\240\240)1 C(5)WB 92 Sn( Addi)HY(tional)YH( Func)HY(tion)HY(al)HY(ity)YH()185 1 TN()EA()BN}if -2 NH le{186(6.1\240\240)2 C(5.1)WB 93 Sn( DOM Asso)HY(ci)HY(a)HY(tion)YH()186 1 TN()EA()BN}if -2 NH le{187(6.2\240\240)2 C(5.2)WB 94 Sn( Binary Seri)HY(al)HY(iza)HY(tion)YH()187 1 TN()EA()BN}if -1 NH le{188(7\240\240)1 C(Appendix)WB 95 Sn( A \236 Default and Fixed Values)188 1 TN()EA()BN}if -/OU t D /Cb Db D NP Ep ET -/Cb Db D /Ct [16#00 16#00 16#00] D /Cl [16#00 16#00 16#00] D /CL -1 D Ct Sc - -/Ba f D /BO 0 D Bs -/UR (/home/boris/work/xsd/xsd/doc/cxx/tree/manual/index.xhtml) D -/Ti (C++/Tree Mapping User Manual) D -/Au () D -/Df f D -/ME [(4.0.0)] D - -NP RC ZF -()1 Sl()WB 0 Sn( - -)BR()WB 1 Sn( )BR()WB 2 Sn( - - - )0 1 0 H(Preface)WB 97 Sn()WB 3 Sn()EA()EH( - - )0 2 1 H(About)WB 98 Sn()WB 4 Sn( This Docu)HY(ment)YH()EA()EH( - - )0 P(This docu)HY(ment)YH( describes the mapping of W3C XML Schema - to the C++ program)HY(ming)YH( language as imple)HY(mented)YH( by - )R1 2 A(CodeSyn)HY(the)HY(sis)YH( - XSD)EA( - an XML Schema to C++ data binding compiler. The mapping - repre)HY(sents)YH( infor)HY(ma)HY(tion)YH( stored in XML instance docu)HY(ments)YH( as a - stat)HY(i)HY(cally)YH(-typed, tree-like in-memory data struc)HY(ture)YH( and is - called C++/Tree. - )EP( - - )0 P(Revi)HY(sion)YH( 4.0.0)BR( - This revi)HY(sion)YH( of the manual describes the C++/Tree - mapping as imple)HY(mented)YH( by CodeSyn)HY(the)HY(sis)YH( XSD version 4.0.0. - )EP( - - )0 P(This docu)HY(ment)YH( is avail)HY(able)YH( in the follow)HY(ing)YH( formats: - )R2 2 A(XHTML)EA(, - )R3 2 A(PDF)EA(, and - )R4 2 A(PostScript)EA(.)EP( - - )0 2 2 H(More)WB 99 Sn()WB 5 Sn( Infor)HY(ma)HY(tion)YH()EA()EH( - - )0 P(Beyond this manual, you may also find the follow)HY(ing)YH( sources of - infor)HY(ma)HY(tion)YH( useful:)EP( - - )UL( )-1 LI()R5 2 A(C++/Tree - Mapping Getting Started Guide)EA( - - )-1 LI()R6 2 A(C++/Tree - Mapping Customiza)HY(tion)YH( Guide)EA( - - )-1 LI()R7 2 A(C++/Tree - Mapping Frequently Asked Ques)HY(tions)YH( \201FAQ\202)EA( - - )-1 LI()R8 2 A(XSD - Compiler Command Line Manual)EA( - - )-1 LI(The )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( in the XSD - distri)HY(bu)HY(tion)YH( contains a collec)HY(tion)YH( of exam)HY(ples)YH( and a README - file with an overview of each example. - - )-1 LI(The )SM(README)ES( file in the XSD distri)HY(bu)HY(tion)YH( explains - how to compile the exam)HY(ples)YH( on various plat)HY(forms)YH(. - - )-1 LI(The )R9 2 A(xsd-users)EA( - mailing list is a place to ask ques)HY(tions)YH(. Further)HY(more)YH( the - )R10 2 A(archives)EA( - may already have answers to some of your ques)HY(tions)YH(. - )LU( - - - )0 1 3 H(1)WB 100 Sn()WB 6 Sn( Intro)HY(duc)HY(tion)YH()EA()EH( - - )0 P(C++/Tree is a W3C XML Schema to C++ mapping that repre)HY(sents)YH( the - data stored in XML as a stat)HY(i)HY(cally)YH(-typed, vocab)HY(u)HY(lary)YH(-specific - object model. Based on a formal descrip)HY(tion)YH( of an XML vocab)HY(u)HY(lary)YH( - \201schema\202, the C++/Tree mapping produces a tree-like data struc)HY(ture)YH( - suit)HY(able)YH( for in-memory process)HY(ing)YH( as well as XML parsing and - seri)HY(al)HY(iza)HY(tion)YH( code.)EP( - - )0 P(A typical appli)HY(ca)HY(tion)YH( that processes XML docu)HY(ments)YH( usually - performs the follow)HY(ing)YH( three steps: it first reads \201parses\202 an XML - instance docu)HY(ment)YH( to an object model, it then performs - some useful compu)HY(ta)HY(tions)YH( on that model which may involve - modi)HY(fi)HY(ca)HY(tion)YH( of the model, and finally it may write \201seri)HY(al)HY(ize)YH(\202 - the modi)HY(fied)YH( object model back to XML. - )EP( - - )0 P(The C++/Tree mapping consists of C++ types that repre)HY(sent)YH( the - given vocab)HY(u)HY(lary)YH( \201)0 7 1 A(Chapter 2, "C++/Tree Mapping")7 0 TN TL()Ec /AF f D(\202, - a set of parsing func)HY(tions)YH( that convert XML docu)HY(ments)YH( to - a tree-like in-memory data struc)HY(ture)YH( \201)0 64 1 A(Chapter 3, - "Parsing")64 0 TN TL()Ec /AF f D(\202, and a set of seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( that convert - the object model back to XML \201)0 81 1 A(Chapter 4, - "Seri)HY(al)HY(iza)HY(tion)YH(")81 0 TN TL()Ec /AF f D(\202. Further)HY(more)YH(, the mapping provides a number - of addi)HY(tional)YH( features, such as DOM asso)HY(ci)HY(a)HY(tion)YH( and binary - seri)HY(al)HY(iza)HY(tion)YH(, that can be useful in some appli)HY(ca)HY(tions)YH( - \201)0 92 1 A(Chapter 5, "Addi)HY(tional)YH( Func)HY(tion)HY(al)HY(ity)YH(")92 0 TN TL()Ec /AF f D(\202. - )EP( - - - - - - )0 1 4 H(2)WB 101 Sn()WB 7 Sn( C++/Tree Mapping)EA()EH( - - )0 2 5 H(2.1)WB 102 Sn()WB 8 Sn( Prelim)HY(i)HY(nary)YH( Infor)HY(ma)HY(tion)YH()EA()EH( - - )0 3 6 H(2.1.1)WB 103 Sn()WB 9 Sn( C++ Stan)HY(dard)YH()EA()EH( - - )0 P(The C++/Tree mapping provides support for ISO/IEC C++ 1998/2003 \201C++98\202 - and ISO/IEC C++ 2011 \201C++11\202. To select the C++ stan)HY(dard)YH( for the - gener)HY(ated)YH( code we use the )SM(--std)ES( XSD compiler command - line option. While the major)HY(ity)YH( of the exam)HY(ples)YH( in this manual use - C++98, support for the new func)HY(tion)HY(al)HY(ity)YH( and library compo)HY(nents)YH( - intro)HY(duced)YH( in C++11 are discussed through)HY(out)YH( the docu)HY(ment)YH(.)EP( - - )0 3 7 H(2.1.2)WB 104 Sn()WB 10 Sn( Iden)HY(ti)HY(fiers)YH()EA()EH( - - )0 P(XML Schema names may happen to be reserved C++ keywords or contain - char)HY(ac)HY(ters)YH( that are illegal in C++ iden)HY(ti)HY(fiers)YH(. To avoid C++ compi)HY(la)HY(tion)YH( - prob)HY(lems)YH(, such names are changed \201escaped\202 when mapped to C++. If an - XML Schema name is a C++ keyword, the "_" suffix is added to it. All - char)HY(ac)HY(ter)YH( of an XML Schema name that are not allowed in C++ iden)HY(ti)HY(fiers)YH( - are replaced with "_". - )EP( - - )0 P(For example, XML Schema name )SM(try)ES( will be mapped to - C++ iden)HY(ti)HY(fier)YH( )SM(try_)ES(. Simi)HY(larly)YH(, XML Schema name - )SM(strange.na-me)ES( will be mapped to C++ iden)HY(ti)HY(fier)YH( - )SM(strange_na_me)ES(. - )EP( - - )0 P(Further)HY(more)YH(, conflicts between type names and func)HY(tion)YH( names in the - same scope are resolved using name escap)HY(ing)YH(. Such conflicts include - both a global element \201which is mapped to a set of parsing and/or - seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( or element types, see )0 52 1 A(Section - 2.9, "Mapping for Global Elements")52 0 TN TL()Ec /AF f D(\202 and a global type sharing the - same name as well as a local element or attribute inside a type having - the same name as the type itself.)EP( - - )0 P(For example, if we had a global type )SM(catalog)ES( - and a global element with the same name then the type would be - mapped to a C++ class with name )SM(catalog)ES( while the - parsing func)HY(tions)YH( corre)HY(spond)HY(ing)YH( to the global element would have - their names escaped as )SM(catalog_)ES(. - )EP( - - )0 P(By default the mapping uses the so-called K&R \201Kernighan and - Ritchie\202 iden)HY(ti)HY(fier)YH( naming conven)HY(tion)YH( which is also used through)HY(out)YH( - this manual. In this conven)HY(tion)YH( both type and func)HY(tion)YH( names are in - lower case and words are sepa)HY(rated)YH( by under)HY(scores)YH(. If your appli)HY(ca)HY(tion)YH( - code or schemas use a differ)HY(ent)YH( nota)HY(tion)YH(, you may want to change the - naming conven)HY(tion)YH( used by the mapping for consis)HY(tency)YH(. - The compiler supports a set of widely-used naming conven)HY(tions)YH( - that you can select with the )SM(--type-naming)ES( and - )SM(--func)HY(tion)YH(-naming)ES( options. You can also further - refine one of the prede)HY(fined)YH( conven)HY(tions)YH( or create a completely - custom naming scheme by using the )SM(--*-regex)ES( options. - For more detailed infor)HY(ma)HY(tion)YH( on these options refer to the NAMING - CONVEN)HY(TION)YH( section in the )R8 2 A(XSD - Compiler Command Line Manual)EA(.)EP( - - )0 3 8 H(2.1.3)WB 105 Sn()WB 11 Sn( Char)HY(ac)HY(ter)YH( Type and Encod)HY(ing)YH()EA()EH( - - )0 P(The code that imple)HY(ments)YH( the mapping, depend)HY(ing)YH( on the - )SM(--char-type)ES( option, is gener)HY(ated)YH( using either - )SM(char)ES( or )SM(wchar_t)ES( as the char)HY(ac)HY(ter)YH( - type. In this docu)HY(ment)YH( code samples use symbol )SM(C)ES( - to refer to the char)HY(ac)HY(ter)YH( type you have selected when trans)HY(lat)HY(ing)YH( - your schemas, for example )SM(std::basic_string<C>)ES(. - )EP( - - )0 P(Another aspect of the mapping that depends on the char)HY(ac)HY(ter)YH( type - is char)HY(ac)HY(ter)YH( encod)HY(ing)YH(. For the )SM(char)ES( char)HY(ac)HY(ter)YH( type - the default encod)HY(ing)YH( is UTF-8. Other supported encod)HY(ings)YH( are - ISO-8859-1, Xerces-C++ Local Code Page \201LPC\202, as well as - custom encod)HY(ings)YH( and can be selected with the - )SM(--char-encod)HY(ing)YH()ES( command line option.)EP( - - )0 P(For the )SM(wchar_t)ES( char)HY(ac)HY(ter)YH( type the encod)HY(ing)YH( is - auto)HY(mat)HY(i)HY(cally)YH( selected between UTF-16 and UTF-32/UCS-4 depend)HY(ing)YH( - on the size of the )SM(wchar_t)ES( type. On some plat)HY(forms)YH( - \201for example, Windows with Visual C++ and AIX with IBM XL C++\202 - )SM(wchar_t)ES( is 2 bytes long. For these plat)HY(forms)YH( the - encod)HY(ing)YH( is UTF-16. On other plat)HY(forms)YH( )SM(wchar_t)ES( is 4 bytes - long and UTF-32/UCS-4 is used.)EP( - - )0 3 9 H(2.1.4)WB 106 Sn()WB 12 Sn( XML Schema Names)HY(pace)YH()EA()EH( - - )0 P(The mapping relies on some prede)HY(fined)YH( types, classes, and func)HY(tions)YH( - that are logi)HY(cally)YH( defined in the XML Schema names)HY(pace)YH( reserved for - the XML Schema language \201)SM(http://www.w3.org/2001/XMLSchema)ES(\202. - By default, this names)HY(pace)YH( is mapped to C++ names)HY(pace)YH( - )SM(xml_schema)ES(. It is auto)HY(mat)HY(i)HY(cally)YH( acces)HY(si)HY(ble)YH( - from a C++ compi)HY(la)HY(tion)YH( unit that includes a header file gener)HY(ated)YH( - from an XML Schema defi)HY(ni)HY(tion)YH(. - )EP( - - )0 P(Note that, if desired, the default mapping of this names)HY(pace)YH( can be - changed as described in )0 20 1 A(Section 2.4, "Mapping for - Names)HY(paces)YH(")20 0 TN TL()Ec /AF f D(. - )EP( - - - )0 3 10 H(2.1.5)WB 107 Sn()WB 13 Sn( Anony)HY(mous)YH( Types)EA()EH( - - )0 P(For the purpose of code gener)HY(a)HY(tion)YH(, anony)HY(mous)YH( types defined in - XML Schema are auto)HY(mat)HY(i)HY(cally)YH( assigned names that are derived - from enclos)HY(ing)YH( attributes and elements. Other)HY(wise)YH(, such types - follows stan)HY(dard)YH( mapping rules for simple and complex type - defi)HY(ni)HY(tions)YH( \201see )0 39 1 A(Section 2.6, "Mapping for Simple Types")39 0 TN TL()Ec /AF f D( - and )0 44 1 A(Section 2.7, "Mapping for Complex Types")44 0 TN TL()Ec /AF f D(\202. - For example, in the follow)HY(ing)YH( schema frag)HY(ment)YH(: - )EP( - - ) 5 23 PR(<element name="object"> - <complexType> - ... - </complexType> -</element>)RP( - - )0 P(The anony)HY(mous)YH( type defined inside element )SM(object)ES( will - be given name )SM(object)ES(. The compiler has a number of - options that control the process of anony)HY(mous)YH( type naming. For more - infor)HY(ma)HY(tion)YH( refer to the )R8 2 A(XSD - Compiler Command Line Manual)EA(.)EP( - - - )0 2 11 H(2.2)WB 108 Sn()WB 14 Sn( Error Handling)EA()EH( - - )0 P(The mapping uses the C++ excep)HY(tion)YH( handling mech)HY(a)HY(nism)YH( as a primary way - of report)HY(ing)YH( error condi)HY(tions)YH(. All excep)HY(tions)YH( that are spec)HY(i)HY(fied)YH( in - this mapping derive from )SM(xml_schema::excep)HY(tion)YH()ES( which - itself is derived from )SM(std::excep)HY(tion)YH()ES(: - )EP( - - ) 14 60 PR(struct exception: virtual std::exception -{ - friend - std::basic_ostream<C>& - operator<< \201std::basic_ostream<C>& os, const exception& e\202 - { - e.print \201os\202; - return os; - } - -protected: - virtual void - print \201std::basic_ostream<C>&\202 const = 0; -};)RP( - - )0 P(The excep)HY(tion)YH( hier)HY(ar)HY(chy)YH( supports "virtual" )SM(oper)HY(a)HY(tor)YH(<<)ES( - which allows you to obtain diag)HY(nos)HY(tics)YH( corre)HY(spond)HY(ing)YH( to the thrown - excep)HY(tion)YH( using the base excep)HY(tion)YH( inter)HY(face)YH(. For example:)EP( - - ) 8 38 PR(try -{ - ... -} -catch \201const xml_schema::exception& e\202 -{ - cerr << e << endl; -})RP( - - )0 P(The follow)HY(ing)YH( sub-sections describe excep)HY(tions)YH( thrown by the - types that consti)HY(tute)YH( the object model. - )0 67 1 A(Section 3.3, "Error Handling")67 0 TN TL()Ec /AF f D( of - )0 64 1 A(Chapter 3, "Parsing")64 0 TN TL()Ec /AF f D( describes excep)HY(tions)YH( - and error handling mech)HY(a)HY(nisms)YH( specific to the parsing func)HY(tions)YH(. - )0 85 1 A(Section 4.4, "Error Handling")85 0 TN TL()Ec /AF f D( of - )0 81 1 A(Chapter 4, "Seri)HY(al)HY(iza)HY(tion)YH(")81 0 TN TL()Ec /AF f D( describes excep)HY(tions)YH( - and error handling mech)HY(a)HY(nisms)YH( specific to the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(. - )EP( - - - )0 3 12 H(2.2.1)WB 109 Sn()WB 15 Sn( )SM(xml_schema::dupli)HY(cate)YH(_id)ES()EA()EH( - - ) 10 48 PR(struct duplicate_id: virtual exception -{ - duplicate_id \201const std::basic_string<C>& id\202; - - const std::basic_string<C>& - id \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::dupli)HY(cate)YH(_id)ES( is thrown when - a conflict)HY(ing)YH( instance of )SM(xml_schema::id)ES( \201see - )0 21 1 A(Section 2.5, "Mapping for Built-in Data Types")21 0 TN TL()Ec /AF f D(\202 - is added to a tree. The offend)HY(ing)YH( ID value can be obtained using - the )SM(id)ES( func)HY(tion)YH(. - )EP( - - )0 2 13 H(2.3)WB 110 Sn()WB 16 Sn( Mapping for )SM(import)ES( and )SM(include)ES()EA()EH( - - )0 3 14 H(2.3.1)WB 111 Sn()WB 17 Sn( Import)EA()EH( - - )0 P(The XML Schema )SM(import)ES( element is mapped to the C++ - Prepro)HY(ces)HY(sor)YH( )SM(#include)ES( direc)HY(tive)YH(. The value of - the )SM(schemaLo)HY(ca)HY(tion)YH()ES( attribute is used to derive - the name of the header file that appears in the )SM(#include)ES( - direc)HY(tive)YH(. For instance: - )EP( - - ) 2 53 PR(<import namespace="http://www.codesynthesis.com/test" - schemaLocation="test.xsd"/>)RP( - - )0 P(is mapped to:)EP( - - ) 1 19 PR(#include "test.hxx")RP( - - )0 P(Note that you will need to compile imported schemas sepa)HY(rately)YH( - in order to produce corre)HY(spond)HY(ing)YH( header files.)EP( - - )0 3 15 H(2.3.2)WB 112 Sn()WB 18 Sn( Inclu)HY(sion)YH( with Target Names)HY(pace)YH()EA()EH( - - )0 P(The XML Schema )SM(include)ES( element which refers to a schema - with a target names)HY(pace)YH( or appears in a schema without a target names)HY(pace)YH( - follows the same mapping rules as the )SM(import)ES( element, - see )0 17 1 A(Section 2.3.1, "Import")17 0 TN TL()Ec /AF f D(. - )EP( - - )0 3 16 H(2.3.3)WB 113 Sn()WB 19 Sn( Inclu)HY(sion)YH( without Target Names)HY(pace)YH()EA()EH( - - )0 P(For the XML Schema )SM(include)ES( element which refers to a schema - without a target names)HY(pace)YH( and appears in a schema with a target - names)HY(pace)YH( \201such inclu)HY(sion)YH( some)HY(times)YH( called "chameleon inclu)HY(sion)YH("\202, - decla)HY(ra)HY(tions)YH( and defi)HY(ni)HY(tions)YH( from the included schema are gener)HY(ated)YH( - in-line in the names)HY(pace)YH( of the includ)HY(ing)YH( schema as if they were - declared and defined there verba)HY(tim)YH(. For example, consider the - follow)HY(ing)YH( two schemas: - )EP( - - ) 11 60 PR(<-- common.xsd --> -<schema> - <complexType name="type"> - ... - </complexType> -</schema> - -<-- test.xsd --> -<schema targetNamespace="http://www.codesynthesis.com/test"> - <include schemaLocation="common.xsd"/> -</schema>)RP( - - )0 P(The frag)HY(ment)YH( of inter)HY(est)YH( from the gener)HY(ated)YH( header file for - )SM(text.xsd)ES( would look like this:)EP( - - ) 8 14 PR(// test.hxx -namespace test -{ - class type - { - ... - }; -})RP( - - )0 2 17 H(2.4)WB 114 Sn()WB 20 Sn( Mapping for Names)HY(paces)YH()EA()EH( - - )0 P(An XML Schema names)HY(pace)YH( is mapped to one or more nested C++ - names)HY(paces)YH(. XML Schema names)HY(paces)YH( are iden)HY(ti)HY(fied)YH( by URIs. - By default, a names)HY(pace)YH( URI is mapped to a sequence of - C++ names)HY(pace)YH( names by remov)HY(ing)YH( the proto)HY(col)YH( and host parts - and split)HY(ting)YH( the rest into a sequence of names with ')SM(/)ES(' - as the name sepa)HY(ra)HY(tor)YH(. For instance: - )EP( - - ) 3 67 PR(<schema targetNamespace="http://www.codesynthesis.com/system/test"> - ... -</schema>)RP( - - )0 P(is mapped to:)EP( - - ) 7 16 PR(namespace system -{ - namespace test - { - ... - } -})RP( - - )0 P(The default mapping of names)HY(pace)YH( URIs to C++ names)HY(pace)YH( names can be - altered using the )SM(--names)HY(pace)YH(-map)ES( and - )SM(--names)HY(pace)YH(-regex)ES( options. See the - )R8 2 A(XSD - Compiler Command Line Manual)EA( for more infor)HY(ma)HY(tion)YH(. - )EP( - - )0 2 18 H(2.5)WB 115 Sn()WB 21 Sn( Mapping for Built-in Data Types)EA()EH( - - )0 P(The mapping of XML Schema built-in data types to C++ types is - summa)HY(rized)YH( in the table below.)EP( - - - )0 PT( - - )0 P(All XML Schema built-in types are mapped to C++ classes that are - derived from the )SM(xml_schema::simple_type)ES( class except - where the mapping is to a funda)HY(men)HY(tal)YH( C++ type.)EP( - - )0 P(The )SM(sequence)ES( class template is defined in an - imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH(. It conforms to the - sequence inter)HY(face)YH( as defined by the ISO/ANSI Stan)HY(dard)YH( for - C++ \201ISO/IEC 14882:1998, Section 23.1.1, "Sequences"\202. - Prac)HY(ti)HY(cally)YH(, this means that you can treat such a sequence - as if it was )SM(std::vector)ES(. One notable exten)HY(sion)YH( - to the stan)HY(dard)YH( inter)HY(face)YH( that is avail)HY(able)YH( only for - sequences of non-funda)HY(men)HY(tal)YH( C++ types is the addi)HY(tion)YH( of - the over)HY(loaded)YH( )SM(push_back)ES( and )SM(insert)ES( - member func)HY(tions)YH( which instead of the constant refer)HY(ence)YH( - to the element type accept auto)HY(matic)YH( pointer \201)SM(std::auto_ptr)ES( - or )SM(std::unique_ptr)ES(, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( - selected\202 to the element type. These func)HY(tions)YH( assume owner)HY(ship)YH( - of the pointed to object and reset the passed auto)HY(matic)YH( pointer. - )EP( - - )0 3 19 H(2.5.1)WB 116 Sn()WB 23 Sn( Inher)HY(i)HY(tance)YH( from Built-in Data Types)EA()EH( - - )0 P(In cases where the mapping calls for an inher)HY(i)HY(tance)YH( from a built-in - type which is mapped to a funda)HY(men)HY(tal)YH( C++ type, a proxy type is - used instead of the funda)HY(men)HY(tal)YH( C++ type \201C++ does not allow - inher)HY(i)HY(tance)YH( from funda)HY(men)HY(tal)YH( types\202. For instance:)EP( - - ) 3 27 PR(<simpleType name="my_int"> - <restriction base="int"/> -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 4 42 PR(class my_int: public fundamental_base<int> -{ - ... -};)RP( - - )0 P(The )SM(funda)HY(men)HY(tal)YH(_base)ES( class template provides a close - emula)HY(tion)YH( \201though not exact\202 of a funda)HY(men)HY(tal)YH( C++ type. - It is defined in an imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH( and has the - follow)HY(ing)YH( inter)HY(face)YH(:)EP( - - ) 22 44 PR(template <typename X> -class fundamental_base: public simple_type -{ -public: - fundamental_base \201\202; - fundamental_base \201X\202 - fundamental_base \201const fundamental_base&\202 - -public: - fundamental_base& - operator= \201const X&\202; - -public: - operator const X & \201\202 const; - operator X& \201\202; - - template <typename Y> - operator Y \201\202 const; - - template <typename Y> - operator Y \201\202; -};)RP( - - )0 3 20 H(2.5.2)WB 117 Sn()WB 24 Sn( Mapping for )SM(anyType)ES()EA()EH( - - )0 P(The XML Schema )SM(anyType)ES( built-in data type is mapped to the - )SM(xml_schema::type)ES( C++ class:)EP( - - ) 53 48 PR(class type -{ -public: - virtual - ~type \201\202; - - type \201\202; - type \201const type&\202; - - type& - operator= \201const type&\202; - - virtual type* - _clone \201\202 const; - - // anyType DOM content. - // -public: - typedef element_optional dom_content_optional; - - const dom_content_optional& - dom_content \201\202 const; - - dom_content_optional& - dom_content \201\202; - - void - dom_content \201const xercesc::DOMElement&\202; - - void - dom_content \201xercesc::DOMElement*\202;)WR( - - void - dom_content \201const dom_content_optional&\202; - - const xercesc::DOMDocument& - dom_content_document \201\202 const; - - xercesc::DOMDocument& - dom_content_document \201\202; - - bool - null_content \201\202 const; - - // DOM association. - // -public: - const xercesc::DOMNode* - _node \201\202 const; - - xercesc::DOMNode* - _node \201\202; -};)RP( - - )0 P(When )SM(xml_schema::type)ES( is used to create an instance - \201as opposed to being a base of a derived type\202, it repre)HY(sents)YH( - the XML Schema )SM(anyType)ES( type. )SM(anyType)ES( - allows any attributes and any content in any order. In the - C++/Tree mapping this content can be repre)HY(sented)YH( as a DOM - frag)HY(ment)YH(, similar to XML Schema wild)HY(cards)YH( \201)0 57 1 A(Section - 2.12, "Mapping for )SM(any)ES( and - )SM(anyAt)HY(tribute)YH()ES(")57 0 TN TL()Ec /AF f D(\202.)EP( - - )0 P(To enable auto)HY(matic)YH( extrac)HY(tion)YH( of )SM(anyType)ES( content - during parsing, the )SM(--gener)HY(ate)YH(-any-type)ES( option must be - spec)HY(i)HY(fied)YH(. Because the DOM API is used to access such content, the - Xerces-C++ runtime should be initial)HY(ized)YH( by the appli)HY(ca)HY(tion)YH( prior to - parsing and should remain initial)HY(ized)YH( for the life)HY(time)YH( of objects - with the DOM content. For more infor)HY(ma)HY(tion)YH( on the Xerces-C++ runtime - initial)HY(iza)HY(tion)YH( see )0 65 1 A(Section 3.1, "Initial)HY(iz)HY(ing)YH( the - Xerces-C++ Runtime")65 0 TN TL()Ec /AF f D(.)EP( - - )0 P(The DOM content is stored as the optional DOM element container - and the DOM content acces)HY(sors)YH( and modi)HY(fiers)YH( presented above are - iden)HY(ti)HY(cal)YH( to those gener)HY(ated)YH( for an optional element wild)HY(card)YH(. - Refer to )0 59 1 A(Section 2.12.2, "Mapping for )SM(any)ES( - with the Optional Cardi)HY(nal)HY(ity)YH( Class")59 0 TN TL()Ec /AF f D( for details on their - seman)HY(tics)YH(.)EP( - - )0 P(The )SM(dom_content_docu)HY(ment)YH(\201\202)ES( func)HY(tion)YH( returns the - DOM docu)HY(ment)YH( used to store the raw XML content corre)HY(spond)HY(ing)YH( - to the )SM(anyType)ES( instance. It is equiv)HY(a)HY(lent)YH( to the - )SM(dom_docu)HY(ment)YH(\201\202)ES( func)HY(tion)YH( gener)HY(ated)YH( for types - with wild)HY(cards)YH(.)EP( - - )0 P(The )SM(null_content\201\202)ES( acces)HY(sor)YH( is an opti)HY(miza)HY(tion)YH( func)HY(tion)YH( - that allows us to check for the lack of content without actu)HY(ally)YH( - creat)HY(ing)YH( its empty repre)HY(sen)HY(ta)HY(tion)YH(, that is, empty DOM docu)HY(ment)YH( for - )SM(anyType)ES( or empty string for )SM(anySim)HY(ple)HY(Type)YH()ES( - \201see the follow)HY(ing)YH( section for details on )SM(anySim)HY(ple)HY(Type)YH()ES(\202.)EP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on DOM asso)HY(ci)HY(a)HY(tion)YH( refer to - )0 93 1 A(Section 5.1, "DOM Asso)HY(ci)HY(a)HY(tion)YH(")93 0 TN TL()Ec /AF f D(.)EP( - - )0 3 21 H(2.5.3)WB 118 Sn()WB 25 Sn( Mapping for )SM(anySim)HY(ple)HY(Type)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(anySim)HY(ple)HY(Type)YH()ES( built-in data type is mapped - to the )SM(xml_schema::simple_type)ES( C++ class:)EP( - - ) 27 45 PR(class simple_type: public type -{ -public: - simple_type \201\202; - simple_type \201const C*\202; - simple_type \201const std::basic_string<C>&\202; - - simple_type \201const simple_type&\202; - - simple_type& - operator= \201const simple_type&\202; - - virtual simple_type* - _clone \201\202 const; - - // anySimpleType text content. - // -public: - const std::basic_string<C>& - text_content \201\202 const; - - std::basic_string<C>& - text_content \201\202; - - void - text_content \201const std::basic_string<C>&\202; -};)RP( - - )0 P(When )SM(xml_schema::simple_type)ES( is used to create an instance - \201as opposed to being a base of a derived type\202, it repre)HY(sents)YH( - the XML Schema )SM(anySim)HY(ple)HY(Type)YH()ES( type. )SM(anySim)HY(ple)HY(Type)YH()ES( - allows any simple content. In the C++/Tree mapping this content can - be repre)HY(sented)YH( as a string and accessed or modi)HY(fied)YH( with the - )SM(text_content\201\202)ES( func)HY(tions)YH( shown above.)EP( - - )0 3 22 H(2.5.4)WB 119 Sn()WB 26 Sn( Mapping for )SM(QName)ES()EA()EH( - - )0 P(The XML Schema )SM(QName)ES( built-in data type is mapped to the - )SM(xml_schema::qname)ES( C++ class:)EP( - - ) 25 36 PR(class qname: public simple_type -{ -public: - qname \201const ncname&\202; - qname \201const uri&, const ncname&\202; - qname \201const qname&\202; - -public: - qname& - operator= \201const qname&\202; - -public: - virtual qname* - _clone \201\202 const; - -public: - bool - qualified \201\202 const; - - const uri& - namespace_ \201\202 const; - - const ncname& - name \201\202 const; -};)RP( - - )0 P(The )SM(qual)HY(i)HY(fied)YH()ES( acces)HY(sor)YH( func)HY(tion)YH( can be used to deter)HY(mine)YH( - if the name is qual)HY(i)HY(fied)YH(.)EP( - - )0 3 23 H(2.5.5)WB 120 Sn()WB 27 Sn( Mapping for )SM(IDREF)ES()EA()EH( - - )0 P(The XML Schema )SM(IDREF)ES( built-in data type is mapped to the - )SM(xml_schema::idref)ES( C++ class. This class imple)HY(ments)YH( the - smart pointer C++ idiom:)EP( - - ) 56 44 PR(class idref: public ncname -{ -public: - idref \201const C* s\202; - idref \201const C* s, std::size_t n\202; - idref \201std::size_t n, C c\202; - idref \201const std::basic_string<C>&\202; - idref \201const std::basic_string<C>&, - std::size_t pos, - std::size_t n = npos\202; - -public: - idref \201const idref&\202; - -public: - virtual idref* - _clone \201\202 const; - -public: - idref& - operator= \201C c\202; - - idref& - operator= \201const C* s\202; - - idref& - operator= \201const std::basic_string<C>&\202 - - idref& - operator= \201const idref&\202; -)WR( -public: - const type* - operator-> \201\202 const; - - type* - operator-> \201\202; - - const type& - operator* \201\202 const; - - type& - operator* \201\202; - - const type* - get \201\202 const; - - type* - get \201\202; - - // Conversion to bool. - // -public: - typedef void \201idref::*bool_convertible\202\201\202; - operator bool_convertible \201\202 const; -};)RP( - - )0 P(The object, )SM(idref)ES( instance refers to, is the imme)HY(di)HY(ate)YH( - container of the match)HY(ing)YH( )SM(id)ES( instance. For example, - with the follow)HY(ing)YH( instance docu)HY(ment)YH( and schema: - )EP( - - - ) 22 49 PR(<!-- test.xml --> -<root> - <object id="obj-1" text="hello"/> - <reference>obj-1</reference> -</root> - -<!-- test.xsd --> -<schema> - <complexType name="object_type"> - <attribute name="id" type="ID"/> - <attribute name="text" type="string"/> - </complexType> - - <complexType name="root_type"> - <sequence> - <element name="object" type="object_type"/> - <element name="reference" type="IDREF"/> - </sequence> - </complexType> - - <element name="root" type="root_type"/> -</schema>)RP( - - )0 P(The )SM(ref)ES( instance in the code below will refer to - an object of type )SM(object_type)ES(:)EP( - - ) 4 53 PR(root_type& root = ...; -xml_schema::idref& ref \201root.reference \201\202\202; -object_type& obj \201dynamic_cast<object_type&> \201*ref\202\202; -cout << obj.text \201\202 << endl;)RP( - - )0 P(The smart pointer inter)HY(face)YH( of the )SM(idref)ES( class always - returns a pointer or refer)HY(ence)YH( to )SM(xml_schema::type)ES(. - This means that you will need to manu)HY(ally)YH( cast such pointer or - refer)HY(ence)YH( to its real \201dynamic\202 type before you can use it \201unless - all you need is the base inter)HY(face)YH( provided by - )SM(xml_schema::type)ES(\202. As a special exten)HY(sion)YH( to the XML - Schema language, the mapping supports static typing of )SM(idref)ES( - refer)HY(ences)YH( by employ)HY(ing)YH( the )SM(refType)ES( exten)HY(sion)YH( attribute. - The follow)HY(ing)YH( example illus)HY(trates)YH( this mech)HY(a)HY(nism)YH(: - )EP( - - ) 11 72 PR(<!-- test.xsd --> -<schema - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension"> - - ... - - <element name="reference" type="IDREF" xse:refType="object_type"/> - - ... - -</schema>)RP( - - )0 P(With this modi)HY(fi)HY(ca)HY(tion)YH( we do not need to do manual casting anymore: - )EP( - - ) 4 51 PR(root_type& root = ...; -root_type::reference_type& ref \201root.reference \201\202\202; -object_type& obj \201*ref\202; -cout << ref->text \201\202 << endl;)RP( - - - )0 3 24 H(2.5.6)WB 121 Sn()WB 28 Sn( Mapping for )SM(base64Binary)ES( and - )SM(hexBi)HY(nary)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(base64Binary)ES( and )SM(hexBi)HY(nary)YH()ES( - built-in data types are mapped to the - )SM(xml_schema::base64_binary)ES( and - )SM(xml_schema::hex_binary)ES( C++ classes, respec)HY(tively)YH(. The - )SM(base64_binary)ES( and )SM(hex_binary)ES( classes - support a simple buffer abstrac)HY(tion)YH( by inher)HY(it)HY(ing)YH( from the - )SM(xml_schema::buffer)ES( class: - )EP( - - ) 64 58 PR(class bounds: public virtual exception -{ -public: - virtual const char* - what \201\202 const throw \201\202; -}; - -class buffer -{ -public: - typedef std::size_t size_t; - -public: - buffer \201size_t size = 0\202; - buffer \201size_t size, size_t capacity\202; - buffer \201const void* data, size_t size\202; - buffer \201const void* data, size_t size, size_t capacity\202; - buffer \201void* data, - size_t size, - size_t capacity, - bool assume_ownership\202; - -public: - buffer \201const buffer&\202; - - buffer& - operator= \201const buffer&\202; - - void - swap \201buffer&\202; -)WR( -public: - size_t - capacity \201\202 const; - - bool - capacity \201size_t\202; - -public: - size_t - size \201\202 const; - - bool - size \201size_t\202; - -public: - const char* - data \201\202 const; - - char* - data \201\202; - - const char* - begin \201\202 const; - - char* - begin \201\202; - - const char* - end \201\202 const; -)WR( - char* - end \201\202; -};)RP( - - )0 P(The last over)HY(loaded)YH( construc)HY(tor)YH( reuses an exist)HY(ing)YH( data buffer instead - of making a copy. If the )SM(assume_owner)HY(ship)YH()ES( argu)HY(ment)YH( is - )SM(true)ES(, the instance assumes owner)HY(ship)YH( of the - memory block pointed to by the )SM(data)ES( argu)HY(ment)YH( and will - even)HY(tu)HY(ally)YH( release it by calling )SM(oper)HY(a)HY(tor)YH( delete)ES(. The - )SM(capac)HY(ity)YH()ES( and )SM(size)ES( modi)HY(fier)YH( func)HY(tions)YH( return - )SM(true)ES( if the under)HY(ly)HY(ing)YH( buffer has moved. - )EP( - - )0 P(The )SM(bounds)ES( excep)HY(tion)YH( is thrown if the construc)HY(tor)YH( - argu)HY(ments)YH( violate the )SM(\201size\240<=\240capac)HY(ity)YH(\202)ES( - constraint.)EP( - - )0 P(The )SM(base64_binary)ES( and )SM(hex_binary)ES( classes - support the )SM(buffer)ES( inter)HY(face)YH( and perform auto)HY(matic)YH( - decod)HY(ing)YH(/encod)HY(ing)YH( from/to the Base64 and Hex formats, respec)HY(tively)YH(: - )EP( - - ) 25 65 PR(class base64_binary: public simple_type, public buffer -{ -public: - base64_binary \201size_t size = 0\202; - base64_binary \201size_t size, size_t capacity\202; - base64_binary \201const void* data, size_t size\202; - base64_binary \201const void* data, size_t size, size_t capacity\202; - base64_binary \201void* data, - size_t size, - size_t capacity, - bool assume_ownership\202; - -public: - base64_binary \201const base64_binary&\202; - - base64_binary& - operator= \201const base64_binary&\202; - - virtual base64_binary* - _clone \201\202 const; - -public: - std::basic_string<C> - encode \201\202 const; -};)RP( - - ) 25 62 PR(class hex_binary: public simple_type, public buffer -{ -public: - hex_binary \201size_t size = 0\202; - hex_binary \201size_t size, size_t capacity\202; - hex_binary \201const void* data, size_t size\202; - hex_binary \201const void* data, size_t size, size_t capacity\202; - hex_binary \201void* data, - size_t size, - size_t capacity, - bool assume_ownership\202; - -public: - hex_binary \201const hex_binary&\202; - - hex_binary& - operator= \201const hex_binary&\202; - - virtual hex_binary* - _clone \201\202 const; - -public: - std::basic_string<C> - encode \201\202 const; -};)RP( - - - )0 2 25 H(2.5.7)WB 122 Sn()WB 29 Sn( Time Zone Repre)HY(sen)HY(ta)HY(tion)YH()EA()EH( - - )0 P(The )SM(date)ES(, )SM(date)HY(Time)YH()ES(, )SM(gDay)ES(, - )SM(gMonth)ES(, )SM(gMon)HY(th)HY(Day)YH()ES(, )SM(gYear)ES(, - )SM(gYear)HY(Month)YH()ES(, and )SM(time)ES( XML Schema built-in - types all include an optional time zone compo)HY(nent)YH(. The follow)HY(ing)YH( - )SM(xml_schema::time_zone)ES( base class is used to repre)HY(sent)YH( - this infor)HY(ma)HY(tion)YH(:)EP( - - ) 30 48 PR(class time_zone -{ -public: - time_zone \201\202; - time_zone \201short hours, short minutes\202; - - bool - zone_present \201\202 const; - - void - zone_reset \201\202; - - short - zone_hours \201\202 const; - - void - zone_hours \201short\202; - - short - zone_minutes \201\202 const; - - void - zone_minutes \201short\202; -}; - -bool -operator== \201const time_zone&, const time_zone&\202; - -bool -operator!= \201const time_zone&, const time_zone&\202;)RP( - - )0 P(The )SM(zone_present\201\202)ES( acces)HY(sor)YH( func)HY(tion)YH( returns )SM(true)ES( - if the time zone is spec)HY(i)HY(fied)YH(. The )SM(zone_reset\201\202)ES( modi)HY(fier)YH( - func)HY(tion)YH( resets the time zone object to the )EM(not spec)HY(i)HY(fied)YH()ES( - state. If the time zone offset is nega)HY(tive)YH( then both hours and - minutes compo)HY(nents)YH( are repre)HY(sented)YH( as nega)HY(tive)YH( inte)HY(gers)YH(.)EP( - - - )0 2 26 H(2.5.8)WB 123 Sn()WB 30 Sn( Mapping for )SM(date)ES()EA()EH( - - )0 P(The XML Schema )SM(date)ES( built-in data type is mapped to the - )SM(xml_schema::date)ES( C++ class which repre)HY(sents)YH( a year, a day, - and a month with an optional time zone. Its inter)HY(face)YH( is presented - below. For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 29 1 A(Section 2.5.7, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 41 60 PR(class date: public simple_type, public time_zone -{ -public: - date \201int year, unsigned short month, unsigned short day\202; - date \201int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes\202; - -public: - date \201const date&\202; - - date& - operator= \201const date&\202; - - virtual date* - _clone \201\202 const; - -public: - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - - unsigned short - day \201\202 const;)WR( - - void - day \201unsigned short\202; -}; - -bool -operator== \201const date&, const date&\202; - -bool -operator!= \201const date&, const date&\202;)RP( - - )0 2 27 H(2.5.9)WB 124 Sn()WB 31 Sn( Mapping for )SM(date)HY(Time)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(date)HY(Time)YH()ES( built-in data type is mapped to the - )SM(xml_schema::date_time)ES( C++ class which repre)HY(sents)YH( a year, a month, - a day, hours, minutes, and seconds with an optional time zone. Its inter)HY(face)YH( - is presented below. For more infor)HY(ma)HY(tion)YH( on the base - )SM(xml_schema::time_zone)ES( class refer to )0 29 1 A(Section - 2.5.7, "Time Zone Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 62 67 PR(class date_time: public simple_type, public time_zone -{ -public: - date_time \201int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds\202; - - date_time \201int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds, short zone_hours, short zone_minutes\202; -public: - date_time \201const date_time&\202; - - date_time& - operator= \201const date_time&\202; - - virtual date_time* - _clone \201\202 const; - -public: - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202;)WR( - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; - - unsigned short - hours \201\202 const; - - void - hours \201unsigned short\202; - - unsigned short - minutes \201\202 const; - - void - minutes \201unsigned short\202; - - double - seconds \201\202 const; - - void - seconds \201double\202; -}; - -bool -operator== \201const date_time&, const date_time&\202; - -bool)WR( -operator!= \201const date_time&, const date_time&\202;)RP( - - - )0 2 28 H(2.5.10)WB 125 Sn()WB 32 Sn( Mapping for )SM(dura)HY(tion)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(dura)HY(tion)YH()ES( built-in data type is mapped to the - )SM(xml_schema::dura)HY(tion)YH()ES( C++ class which repre)HY(sents)YH( a poten)HY(tially)YH( - nega)HY(tive)YH( dura)HY(tion)YH( in the form of years, months, days, hours, minutes, - and seconds. Its inter)HY(face)YH( is presented below.)EP( - - ) 64 71 PR(class duration: public simple_type -{ -public: - duration \201bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds\202; -public: - duration \201const duration&\202; - - duration& - operator= \201const duration&\202; - - virtual duration* - _clone \201\202 const; - -public: - bool - negative \201\202 const; - - void - negative \201bool\202; - - unsigned int - years \201\202 const; - - void - years \201unsigned int\202; - - unsigned int - months \201\202 const; -)WR( - void - months \201unsigned int\202; - - unsigned int - days \201\202 const; - - void - days \201unsigned int\202; - - unsigned int - hours \201\202 const; - - void - hours \201unsigned int\202; - - unsigned int - minutes \201\202 const; - - void - minutes \201unsigned int\202; - - double - seconds \201\202 const; - - void - seconds \201double\202; -}; - -bool -operator== \201const duration&, const duration&\202;)WR( - -bool -operator!= \201const duration&, const duration&\202;)RP( - - - )0 2 29 H(2.5.11)WB 126 Sn()WB 33 Sn( Mapping for )SM(gDay)ES()EA()EH( - - )0 P(The XML Schema )SM(gDay)ES( built-in data type is mapped to the - )SM(xml_schema::gday)ES( C++ class which repre)HY(sents)YH( a day of the - month with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 29 1 A(Section 2.5.7, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 29 66 PR(class gday: public simple_type, public time_zone -{ -public: - explicit - gday \201unsigned short day\202; - gday \201unsigned short day, short zone_hours, short zone_minutes\202; - -public: - gday \201const gday&\202; - - gday& - operator= \201const gday&\202; - - virtual gday* - _clone \201\202 const; - -public: - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; -}; - -bool -operator== \201const gday&, const gday&\202; - -bool -operator!= \201const gday&, const gday&\202;)RP( - - - )0 2 30 H(2.5.12)WB 127 Sn()WB 34 Sn( Mapping for )SM(gMonth)ES()EA()EH( - - )0 P(The XML Schema )SM(gMonth)ES( built-in data type is mapped to the - )SM(xml_schema::gmonth)ES( C++ class which repre)HY(sents)YH( a month of the - year with an optional time zone. Its inter)HY(face)YH( is presented below. - For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 29 1 A(Section 2.5.7, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 30 50 PR(class gmonth: public simple_type, public time_zone -{ -public: - explicit - gmonth \201unsigned short month\202; - gmonth \201unsigned short month, - short zone_hours, short zone_minutes\202; - -public: - gmonth \201const gmonth&\202; - - gmonth& - operator= \201const gmonth&\202; - - virtual gmonth* - _clone \201\202 const; - -public: - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; -}; - -bool -operator== \201const gmonth&, const gmonth&\202; - -bool -operator!= \201const gmonth&, const gmonth&\202;)RP( - - - )0 2 31 H(2.5.13)WB 128 Sn()WB 35 Sn( Mapping for )SM(gMon)HY(th)HY(Day)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(gMon)HY(th)HY(Day)YH()ES( built-in data type is mapped to the - )SM(xml_schema::gmonth_day)ES( C++ class which repre)HY(sents)YH( a day and - a month of the year with an optional time zone. Its inter)HY(face)YH( is presented - below. For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 29 1 A(Section 2.5.7, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 35 56 PR(class gmonth_day: public simple_type, public time_zone -{ -public: - gmonth_day \201unsigned short month, unsigned short day\202; - gmonth_day \201unsigned short month, unsigned short day, - short zone_hours, short zone_minutes\202; - -public: - gmonth_day \201const gmonth_day&\202; - - gmonth_day& - operator= \201const gmonth_day&\202; - - virtual gmonth_day* - _clone \201\202 const; - -public: - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; - - unsigned short - day \201\202 const; - - void - day \201unsigned short\202; -}; - -bool)WR( -operator== \201const gmonth_day&, const gmonth_day&\202; - -bool -operator!= \201const gmonth_day&, const gmonth_day&\202;)RP( - - - )0 2 32 H(2.5.14)WB 129 Sn()WB 36 Sn( Mapping for )SM(gYear)ES()EA()EH( - - )0 P(The XML Schema )SM(gYear)ES( built-in data type is mapped to the - )SM(xml_schema::gyear)ES( C++ class which repre)HY(sents)YH( a year with - an optional time zone. Its inter)HY(face)YH( is presented below. For more - infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( class refer - to )0 29 1 A(Section 2.5.7, "Time Zone Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 29 57 PR(class gyear: public simple_type, public time_zone -{ -public: - explicit - gyear \201int year\202; - gyear \201int year, short zone_hours, short zone_minutes\202; - -public: - gyear \201const gyear&\202; - - gyear& - operator= \201const gyear&\202; - - virtual gyear* - _clone \201\202 const; - -public: - int - year \201\202 const; - - void - year \201int\202; -}; - -bool -operator== \201const gyear&, const gyear&\202; - -bool -operator!= \201const gyear&, const gyear&\202;)RP( - - - )0 2 33 H(2.5.15)WB 130 Sn()WB 37 Sn( Mapping for )SM(gYear)HY(Month)YH()ES()EA()EH( - - )0 P(The XML Schema )SM(gYear)HY(Month)YH()ES( built-in data type is mapped to - the )SM(xml_schema::gyear_month)ES( C++ class which repre)HY(sents)YH( - a year and a month with an optional time zone. Its inter)HY(face)YH( is presented - below. For more infor)HY(ma)HY(tion)YH( on the base )SM(xml_schema::time_zone)ES( - class refer to )0 29 1 A(Section 2.5.7, "Time Zone - Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 34 55 PR(class gyear_month: public simple_type, public time_zone -{ -public: - gyear_month \201int year, unsigned short month\202; - gyear_month \201int year, unsigned short month, - short zone_hours, short zone_minutes\202; -public: - gyear_month \201const gyear_month&\202; - - gyear_month& - operator= \201const gyear_month&\202; - - virtual gyear_month* - _clone \201\202 const; - -public: - int - year \201\202 const; - - void - year \201int\202; - - unsigned short - month \201\202 const; - - void - month \201unsigned short\202; -}; - -bool -operator== \201const gyear_month&, const gyear_month&\202;)WR( - -bool -operator!= \201const gyear_month&, const gyear_month&\202;)RP( - - - )0 2 34 H(2.5.16)WB 131 Sn()WB 38 Sn( Mapping for )SM(time)ES()EA()EH( - - )0 P(The XML Schema )SM(time)ES( built-in data type is mapped to - the )SM(xml_schema::time)ES( C++ class which repre)HY(sents)YH( hours, - minutes, and seconds with an optional time zone. Its inter)HY(face)YH( is - presented below. For more infor)HY(ma)HY(tion)YH( on the base - )SM(xml_schema::time_zone)ES( class refer to - )0 29 1 A(Section 2.5.7, "Time Zone Repre)HY(sen)HY(ta)HY(tion)YH(")29 0 TN TL()Ec /AF f D(.)EP( - - ) 41 70 PR(class time: public simple_type, public time_zone -{ -public: - time \201unsigned short hours, unsigned short minutes, double seconds\202; - time \201unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes\202; - -public: - time \201const time&\202; - - time& - operator= \201const time&\202; - - virtual time* - _clone \201\202 const; - -public: - unsigned short - hours \201\202 const; - - void - hours \201unsigned short\202; - - unsigned short - minutes \201\202 const; - - void - minutes \201unsigned short\202; - - double - seconds \201\202 const;)WR( - - void - seconds \201double\202; -}; - -bool -operator== \201const time&, const time&\202; - -bool -operator!= \201const time&, const time&\202;)RP( - - - - - )0 2 35 H(2.6)WB 132 Sn()WB 39 Sn( Mapping for Simple Types)EA()EH( - - )0 P(An XML Schema simple type is mapped to a C++ class with the same - name as the simple type. The class defines a public copy construc)HY(tor)YH(, - a public copy assign)HY(ment)YH( oper)HY(a)HY(tor)YH(, and a public virtual - )SM(_clone)ES( func)HY(tion)YH(. The )SM(_clone)ES( func)HY(tion)YH( is - declared )SM(const)ES(, does not take any argu)HY(ments)YH(, and returns - a pointer to a complete copy of the instance allo)HY(cated)YH( in the free - store. The )SM(_clone)ES( func)HY(tion)YH( shall be used to make copies - when static type and dynamic type of the instance may differ \201see - )0 56 1 A(Section 2.11, "Mapping for )SM(xsi:type)ES( - and Substi)HY(tu)HY(tion)YH( Groups")56 0 TN TL()Ec /AF f D(\202. For instance:)EP( - - ) 3 26 PR(<simpleType name="object"> - ... -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 16 28 PR(class object: ... -{ -public: - object \201const object&\202; - -public: - object& - operator= \201const object&\202; - -public: - virtual object* - _clone \201\202 const; - - ... - -};)RP( - - )0 P(The base class spec)HY(i)HY(fi)HY(ca)HY(tion)YH( and the rest of the class defi)HY(ni)HY(tion)YH( - depend on the type of deriva)HY(tion)YH( used to define the simple type. )EP( - - - )0 3 36 H(2.6.1)WB 133 Sn()WB 40 Sn( Mapping for Deriva)HY(tion)YH( by Restric)HY(tion)YH()EA()EH( - - )0 P(XML Schema deriva)HY(tion)YH( by restric)HY(tion)YH( is mapped to C++ public - inher)HY(i)HY(tance)YH(. The base type of the restric)HY(tion)YH( becomes the base - type for the result)HY(ing)YH( C++ class. In addi)HY(tion)YH( to the members described - in )0 39 1 A(Section 2.6, "Mapping for Simple Types")39 0 TN TL()Ec /AF f D(, the - result)HY(ing)YH( C++ class defines a public construc)HY(tor)YH( with the base type - as its single argu)HY(ment)YH(. For instance:)EP( - - ) 5 27 PR(<simpleType name="object"> - <restriction base="base"> - ... - </restriction> -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 14 28 PR(class object: public base -{ -public: - object \201const base&\202; - object \201const object&\202; - -public: - object& - operator= \201const object&\202; - -public: - virtual object* - _clone \201\202 const; -};)RP( - - - )0 3 37 H(2.6.2)WB 134 Sn()WB 41 Sn( Mapping for Enumer)HY(a)HY(tions)YH()EA()EH( - -)0 P(XML Schema restric)HY(tion)YH( by enumer)HY(a)HY(tion)YH( is mapped to a C++ class - with seman)HY(tics)YH( similar to C++ )SM(enum)ES(. Each XML Schema - enumer)HY(a)HY(tion)YH( element is mapped to a C++ enumer)HY(a)HY(tor)YH( with the - name derived from the )SM(value)ES( attribute and defined - in the class scope. In addi)HY(tion)YH( to the members - described in )0 39 1 A(Section 2.6, "Mapping for Simple Types")39 0 TN TL()Ec /AF f D(, - the result)HY(ing)YH( C++ class defines a public construc)HY(tor)YH( that can be called - with one of the enumer)HY(a)HY(tors)YH( as its single argu)HY(ment)YH(, a public construc)HY(tor)YH( - that can be called with enumer)HY(a)HY(tion)YH('s base value as its single - argu)HY(ment)YH(, a public assign)HY(ment)YH( oper)HY(a)HY(tor)YH( that can be used to assign the - value of one of the enumer)HY(a)HY(tors)YH(, and a public implicit conver)HY(sion)YH( - oper)HY(a)HY(tor)YH( to the under)HY(ly)HY(ing)YH( C++ enum type.)EP( - -)0 P(Further)HY(more)YH(, for string-based enumer)HY(a)HY(tion)YH( types, the result)HY(ing)YH( C++ - class defines a public construc)HY(tor)YH( with a single argu)HY(ment)YH( of type - )SM(const C*)ES( and a public construc)HY(tor)YH( with a single - argu)HY(ment)YH( of type )SM(const std::basic_string<C>&)ES(. - For instance:)EP( - - ) 7 32 PR(<simpleType name="color"> - <restriction base="string"> - <enumeration value="red"/> - <enumeration value="green"/> - <enumeration value="blue"/> - </restriction> -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 31 38 PR(class color: public xml_schema::string -{ -public: - enum value - { - red, - green, - blue - }; - -public: - color \201value\202; - color \201const C*\202; - color \201const std::basic_string<C>&\202; - color \201const xml_schema::string&\202; - color \201const color&\202; - -public: - color& - operator= \201value\202; - - color& - operator= \201const color&\202; - -public: - virtual color* - _clone \201\202 const; - -public: - operator value \201\202 const; -};)WR()RP( - - )0 3 38 H(2.6.3)WB 135 Sn()WB 42 Sn( Mapping for Deriva)HY(tion)YH( by List)EA()EH( - - )0 P(XML Schema deriva)HY(tion)YH( by list is mapped to C++ public - inher)HY(i)HY(tance)YH( from )SM(xml_schema::simple_type)ES( - \201)0 25 1 A(Section 2.5.3, "Mapping for - )SM(anySim)HY(ple)HY(Type)YH()ES(")25 0 TN TL()Ec /AF f D(\202 and a suit)HY(able)YH( sequence type. - The list item type becomes the element type of the sequence. - In addi)HY(tion)YH( to the members described in )0 39 1 A(Section 2.6, - "Mapping for Simple Types")39 0 TN TL()Ec /AF f D(, the result)HY(ing)YH( C++ class defines - a public default construc)HY(tor)YH(, a public construc)HY(tor)YH( - with the first argu)HY(ment)YH( of type )SM(size_type)ES( and - the second argu)HY(ment)YH( of list item type that creates - a list object with the spec)HY(i)HY(fied)YH( number of copies of the spec)HY(i)HY(fied)YH( - element value, and a public construc)HY(tor)YH( with the two argu)HY(ments)YH( - of an input iter)HY(a)HY(tor)YH( type that creates a list object from an - iter)HY(a)HY(tor)YH( range. For instance: - )EP( - - ) 3 28 PR(<simpleType name="int_list"> - <list itemType="int"/> -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 19 42 PR(class int_list: public simple_type, - public sequence<int> -{ -public: - int_list \201\202; - int_list \201size_type n, int x\202; - - template <typename I> - int_list \201const I& begin, const I& end\202; - int_list \201const int_list&\202; - -public: - int_list& - operator= \201const int_list&\202; - -public: - virtual int_list* - _clone \201\202 const; -};)RP( - - )0 P(The )SM(sequence)ES( class template is defined in an - imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH(. It conforms to the - sequence inter)HY(face)YH( as defined by the ISO/ANSI Stan)HY(dard)YH( for - C++ \201ISO/IEC 14882:1998, Section 23.1.1, "Sequences"\202. - Prac)HY(ti)HY(cally)YH(, this means that you can treat such a sequence - as if it was )SM(std::vector)ES(. One notable exten)HY(sion)YH( - to the stan)HY(dard)YH( inter)HY(face)YH( that is avail)HY(able)YH( only for - sequences of non-funda)HY(men)HY(tal)YH( C++ types is the addi)HY(tion)YH( of - the over)HY(loaded)YH( )SM(push_back)ES( and )SM(insert)ES( - member func)HY(tions)YH( which instead of the constant refer)HY(ence)YH( - to the element type accept auto)HY(matic)YH( pointer \201)SM(std::auto_ptr)ES( - or )SM(std::unique_ptr)ES(, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( - selected\202 to the element type. These func)HY(tions)YH( assume owner)HY(ship)YH( - of the pointed to object and reset the passed auto)HY(matic)YH( pointer. - )EP( - - )0 3 39 H(2.6.4)WB 136 Sn()WB 43 Sn( Mapping for Deriva)HY(tion)YH( by Union)EA()EH( - - )0 P(XML Schema deriva)HY(tion)YH( by union is mapped to C++ public - inher)HY(i)HY(tance)YH( from )SM(xml_schema::simple_type)ES( - \201)0 25 1 A(Section 2.5.3, "Mapping for - )SM(anySim)HY(ple)HY(Type)YH()ES(")25 0 TN TL()Ec /AF f D(\202 and )SM(std::basic_string<C>)ES(. - In addi)HY(tion)YH( to the members described in )0 39 1 A(Section 2.6, - "Mapping for Simple Types")39 0 TN TL()Ec /AF f D(, the result)HY(ing)YH( C++ class defines a - public construc)HY(tor)YH( with a single argu)HY(ment)YH( of type )SM(const C*)ES( - and a public construc)HY(tor)YH( with a single argu)HY(ment)YH( of type - )SM(const std::basic_string<C>&)ES(. For instance: - )EP( - - ) 3 47 PR(<simpleType name="int_string_union"> - <xsd:union memberTypes="xsd:int xsd:string"/> -</simpleType>)RP( - - )0 P(is mapped to:)EP( - - ) 16 51 PR(class int_string_union: public simple_type, - public std::basic_string<C> -{ -public: - int_string_union \201const C*\202; - int_string_union \201const std::basic_string<C>&\202; - int_string_union \201const int_string_union&\202; - -public: - int_string_union& - operator= \201const int_string_union&\202; - -public: - virtual int_string_union* - _clone \201\202 const; -};)RP( - - )0 2 40 H(2.7)WB 137 Sn()WB 44 Sn( Mapping for Complex Types)EA()EH( - - )0 P(An XML Schema complex type is mapped to a C++ class with the same - name as the complex type. The class defines a public copy construc)HY(tor)YH(, - a public copy assign)HY(ment)YH( oper)HY(a)HY(tor)YH(, and a public virtual - )SM(_clone)ES( func)HY(tion)YH(. The )SM(_clone)ES( func)HY(tion)YH( is - declared )SM(const)ES(, does not take any argu)HY(ments)YH(, and returns - a pointer to a complete copy of the instance allo)HY(cated)YH( in the free - store. The )SM(_clone)ES( func)HY(tion)YH( shall be used to make copies - when static type and dynamic type of the instance may differ \201see - )0 56 1 A(Section 2.11, "Mapping for )SM(xsi:type)ES( - and Substi)HY(tu)HY(tion)YH( Groups")56 0 TN TL()Ec /AF f D(\202.)EP( - - )0 P(Addi)HY(tion)HY(ally)YH(, the result)HY(ing)YH( C++ class - defines two public construc)HY(tors)YH( that take an initial)HY(izer)YH( for each - member of the complex type and all its base types that belongs to - the One cardi)HY(nal)HY(ity)YH( class \201see )0 47 1 A(Section 2.8, "Mapping - for Local Elements and Attributes")47 0 TN TL()Ec /AF f D(\202. In the first construc)HY(tor)YH(, - the argu)HY(ments)YH( are passed as constant refer)HY(ences)YH( and the newly created - instance is initial)HY(ized)YH( with copies of the passed objects. In the - second construc)HY(tor)YH(, argu)HY(ments)YH( that are complex types \201that is, - they them)HY(selves)YH( contain elements or attributes\202 are passed as - either )SM(std::auto_ptr)ES( \201C++98\202 or )SM(std::unique_ptr)ES( - \201C++11\202, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected. In this case the newly - created instance is directly initial)HY(ized)YH( with and assumes owner)HY(ship)YH( - of the pointed to objects and the )SM(std::[auto|unique]_ptr)ES( - argu)HY(ments)YH( are reset to )SM(0)ES(. For instance:)EP( - - ) 15 66 PR(<complexType name="complex"> - <sequence> - <element name="a" type="int"/> - <element name="b" type="string"/> - </sequence> -</complexType> - -<complexType name="object"> - <sequence> - <element name="s-one" type="boolean"/> - <element name="c-one" type="complex"/> - <element name="optional" type="int" minOccurs="0"/> - <element name="sequence" type="string" maxOccurs="unbounded"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 36 68 PR(class complex: public xml_schema::type -{ -public: - object \201const int& a, const xml_schema::string& b\202; - object \201const complex&\202; - -public: - object& - operator= \201const complex&\202; - -public: - virtual complex* - _clone \201\202 const; - - ... - -}; - -class object: public xml_schema::type -{ -public: - object \201const bool& s_one, const complex& c_one\202; - object \201const bool& s_one, std::[auto|unique]_ptr<complex> c_one\202; - object \201const object&\202; - -public: - object& - operator= \201const object&\202; - -public: - virtual object*)WR( - _clone \201\202 const; - - ... - -};)RP( - - )0 P(Notice that the gener)HY(ated)YH( )SM(complex)ES( class does not - have the second \201)SM(std::[auto|unique]_ptr)ES(\202 version of the - construc)HY(tor)YH( since all its required members are of simple types.)EP( - - )0 P(If an XML Schema complex type has an ulti)HY(mate)YH( base which is an XML - Schema simple type then the result)HY(ing)YH( C++ class also defines a public - construc)HY(tor)YH( that takes an initial)HY(izer)YH( for the base type as well as - for each member of the complex type and all its base types that - belongs to the One cardi)HY(nal)HY(ity)YH( class. For instance:)EP( - - ) 7 61 PR(<complexType name="object"> - <simpleContent> - <extension base="date"> - <attribute name="lang" type="language" use="required"/> - </extension> - </simpleContent> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 11 44 PR(class object: public xml_schema::string -{ -public: - object \201const xml_schema::language& lang\202; - - object \201const xml_schema::date& base, - const xml_schema::language& lang\202; - - ... - -};)RP( - - )0 P(Further)HY(more)YH(, for string-based XML Schema complex types, the result)HY(ing)YH( C++ - class also defines two public construc)HY(tors)YH( with the first argu)HY(ments)YH( - of type )SM(const C*)ES( and )SM(std::basic_string<C>&)ES(, - respec)HY(tively)YH(, followed by argu)HY(ments)YH( for each member of the complex - type and all its base types that belongs to the One cardi)HY(nal)HY(ity)YH( - class. For enumer)HY(a)HY(tion)YH(-based complex types the result)HY(ing)YH( C++ - class also defines a public construc)HY(tor)YH( with the first argu)HY(ments)YH( - of the under)HY(ly)HY(ing)YH( enum type followed by argu)HY(ments)YH( for each member - of the complex type and all its base types that belongs to the One - cardi)HY(nal)HY(ity)YH( class. For instance:)EP( - - ) 15 61 PR(<simpleType name="color"> - <restriction base="string"> - <enumeration value="red"/> - <enumeration value="green"/> - <enumeration value="blue"/> - </restriction> -</simpleType> - -<complexType name="object"> - <simpleContent> - <extension base="color"> - <attribute name="lang" type="language" use="required"/> - </extension> - </simpleContent> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 37 44 PR(class color: public xml_schema::string -{ -public: - enum value - { - red, - green, - blue - }; - -public: - color \201value\202; - color \201const C*\202; - color \201const std::basic_string<C>&\202; - - ... - -}; - -class object: color -{ -public: - object \201const color& base, - const xml_schema::language& lang\202; - - object \201const color::value& base, - const xml_schema::language& lang\202; - - object \201const C* base, - const xml_schema::language& lang\202; -)WR( - object \201const std::basic_string<C>& base, - const xml_schema::language& lang\202; - - ... - -};)RP( - - )0 P(Addi)HY(tional)YH( construc)HY(tors)YH( can be requested with the - )SM(--gener)HY(ate)YH(-default-ctor)ES( and - )SM(--gener)HY(ate)YH(-from-base-ctor)ES( options. See the - )R8 2 A(XSD - Compiler Command Line Manual)EA( for details.)EP( - - )0 P(If an XML Schema complex type is not explic)HY(itly)YH( derived from any type, - the result)HY(ing)YH( C++ class is derived from )SM(xml_schema::type)ES(. - In cases where an XML Schema complex type is defined using deriva)HY(tion)YH( - by exten)HY(sion)YH( or restric)HY(tion)YH(, the result)HY(ing)YH( C++ base class spec)HY(i)HY(fi)HY(ca)HY(tion)YH( - depends on the type of deriva)HY(tion)YH( and is described in the subse)HY(quent)YH( - sections. - )EP( - - )0 P(The mapping for elements and attributes that are defined in a complex - type is described in )0 47 1 A(Section 2.8, "Mapping for Local - Elements and Attributes")47 0 TN TL()Ec /AF f D(. - )EP( - - )0 3 41 H(2.7.1)WB 138 Sn()WB 45 Sn( Mapping for Deriva)HY(tion)YH( by Exten)HY(sion)YH()EA()EH( - - )0 P(XML Schema deriva)HY(tion)YH( by exten)HY(sion)YH( is mapped to C++ public - inher)HY(i)HY(tance)YH(. The base type of the exten)HY(sion)YH( becomes the base - type for the result)HY(ing)YH( C++ class. - )EP( - - )0 3 42 H(2.7.2)WB 139 Sn()WB 46 Sn( Mapping for Deriva)HY(tion)YH( by Restric)HY(tion)YH()EA()EH( - - )0 P(XML Schema deriva)HY(tion)YH( by restric)HY(tion)YH( is mapped to C++ public - inher)HY(i)HY(tance)YH(. The base type of the restric)HY(tion)YH( becomes the base - type for the result)HY(ing)YH( C++ class. XML Schema elements and - attributes defined within restric)HY(tion)YH( do not result in any - defi)HY(ni)HY(tions)YH( in the result)HY(ing)YH( C++ class. Instead, corre)HY(spond)HY(ing)YH( - \201unre)HY(stricted)YH(\202 defi)HY(ni)HY(tions)YH( are inher)HY(ited)YH( from the base class. - In the future versions of this mapping, such elements and - attributes may result in redef)HY(i)HY(ni)HY(tions)YH( of acces)HY(sors)YH( and - modi)HY(fiers)YH( to reflect their restricted seman)HY(tics)YH(. - )EP( - - - - )0 2 43 H(2.8)WB 140 Sn()WB 47 Sn( Mapping for Local Elements and Attributes)EA()EH( - - )0 P(XML Schema element and attribute defi)HY(ni)HY(tions)YH( are called local - if they appear within a complex type defi)HY(ni)HY(tion)YH(, an element group - defi)HY(ni)HY(tion)YH(, or an attribute group defi)HY(ni)HY(tions)YH(. - )EP( - - )0 P(Local XML Schema element and attribute defi)HY(ni)HY(tions)YH( have the same - C++ mapping. There)HY(fore)YH(, in this section, local elements and - attributes are collec)HY(tively)YH( called members. - )EP( - - )0 P(While there are many differ)HY(ent)YH( member cardi)HY(nal)HY(ity)YH( combi)HY(na)HY(tions)YH( - \201deter)HY(mined)YH( by the )SM(use)ES( attribute for attributes and - the )SM(minOc)HY(curs)YH()ES( and )SM(maxOc)HY(curs)YH()ES( attributes - for elements\202, the mapping divides all possi)HY(ble)YH( cardi)HY(nal)HY(ity)YH( - combi)HY(na)HY(tions)YH( into three cardi)HY(nal)HY(ity)YH( classes: - )EP( - - )0 DL( )0 DT()I(one)ES( - )DD(attributes: )SM(use == "required")ES( - )DD(attributes: )SM(use == "optional")ES( and has default or fixed value - )DD(elements: )SM(minOc)HY(curs)YH( == "1")ES( and )SM(maxOc)HY(curs)YH( == "1")ES( - - )0 DT()I(optional)ES( - )DD(attributes: )SM(use == "optional")ES( and doesn't have default or fixed value - )DD(elements: )SM(minOc)HY(curs)YH( == "0")ES( and )SM(maxOc)HY(curs)YH( == "1")ES( - - )0 DT()I(sequence)ES( - )DD(elements: )SM(maxOc)HY(curs)YH( > "1")ES( - )LD( - - )0 P(An optional attribute with a default or fixed value acquires this value - if the attribute hasn't been spec)HY(i)HY(fied)YH( in an instance docu)HY(ment)YH( \201see - )0 95 1 A(Appendix A, "Default and Fixed Values")95 0 TN TL()Ec /AF f D(\202. This - mapping places such optional attributes to the One cardi)HY(nal)HY(ity)YH( - class.)EP( - - )0 P(A member is mapped to a set of public type defi)HY(ni)HY(tions)YH( - \201)SM(typedef)ES(s\202 and a set of public acces)HY(sor)YH( and modi)HY(fier)YH( - func)HY(tions)YH(. Type defi)HY(ni)HY(tions)YH( have names derived from the member's - name. The acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( have the same name as the - member. For example: - )EP( - - ) 5 42 PR(<complexType name="object"> - <sequence> - <element name="member" type="string"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 11 41 PR(class object: public xml_schema::type -{ -public: - typedef xml_schema::string member_type; - - const member_type& - member \201\202 const; - - ... - -};)RP( - - )0 P(In addi)HY(tion)YH(, if a member has a default or fixed value, a static - acces)HY(sor)YH( func)HY(tion)YH( is gener)HY(ated)YH( that returns this value. For - example:)EP( - -) 3 55 PR(<complexType name="object"> - <attribute name="data" type="string" default="test"/> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 14 39 PR(class object: public xml_schema::type -{ -public: - typedef xml_schema::string data_type; - - const data_type& - data \201\202 const; - - static const data_type& - data_default_value \201\202; - - ... - -};)RP( - - )0 P(Names and seman)HY(tics)YH( of type defi)HY(ni)HY(tions)YH( for the member as well - as signa)HY(tures)YH( of the acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( depend on - the member's cardi)HY(nal)HY(ity)YH( class and are described in the follow)HY(ing)YH( - sub-sections. - )EP( - - - )0 3 44 H(2.8.1)WB 141 Sn()WB 48 Sn( Mapping for Members with the One Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For the One cardi)HY(nal)HY(ity)YH( class, the type defi)HY(ni)HY(tions)YH( consist of - an alias for the member's type with the name created by append)HY(ing)YH( - the )SM(_type)ES( suffix to the member's name. - )EP( - - )0 P(The acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to the - member and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the member and can - be used for read-write access. - )EP( - - )0 P(The first modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to - constant of the member's type. It makes a deep copy of its argu)HY(ment)YH(. - Except for member's types that are mapped to funda)HY(men)HY(tal)YH( C++ types, - the second modi)HY(fier)YH( func)HY(tion)YH( is provided that expects an argu)HY(ment)YH( - of type auto)HY(matic)YH( pointer \201)SM(std::auto_ptr)ES( or - )SM(std::unique_ptr)ES(, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected\202 - to the member's type. It assumes owner)HY(ship)YH( of the pointed to object - and resets the passed auto)HY(matic)YH( pointer. For instance:)EP( - - ) 5 42 PR(<complexType name="object"> - <sequence> - <element name="member" type="string"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 25 47 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - - // Accessors. - // - const member_type& - member \201\202 const; - - member_type& - member \201\202; - - // Modifiers. - // - void - member \201const member_type&\202; - - void - member \201std::[auto|unique]_ptr<member_type>\202; - ... - -};)RP( - - )0 P(In addi)HY(tion)YH(, if requested by spec)HY(i)HY(fy)HY(ing)YH( the )SM(--gener)HY(ate)YH(-detach)ES( - option and only for members of non-funda)HY(men)HY(tal)YH( C++ types, the mapping - provides a detach func)HY(tion)YH( that returns an auto)HY(matic)YH( pointer to the - member's type, for example:)EP( - - ) 10 37 PR(class object: public xml_schema::type -{ -public: - ... - - std::[auto|unique]_ptr<member_type> - detach_member \201\202; - ... - -};)RP( - - )0 P(This func)HY(tion)YH( detaches the value from the tree leaving the member - value unini)HY(tial)HY(ized)YH(. Access)HY(ing)YH( such an unini)HY(tial)HY(ized)YH( value prior to - re-initial)HY(iz)HY(ing)YH( it results in unde)HY(fined)YH( behav)HY(ior)YH(.)EP( - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 25 66 PR(void -f \201object& o\202 -{ - using xml_schema::string; - - string s \201o.member \201\202\202; // get - object::member_type& sr \201o.member \201\202\202; // get - - o.member \201"hello"\202; // set, deep copy - o.member \201\202 = "hello"; // set, deep copy - - // C++98 version. - // - std::auto_ptr<string> p \201new string \201"hello"\202\202; - o.member \201p\202; // set, assumes ownership - p = o.detach_member \201\202; // detach, member is uninitialized - o.member \201p\202; // re-attach - - // C++11 version. - // - std::unique_ptr<string> p \201new string \201"hello"\202\202; - o.member \201std::move \201p\202\202; // set, assumes ownership - p = o.detach_member \201\202; // detach, member is uninitialized - o.member \201std::move \201p\202\202; // re-attach -})RP( - - -)0 3 45 H(2.8.2)WB 142 Sn()WB 49 Sn( Mapping for Members with the Optional Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For the Optional cardi)HY(nal)HY(ity)YH( class, the type defi)HY(ni)HY(tions)YH( consist of - an alias for the member's type with the name created by append)HY(ing)YH( - the )SM(_type)ES( suffix to the member's name and an alias for - the container type with the name created by append)HY(ing)YH( the - )SM(_optional)ES( suffix to the member's name. - )EP( - - )0 P(Unlike acces)HY(sor)YH( func)HY(tions)YH( for the One cardi)HY(nal)HY(ity)YH( class, acces)HY(sor)YH( - func)HY(tions)YH( for the Optional cardi)HY(nal)HY(ity)YH( class return refer)HY(ences)YH( to - corre)HY(spond)HY(ing)YH( contain)HY(ers)YH( rather than directly to members. The - acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to - the container and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the container - and can be used for read-write access. - )EP( - - )0 P(The modi)HY(fier)YH( func)HY(tions)YH( are over)HY(loaded)YH( for the member's - type and the container type. The first modi)HY(fier)YH( func)HY(tion)YH( - expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to constant of the - member's type. It makes a deep copy of its argu)HY(ment)YH(. - Except for member's types that are mapped to funda)HY(men)HY(tal)YH( C++ types, - the second modi)HY(fier)YH( func)HY(tion)YH( is provided that expects an argu)HY(ment)YH( - of type auto)HY(matic)YH( pointer \201)SM(std::auto_ptr)ES( or - )SM(std::unique_ptr)ES(, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected\202 - to the member's type. It assumes owner)HY(ship)YH( of the pointed to object - and resets the passed auto)HY(matic)YH( pointer. The last modi)HY(fier)YH( func)HY(tion)YH( - expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to constant of the container - type. It makes a deep copy of its argu)HY(ment)YH(. For instance: - )EP( - - ) 5 56 PR(<complexType name="object"> - <sequence> - <element name="member" type="string" minOccurs="0"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 30 48 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - typedef optional<member_type> member_optional; - - // Accessors. - // - const member_optional& - member \201\202 const; - - member_optional& - member \201\202; - - // Modifiers. - // - void - member \201const member_type&\202; - - void - member \201std::[auto|unique]_ptr<member_type>\202; - - void - member \201const member_optional&\202; - - ... - -};)RP( - - - )0 P(The )SM(optional)ES( class template is defined in an - imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH( and has the follow)HY(ing)YH( - inter)HY(face)YH(. The )SM([auto|unique]_ptr)ES(-based construc)HY(tor)YH( - and modi)HY(fier)YH( func)HY(tion)YH( are only avail)HY(able)YH( if the template - argu)HY(ment)YH( is not a funda)HY(men)HY(tal)YH( C++ type. - )EP( - - ) 97 52 PR(template <typename X> -class optional -{ -public: - optional \201\202; - - // Makes a deep copy. - // - explicit - optional \201const X&\202; - - // Assumes ownership. - // - explicit - optional \201std::[auto|unique]_ptr<X>\202; - - optional \201const optional&\202; - -public: - optional& - operator= \201const X&\202; - - optional& - operator= \201const optional&\202; - - // Pointer-like interface. - // -public: - const X* - operator-> \201\202 const; -)WR( - X* - operator-> \201\202; - - const X& - operator* \201\202 const; - - X& - operator* \201\202; - - typedef void \201optional::*bool_convertible\202 \201\202; - operator bool_convertible \201\202 const; - - // Get/set interface. - // -public: - bool - present \201\202 const; - - const X& - get \201\202 const; - - X& - get \201\202; - - // Makes a deep copy. - // - void - set \201const X&\202; - - // Assumes ownership.)WR( - // - void - set \201std::[auto|unique]_ptr<X>\202; - - // Detach and return the contained value. - // - std::[auto|unique]_ptr<X> - detach \201\202; - - void - reset \201\202; -}; - -template <typename X> -bool -operator== \201const optional<X>&, const optional<X>&\202; - -template <typename X> -bool -operator!= \201const optional<X>&, const optional<X>&\202; - -template <typename X> -bool -operator< \201const optional<X>&, const optional<X>&\202; - -template <typename X> -bool -operator> \201const optional<X>&, const optional<X>&\202; - -template <typename X>)WR( -bool -operator<= \201const optional<X>&, const optional<X>&\202; - -template <typename X> -bool -operator>= \201const optional<X>&, const optional<X>&\202;)RP( - - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 45 62 PR(void -f \201object& o\202 -{ - using xml_schema::string; - - if \201o.member \201\202.present \201\202\202 // test - { - string& s \201o.member \201\202.get \201\202\202; // get - o.member \201"hello"\202; // set, deep copy - o.member \201\202.set \201"hello"\202; // set, deep copy - o.member \201\202.reset \201\202; // reset - } - - // Same as above but using pointer notation: - // - if \201o.member \201\202\202 // test - { - string& s \201*o.member \201\202\202; // get - o.member \201"hello"\202; // set, deep copy - *o.member \201\202 = "hello"; // set, deep copy - o.member \201\202.reset \201\202; // reset - } - - // C++98 version. - // - std::auto_ptr<string> p \201new string \201"hello"\202\202; - o.member \201p\202; // set, assumes ownership - - p = new string \201"hello"\202; - o.member \201\202.set \201p\202; // set, assumes ownership -)WR( - p = o.member \201\202.detach \201\202; // detach, member is reset - o.member \201\202.set \201p\202; // re-attach - - // C++11 version. - // - std::unique_ptr<string> p \201new string \201"hello"\202\202; - o.member \201std::move \201p\202\202; // set, assumes ownership - - p.reset \201new string \201"hello"\202\202; - o.member \201\202.set \201std::move \201p\202\202; // set, assumes ownership - - p = o.member \201\202.detach \201\202; // detach, member is reset - o.member \201\202.set \201std::move \201p\202\202; // re-attach -})RP( - - - )0 3 46 H(2.8.3)WB 143 Sn()WB 50 Sn( Mapping for Members with the Sequence Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For the Sequence cardi)HY(nal)HY(ity)YH( class, the type defi)HY(ni)HY(tions)YH( consist of an - alias for the member's type with the name created by append)HY(ing)YH( - the )SM(_type)ES( suffix to the member's name, an alias of - the container type with the name created by append)HY(ing)YH( the - )SM(_sequence)ES( suffix to the member's name, an alias of - the iter)HY(a)HY(tor)YH( type with the name created by append)HY(ing)YH( the - )SM(_iter)HY(a)HY(tor)YH()ES( suffix to the member's name, and an alias - of the constant iter)HY(a)HY(tor)YH( type with the name created by append)HY(ing)YH( the - )SM(_const_iter)HY(a)HY(tor)YH()ES( suffix to the member's name. - )EP( - - )0 P(The acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to the - container and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the container and can - be used for read-write access. - )EP( - - )0 P(The modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to - constant of the container type. The modi)HY(fier)YH( func)HY(tion)YH( - makes a deep copy of its argu)HY(ment)YH(. For instance: - )EP( - - - ) 5 64 PR(<complexType name="object"> - <sequence> - <element name="member" type="string" minOccurs="unbounded"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 26 64 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - typedef sequence<member_type> member_sequence; - typedef member_sequence::iterator member_iterator; - typedef member_sequence::const_iterator member_const_iterator; - - // Accessors. - // - const member_sequence& - member \201\202 const; - - member_sequence& - member \201\202; - - // Modifier. - // - void - member \201const member_sequence&\202; - - ... - -};)RP( - - )0 P(The )SM(sequence)ES( class template is defined in an - imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH(. It conforms to the - sequence inter)HY(face)YH( as defined by the ISO/ANSI Stan)HY(dard)YH( for - C++ \201ISO/IEC 14882:1998, Section 23.1.1, "Sequences"\202. - Prac)HY(ti)HY(cally)YH(, this means that you can treat such a sequence - as if it was )SM(std::vector)ES(. Two notable exten)HY(sions)YH( - to the stan)HY(dard)YH( inter)HY(face)YH( that are avail)HY(able)YH( only for - sequences of non-funda)HY(men)HY(tal)YH( C++ types are the addi)HY(tion)YH( of - the over)HY(loaded)YH( )SM(push_back)ES( and )SM(insert)ES( - as well as the )SM(detach_back)ES( and )SM(detach)ES( - member func)HY(tions)YH(. The addi)HY(tional)YH( )SM(push_back)ES( and - )SM(insert)ES( func)HY(tions)YH( accept an auto)HY(matic)YH( pointer - \201)SM(std::auto_ptr)ES( or )SM(std::unique_ptr)ES(, - depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected\202 to the - element type instead of the constant refer)HY(ence)YH(. They assume - owner)HY(ship)YH( of the pointed to object and reset the passed - auto)HY(matic)YH( pointer. The )SM(detach_back)ES( and - )SM(detach)ES( func)HY(tions)YH( detach the element - value from the sequence container and, by default, remove - the element from the sequence. These addi)HY(tional)YH( func)HY(tions)YH( - have the follow)HY(ing)YH( signa)HY(tures)YH(:)EP( - - ) 22 55 PR(template <typename X> -class sequence -{ -public: - ... - - void - push_back \201std::[auto|unique]_ptr<X>\202 - - iterator - insert \201iterator position, std::[auto|unique]_ptr<X>\202 - - std::[auto|unique]_ptr<X> - detach_back \201bool pop = true\202; - - iterator - detach \201iterator position, - std::[auto|unique]_ptr<X>& result, - bool erase = true\202 - - ... -})RP( - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 39 66 PR(void -f \201object& o\202 -{ - using xml_schema::string; - - object::member_sequence& s \201o.member \201\202\202; - - // Iteration. - // - for \201object::member_iterator i \201s.begin \201\202\202; i != s.end \201\202; ++i\202 - { - string& value \201*i\202; - } - - // Modification. - // - s.push_back \201"hello"\202; // deep copy - - // C++98 version. - // - std::auto_ptr<string> p \201new string \201"hello"\202\202; - s.push_back \201p\202; // assumes ownership - p = s.detach_back \201\202; // detach and pop - s.push_back \201p\202; // re-append - - // C++11 version. - // - std::unique_ptr<string> p \201new string \201"hello"\202\202; - s.push_back \201std::move \201p\202\202; // assumes ownership - p = s.detach_back \201\202; // detach and pop - s.push_back \201std::move \201p\202\202; // re-append)WR( - - // Setting a new container. - // - object::member_sequence n; - n.push_back \201"one"\202; - n.push_back \201"two"\202; - o.member \201n\202; // deep copy -})RP( - - )0 3 47 H(2.8.4)WB 144 Sn()WB 51 Sn( Element Order)EA()EH( - - )0 P(C++/Tree is a "flat)HY(ten)HY(ing)YH(" mapping in a sense that many levels of - nested compos)HY(i)HY(tors)YH( \201)SM(choice)ES( and )SM(sequence)ES(\202, - all poten)HY(tially)YH( with their own cardi)HY(nal)HY(i)HY(ties)YH(, are in the end mapped - to a flat set of elements with one of the three cardi)HY(nal)HY(ity)YH( classes - discussed in the previ)HY(ous)YH( sections. While this results in a simple - and easy to use API for most types, in certain cases, the order of - elements in the actual XML docu)HY(ments)YH( is not preserved once parsed - into the object model. And some)HY(times)YH( such order has - appli)HY(ca)HY(tion)YH(-specific signif)HY(i)HY(cance)YH(. As an example, consider a schema - that defines a batch of bank trans)HY(ac)HY(tions)YH(:)EP( - - ) 20 48 PR(<complexType name="withdraw"> - <sequence> - <element name="account" type="unsignedInt"/> - <element name="amount" type="unsignedInt"/> - </sequence> -</complexType> - -<complexType name="deposit"> - <sequence> - <element name="account" type="unsignedInt"/> - <element name="amount" type="unsignedInt"/> - </sequence> -</complexType> - -<complexType name="batch"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="withdraw" type="withdraw"/> - <element name="deposit" type="deposit"/> - </choice> -</complexType>)RP( - - )0 P(The batch can contain any number of trans)HY(ac)HY(tions)YH( in any order - but the order of trans)HY(ac)HY(tions)YH( in each actual batch is signif)HY(i)HY(cant)YH(. - For instance, consider what could happen if we reorder the - trans)HY(ac)HY(tions)YH( and apply all the with)HY(drawals)YH( before deposits.)EP( - - )0 P(For the )SM(batch)ES( schema type defined above the default - C++/Tree mapping will produce a C++ class that contains a pair of - sequence contain)HY(ers)YH(, one for each of the two elements. While this - will capture the content \201trans)HY(ac)HY(tions)YH(\202, the order of this content - as it appears in XML will be lost. Also, if we try to seri)HY(al)HY(ize)YH( the - batch we just loaded back to XML, all the with)HY(drawal)YH( trans)HY(ac)HY(tions)YH( - will appear before deposits.)EP( - - )0 P(To over)HY(come)YH( this limi)HY(ta)HY(tion)YH( of a flat)HY(ten)HY(ing)YH( mapping, C++/Tree - allows us to mark certain XML Schema types, for which content - order is impor)HY(tant)YH(, as ordered.)EP( - - )0 P(There are several command line options that control which - schema types are treated as ordered. To make an indi)HY(vid)HY(ual)YH( - type ordered, we use the )SM(--ordered-type)ES( option, - for example:)EP( - - ) 1 20 PR(--ordered-type batch)RP( - - )0 P(To auto)HY(mat)HY(i)HY(cally)YH( treat all the types that are derived from an ordered - type also ordered, we use the )SM(--ordered-type-derived)ES( - option. This is primar)HY(ily)YH( useful if you would like to iterate - over the complete hier)HY(ar)HY(chy)YH('s content using the content order - sequence \201discussed below\202.)EP( - - )0 P(Ordered types are also useful for handling mixed content. To - auto)HY(mat)HY(i)HY(cally)YH( mark all the types with mixed content as ordered - we use the )SM(--ordered-type-mixed)ES( option. For more - infor)HY(ma)HY(tion)YH( on handling mixed content see )0 63 1 A(Section - 2.13, "Mapping for Mixed Content Models")63 0 TN TL()Ec /AF f D(.)EP( - - )0 P(Finally, we can mark all the types in the schema we are - compil)HY(ing)YH( with the )SM(--ordered-type-all)ES( option. - You should only resort to this option if all the types in - your schema truly suffer from the loss of content - order since, as we will discuss shortly, ordered types - require extra effort to access and, espe)HY(cially)YH(, modify. - See the - )R8 2 A(XSD - Compiler Command Line Manual)EA( for more infor)HY(ma)HY(tion)YH( on - these options.)EP( - - )0 P(Once a type is marked ordered, C++/Tree alters its mapping - in several ways. Firstly, for each local element, element - wild)HY(card)YH( \201)0 61 1 A(Section 2.12.4, "Element Wild)HY(card)YH( - Order")61 0 TN TL()Ec /AF f D(\202, and mixed content text \201)0 63 1 A(Section - 2.13, "Mapping for Mixed Content Models")63 0 TN TL()Ec /AF f D(\202 in this type, a - content id constant is gener)HY(ated)YH(. Secondly, an addi)HY(tion)YH( sequence - is added to the class that captures the content order. Here - is how the mapping of our )SM(batch)ES( class changes - once we make it ordered:)EP( - - ) 57 78 PR(class batch: public xml_schema::type -{ -public: - // withdraw - // - typedef withdraw withdraw_type; - typedef sequence<withdraw_type> withdraw_sequence; - typedef withdraw_sequence::iterator withdraw_iterator; - typedef withdraw_sequence::const_iterator withdraw_const_iterator; - - static const std::size_t withdraw_id = 1; - - const withdraw_sequence& - withdraw \201\202 const; - - withdraw_sequence& - withdraw \201\202; - - void - withdraw \201const withdraw_sequence&\202; - - // deposit - // - typedef deposit deposit_type; - typedef sequence<deposit_type> deposit_sequence; - typedef deposit_sequence::iterator deposit_iterator; - typedef deposit_sequence::const_iterator deposit_const_iterator; - - static const std::size_t deposit_id = 2; - - const deposit_sequence&)WR( - deposit \201\202 const; - - deposit_sequence& - deposit \201\202; - - void - deposit \201const deposit_sequence&\202; - - // content_order - // - typedef xml_schema::content_order content_order_type; - typedef std::vector<content_order_type> content_order_sequence; - typedef content_order_sequence::iterator content_order_iterator; - typedef content_order_sequence::const_iterator content_order_const_iterator; - - const content_order_sequence& - content_order \201\202 const; - - content_order_sequence& - content_order \201\202; - - void - content_order \201const content_order_sequence&\202; - - ... -};)RP( - - )0 P(Notice the )SM(with)HY(draw)YH(_id)ES( and )SM(deposit_id)ES( - content ids as well as the extra )SM(content_order)ES( - sequence that does not corre)HY(spond)YH( to any element in the - schema defi)HY(ni)HY(tion)YH(. The other changes to the mapping for ordered - types has to do with XML parsing and seri)HY(al)HY(iza)HY(tion)YH( code. During - parsing the content order is captured in the )SM(content_order)ES( - sequence while during seri)HY(al)HY(iza)HY(tion)YH( this sequence is used to - deter)HY(mine)YH( the order in which content is seri)HY(al)HY(ized)YH(. The - )SM(content_order)ES( sequence is also copied during - copy construc)HY(tion)YH( and assigned during copy assign)HY(ment)YH(. It is also - taken into account during compar)HY(i)HY(son)YH(.)EP( - - )0 P(The entry type of the )SM(content_order)ES( sequence is the - )SM(xml_schema::content_order)ES( type that has the follow)HY(ing)YH( - inter)HY(face)YH(:)EP( - - ) 19 58 PR(namespace xml_schema -{ - struct content_order - { - content_order \201std::size_t id, std::size_t index = 0\202; - - std::size_t id; - std::size_t index; - }; - - bool - operator== \201const content_order&, const content_order&\202; - - bool - operator!= \201const content_order&, const content_order&\202; - - bool - operator< \201const content_order&, const content_order&\202; -})RP( - - )0 P(The )SM(content_order)ES( sequence describes the order of - content \201elements, includ)HY(ing)YH( wild)HY(cards)YH(, as well as mixed content - text\202. Each entry in this sequence consists of the content id - \201for example, )SM(with)HY(draw)YH(_id)ES( or )SM(deposit_id)ES( - in our case\202 as well as, for elements of the sequence cardi)HY(nal)HY(ity)YH( - class, an index into the corre)HY(spond)HY(ing)YH( sequence container \201the - index is unused for the one and optional cardi)HY(nal)HY(ity)YH( classes\202. - For example, in our case, if the content id is )SM(with)HY(draw)YH(_id)ES(, - then the index will point into the )SM(with)HY(draw)YH()ES( element - sequence.)EP( - - )0 P(With all this infor)HY(ma)HY(tion)YH( we can now examine how to iterate over - trans)HY(ac)HY(tion)YH( in the batch in content order:)EP( - - ) 26 73 PR(batch& b = ... - -for \201batch::content_order_const_iterator i \201b.content_order \201\202.begin \201\202\202; - i != b.content_order \201\202.end \201\202; - ++i\202 -{ - switch \201i->id\202 - { - case batch::withdraw_id: - { - const withdraw& t \201b.withdraw \201\202[i->index]\202; - cerr << t.account \201\202 << " withdraw " << t.amount \201\202 << endl; - break; - } - case batch::deposit_id: - { - const deposit& t \201b.deposit \201\202[i->index]\202; - cerr << t.account \201\202 << " deposit " << t.amount \201\202 << endl; - break; - } - default: - { - assert \201false\202; // Unknown content id. - } - } -})RP( - - )0 P(If we seri)HY(al)HY(ized)YH( our batch back to XML, we would also see that the - order of trans)HY(ac)HY(tions)YH( in the output is exactly the same as in the - input rather than all the with)HY(drawals)YH( first followed by all the - deposits.)EP( - - )0 P(The most complex aspect of working with ordered types is - modi)HY(fi)HY(ca)HY(tions)YH(. Now we not only need to change the content, - but also remem)HY(ber)YH( to update the order infor)HY(ma)HY(tion)YH( corre)HY(spond)HY(ing)YH( - to this change. As a first example, we add a deposit trans)HY(ac)HY(tion)YH( - to the batch:)EP( - - ) 8 64 PR(using xml_schema::content_order; - -batch::deposit_sequence& d \201b.deposit \201\202\202; -batch::withdraw_sequence& w \201b.withdraw \201\202\202; -batch::content_order_sequence& co \201b.content_order \201\202\202; - -d.push_back \201deposit \201123456789, 100000\202\202; -co.push_back \201content_order \201batch::deposit_id, d.size \201\202 - 1\202\202;)RP( - - )0 P(In the above example we first added the content \201deposit - trans)HY(ac)HY(tion)YH(\202 and then updated the content order infor)HY(ma)HY(tion)YH( - by adding an entry with )SM(deposit_id)ES( content - id and the index of the just added deposit trans)HY(ac)HY(tion)YH(.)EP( - - )0 P(Remov)HY(ing)YH( the last trans)HY(ac)HY(tion)YH( can be easy if we know which - trans)HY(ac)HY(tion)YH( \201deposit or with)HY(drawal)YH(\202 is last:)EP( - - ) 2 15 PR(d.pop_back \201\202; -co.pop_back \201\202;)RP( - - )0 P(If, however, we do not know which trans)HY(ac)HY(tion)YH( is last, then - things get a bit more compli)HY(cated)YH(:)EP( - - ) 15 24 PR(switch \201co.back \201\202.id\202 -{ -case batch::withdraw_id: - { - d.pop_back \201\202; - break; - } -case batch::deposit_id: - { - w.pop_back \201\202; - break; - } -} - -co.pop_back \201\202;)RP( - - )0 P(The follow)HY(ing)YH( example shows how to add a trans)HY(ac)HY(tion)YH( at the - begin)HY(ning)YH( of the batch:)EP( - - ) 3 62 PR(w.push_back \201withdraw \201123456789, 100000\202\202; -co.insert \201co.begin \201\202, - content_order \201batch::withdraw_id, w.size \201\202 - 1\202\202;)RP( - - )0 P(Note also that when we merely modify the content of one - of the elements in place, we do not need to update its - order since it doesn't change. For example, here is how - we can change the amount in the first with)HY(drawal)YH(:)EP( - - ) 1 20 PR(w[0].amount \20110000\202;)RP( - - )0 P(For the complete working code shown in this section refer to the - )SM(order/element)ES( example in the - )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( in the XSD distri)HY(bu)HY(tion)YH(.)EP( - - )0 P(If both the base and derived types are ordered, then the - content order sequence is only added to the base and the content - ids are unique within the whole hier)HY(ar)HY(chy)YH(. In this case - the content order sequence for the derived type contains - order)HY(ing)YH( infor)HY(ma)HY(tion)YH( for both base and derived content.)EP( - - )0 P(In some appli)HY(ca)HY(tions)YH( we may need to perform more complex - content process)HY(ing)YH(. For example, in our case, we may need - to remove all the with)HY(drawal)YH( trans)HY(ac)HY(tions)YH(. The default - container, )SM(std::vector)ES(, is not partic)HY(u)HY(larly)YH( - suit)HY(able)YH( for such oper)HY(a)HY(tions)YH(. What may be required by - some appli)HY(ca)HY(tions)YH( is a multi-index container that not - only allows us to iterate in content order similar to - )SM(std::vector)ES( but also search by the content - id as well as the content id and index pair.)EP( - - )0 P(While C++/Tree does not provide this func)HY(tion)HY(al)HY(ity)YH( by - default, it allows us to specify a custom container - type for content order with the )SM(--order-container)ES( - command line option. The only require)HY(ment)YH( from the - gener)HY(ated)YH( code side for such a container is to provide - the )SM(vector)ES(-like )SM(push_back\201\202)ES(, - )SM(size\201\202)ES(, and const iter)HY(a)HY(tion)YH( inter)HY(faces)YH(.)EP( - - )0 P(As an example, here is how we can use the Boost Multi-Index - container for content order. First we create the - )SM(content-order-container.hxx)ES( header with the - follow)HY(ing)YH( defi)HY(ni)HY(tion)YH( \201in C++11, use the alias template - instead\202:)EP( - - ) 33 58 PR(#ifndef CONTENT_ORDER_CONTAINER -#define CONTENT_ORDER_CONTAINER - -#include <cstddef> // std::size_t - -#include <boost/multi_index_container.hpp> -#include <boost/multi_index/member.hpp> -#include <boost/multi_index/identity.hpp> -#include <boost/multi_index/ordered_index.hpp> -#include <boost/multi_index/random_access_index.hpp> - -struct by_id {}; -struct by_id_index {}; - -template <typename T> -struct content_order_container: - boost::multi_index::multi_index_container< - T, - boost::multi_index::indexed_by< - boost::multi_index::random_access<>, - boost::multi_index::ordered_unique< - boost::multi_index::tag<by_id_index>, - boost::multi_index::identity<T> - >, - boost::multi_index::ordered_non_unique< - boost::multi_index::tag<by_id>, - boost::multi_index::member<T, std::size_t, &T::id> - > - > - > -{};)WR( - -#endif)RP( - - )0 P(Next we add the follow)HY(ing)YH( two XSD compiler options to include - this header into every gener)HY(ated)YH( header file and to use the - custom container type \201see the XSD compiler command line manual - for more infor)HY(ma)HY(tion)YH( on shell quoting for the first option\202:)EP( - - ) 2 55 PR(--hxx-prologue '#include "content-order-container.hxx"' ---order-container content_order_container)RP( - - )0 P(With these changes we can now use the multi-index func)HY(tion)HY(al)HY(ity)YH(, - for example, to search for a specific content id:)EP( - - ) 13 65 PR(typedef batch::content_order_sequence::index<by_id>::type id_set; -typedef id_set::iterator id_iterator; - -const id_set& ids \201b.content_order \201\202.get<by_id> \201\202\202; - -std::pair<id_iterator, id_iterator> r \201 - ids.equal_range \201std::size_t \201batch::deposit_id\202\202; - -for \201id_iterator i \201r.first\202; i != r.second; ++i\202 -{ - const deposit& t \201b.deposit \201\202[i->index]\202; - cerr << t.account \201\202 << " deposit " << t.amount \201\202 << endl; -})RP( - - )0 2 48 H(2.9)WB 145 Sn()WB 52 Sn( Mapping for Global Elements)EA()EH( - - )0 P(An XML Schema element defi)HY(ni)HY(tion)YH( is called global if it appears - directly under the )SM(schema)ES( element. - A global element is a valid root of an instance docu)HY(ment)YH(. By - default, a global element is mapped to a set of over)HY(loaded)YH( - parsing and, option)HY(ally)YH(, seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( with the - same name as the element. It is also possi)HY(ble)YH( to gener)HY(ate)YH( types - for root elements instead of parsing and seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(. - This is primar)HY(ily)YH( useful to distin)HY(guish)YH( object models with the - same root type but with differ)HY(ent)YH( root elements. See - )0 53 1 A(Section 2.9.1, "Element Types")53 0 TN TL()Ec /AF f D( for details. - It is also possi)HY(ble)YH( to request the gener)HY(a)HY(tion)YH( of an element map - which allows uniform parsing and seri)HY(al)HY(iza)HY(tion)YH( of multi)HY(ple)YH( root - elements. See )0 54 1 A(Section 2.9.2, "Element Map")54 0 TN TL()Ec /AF f D( - for details. - )EP( - - )0 P(The parsing func)HY(tions)YH( read XML instance docu)HY(ments)YH( and return - corre)HY(spond)HY(ing)YH( object models as an auto)HY(matic)YH( pointer - \201)SM(std::auto_ptr)ES( or )SM(std::unique_ptr)ES(, - depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected\202. Their signa)HY(tures)YH( - have the follow)HY(ing)YH( pattern \201)SM(type)ES( denotes - element's type and )SM(name)ES( denotes element's - name\202: - )EP( - - ) 2 28 PR(std::[auto|unique]_ptr<type> -name \201....\202;)RP( - - )0 P(The process of parsing, includ)HY(ing)YH( the exact signa)HY(tures)YH( of the parsing - func)HY(tions)YH(, is the subject of )0 64 1 A(Chapter 3, "Parsing")64 0 TN TL()Ec /AF f D(. - )EP( - - )0 P(The seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( write object models back to XML instance - docu)HY(ments)YH(. Their signa)HY(tures)YH( have the follow)HY(ing)YH( pattern: - )EP( - - ) 2 41 PR(void -name \201<stream type>&, const type&, ....\202;)RP( - - )0 P(The process of seri)HY(al)HY(iza)HY(tion)YH(, includ)HY(ing)YH( the exact signa)HY(tures)YH( of the - seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(, is the subject of )0 81 1 A(Chapter 4, - "Seri)HY(al)HY(iza)HY(tion)YH(")81 0 TN TL()Ec /AF f D(. - )EP( - - - )0 3 49 H(2.9.1)WB 146 Sn()WB 53 Sn( Element Types)EA()EH( - - )0 P(The gener)HY(a)HY(tion)YH( of element types is requested with the - )SM(--gener)HY(ate)YH(-element-map)ES( option. With this option - each global element is mapped to a C++ class with the - same name as the element. Such a class is derived from - )SM(xml_schema::element_type)ES( and contains the same set - of type defi)HY(ni)HY(tions)YH(, construc)HY(tors)YH(, and member func)HY(tion)YH( as would a - type contain)HY(ing)YH( a single element with the One cardi)HY(nal)HY(ity)YH( class - named )SM("value")ES(. In addi)HY(tion)YH(, the element type also - contains a set of member func)HY(tions)YH( for access)HY(ing)YH( the element - name and names)HY(pace)YH( as well as its value in a uniform manner. - For example:)EP( - - ) 7 34 PR(<complexType name="type"> - <sequence> - ... - </sequence> -</complexType> - -<element name="root" type="type"/>)RP( - -)0 P(is mapped to:)EP( - - ) 62 59 PR(class type -{ - ... -}; - -class root: public xml_schema::element_type -{ -public: - // Element value. - // - typedef type value_type; - - const value_type& - value \201\202 const; - - value_type& - value \201\202; - - void - value \201const value_type&\202; - - void - value \201std::[auto|unique]_ptr<value_type>\202; - - // Constructors. - // - root \201const value_type&\202; - - root \201std::[auto|unique]_ptr<value_type>\202; - - root \201const xercesc::DOMElement&, xml_schema::flags = 0\202;)WR( - - root \201const root&, xml_schema::flags = 0\202; - - virtual root* - _clone \201xml_schema::flags = 0\202 const; - - // Element name and namespace. - // - static const std::string& - name \201\202; - - static const std::string& - namespace_ \201\202; - - virtual const std::string& - _name \201\202 const; - - virtual const std::string& - _namespace \201\202 const; - - // Element value as xml_schema::type. - // - virtual const xml_schema::type* - _value \201\202 const; - - virtual xml_schema::type* - _value \201\202; -}; - -void)WR( -operator<< \201xercesc::DOMElement&, const root&\202;)RP( - - )0 P(The )SM(xml_schema::element_type)ES( class is a common - base type for all element types and is defined as follows:)EP( - - ) 24 39 PR(namespace xml_schema -{ - class element_type - { - public: - virtual - ~element_type \201\202; - - virtual element_type* - _clone \201flags f = 0\202 const = 0; - - virtual const std::basic_string<C>& - _name \201\202 const = 0; - - virtual const std::basic_string<C>& - _namespace \201\202 const = 0; - - virtual xml_schema::type* - _value \201\202 = 0; - - virtual const xml_schema::type* - _value \201\202 const = 0; - }; -})RP( - - )0 P(The )SM(_value\201\202)ES( member func)HY(tion)YH( returns a pointer to - the element value or 0 if the element is of a funda)HY(men)HY(tal)YH( C++ - type and there)HY(fore)YH( is not derived from )SM(xml_schema::type)ES(. - )EP( - - )0 P(Unlike parsing and seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(, element types - are only capable of parsing and seri)HY(al)HY(iz)HY(ing)YH( from/to a - )SM(DOMEle)HY(ment)YH()ES( object. This means that the appli)HY(ca)HY(tion)YH( - will need to perform its own XML-to-DOM parsing and DOM-to-XML - seri)HY(al)HY(iza)HY(tion)YH(. The follow)HY(ing)YH( section describes a mech)HY(a)HY(nism)YH( - provided by the mapping to uniformly parse and seri)HY(al)HY(ize)YH( - multi)HY(ple)YH( root elements.)EP( - - - )0 3 50 H(2.9.2)WB 147 Sn()WB 54 Sn( Element Map)EA()EH( - - )0 P(When element types are gener)HY(ated)YH( for root elements it is also - possi)HY(ble)YH( to request the gener)HY(a)HY(tion)YH( of an element map with the - )SM(--gener)HY(ate)YH(-element-map)ES( option. The element map - allows uniform parsing and seri)HY(al)HY(iza)HY(tion)YH( of multi)HY(ple)YH( root - elements via the common )SM(xml_schema::element_type)ES( - base type. The )SM(xml_schema::element_map)ES( class is - defined as follows:)EP( - - ) 12 59 PR(namespace xml_schema -{ - class element_map - { - public: - static std::[auto|unique]_ptr<xml_schema::element_type> - parse \201const xercesc::DOMElement&, flags = 0\202; - - static void - serialize \201xercesc::DOMElement&, const element_type&\202; - }; -})RP( - - )0 P(The )SM(parse\201\202)ES( func)HY(tion)YH( creates the corre)HY(spond)HY(ing)YH( - element type object based on the element name and names)HY(pace)YH( - and returns it as an auto)HY(matic)YH( pointer \201)SM(std::auto_ptr)ES( - or )SM(std::unique_ptr)ES(, depend)HY(ing)YH( on the C++ stan)HY(dard)YH( - selected\202 to )SM(xml_schema::element_type)ES(. - The )SM(seri)HY(al)HY(ize)YH(\201\202)ES( func)HY(tion)YH( seri)HY(al)HY(izes)YH( the passed element - object to )SM(DOMEle)HY(ment)YH()ES(. Note that in case of - )SM(seri)HY(al)HY(ize)YH(\201\202)ES(, the )SM(DOMEle)HY(ment)YH()ES( object - should have the correct name and names)HY(pace)YH(. If no element type is - avail)HY(able)YH( for an element, both func)HY(tions)YH( throw the - )SM(xml_schema::no_element_info)ES( excep)HY(tion)YH(:)EP( - - ) 14 66 PR(struct no_element_info: virtual exception -{ - no_element_info \201const std::basic_string<C>& element_name, - const std::basic_string<C>& element_namespace\202; - - const std::basic_string<C>& - element_name \201\202 const; - - const std::basic_string<C>& - element_namespace \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The appli)HY(ca)HY(tion)YH( can discover the actual type of the element - object returned by )SM(parse\201\202)ES( either using - )SM(dynamic_cast)ES( or by compar)HY(ing)YH( element names and - names)HY(paces)YH(. The follow)HY(ing)YH( code frag)HY(ments)YH( illus)HY(trate)YH( how the - element map can be used:)EP( - - ) 18 50 PR(// Parsing. -// -DOMElement& e = ... // Parse XML to DOM. - -auto_ptr<xml_schema::element_type> r \201 - xml_schema::element_map::parse \201e\202\202; - -if \201root1 r1 = dynamic_cast<root1*> \201r.get \201\202\202\202 -{ - ... -} -else if \201r->_name == root2::name \201\202 && - r->_namespace \201\202 == root2::namespace_ \201\202\202 -{ - root2& r2 \201static_cast<root2&> \201*r\202\202; - - ... -})RP( - - ) 13 68 PR(// Serialization. -// -xml_schema::element_type& r = ... - -string name \201r._name \201\202\202; -string ns \201r._namespace \201\202\202; - -DOMDocument& doc = ... // Create a new DOMDocument with name and ns. -DOMElement& e \201*doc->getDocumentElement \201\202\202; - -xml_schema::element_map::serialize \201e, r\202; - -// Serialize DOMDocument to XML.)RP( - - - - )0 2 51 H(2.10)WB 148 Sn()WB 55 Sn( Mapping for Global Attributes)EA()EH( - - )0 P(An XML Schema attribute defi)HY(ni)HY(tion)YH( is called global if it appears - directly under the )SM(schema)ES( element. A global - attribute does not have any mapping. - )EP( - - - - )0 2 52 H(2.11)WB 149 Sn()WB 56 Sn( Mapping for )SM(xsi:type)ES( and Substi)HY(tu)HY(tion)YH( - Groups)EA()EH( - - )0 P(The mapping provides optional support for the XML Schema poly)HY(mor)HY(phism)YH( - features \201)SM(xsi:type)ES( and substi)HY(tu)HY(tion)YH( groups\202 which can - be requested with the )SM(--gener)HY(ate)YH(-poly)HY(mor)HY(phic)YH()ES( option. - When used, the dynamic type of a member may be differ)HY(ent)YH( from - its static type. Consider the follow)HY(ing)YH( schema defi)HY(ni)HY(tion)YH( and - instance docu)HY(ment)YH(: - )EP( - - ) 28 62 PR(<!-- test.xsd --> -<schema> - <complexType name="base"> - <attribute name="text" type="string"/> - </complexType> - - <complexType name="derived"> - <complexContent> - <extension base="base"> - <attribute name="extra-text" type="string"/> - </extension> - </complexContent> - </complexType> - - <complexType name="root_type"> - <sequence> - <element name="item" type="base" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="root_type"/> -</schema> - -<!-- test.xml --> -<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <item text="hello"/> - <item text="hello" extra-text="world" xsi:type="derived"/> -</root>)RP( - - )0 P(In the result)HY(ing)YH( object model, the container for - the )SM(root::item)ES( member will have two elements: - the first element's type will be )SM(base)ES( while - the second element's \201dynamic\202 type will be - )SM(derived)ES(. This can be discov)HY(ered)YH( using the - )SM(dynamic_cast)ES( oper)HY(a)HY(tor)YH( as shown in the follow)HY(ing)YH( - example: - )EP( - - ) 17 56 PR(void -f \201root& r\202 -{ - for \201root::item_const_iterator i \201r.item \201\202.begin \201\202\202; - i != r.item \201\202.end \201\202 - ++i\202 - { - if \201derived* d = dynamic_cast<derived*> \201&\201*i\202\202\202 - { - // derived - } - else - { - // base - } - } -})RP( - - )0 P(The )SM(_clone)ES( virtual func)HY(tion)YH( should be used instead of - copy construc)HY(tors)YH( to make copies of members that might use - poly)HY(mor)HY(phism)YH(: - )EP( - - ) 10 56 PR(void -f \201root& r\202 -{ - for \201root::item_const_iterator i \201r.item \201\202.begin \201\202\202; - i != r.item \201\202.end \201\202 - ++i\202 - { - std::auto_ptr<base> c \201i->_clone \201\202\202; - } -})RP( - - )0 P(The mapping can often auto)HY(mat)HY(i)HY(cally)YH( deter)HY(mine)YH( which types are - poly)HY(mor)HY(phic)YH( based on the substi)HY(tu)HY(tion)YH( group decla)HY(ra)HY(tions)YH(. However, - if your XML vocab)HY(u)HY(lary)YH( is not using substi)HY(tu)HY(tion)YH( groups or if - substi)HY(tu)HY(tion)YH( groups are defined in a sepa)HY(rate)YH( schema, then you will - need to use the )SM(--poly)HY(mor)HY(phic)YH(-type)ES( option to specify - which types are poly)HY(mor)HY(phic)YH(. When using this option you only need - to specify the root of a poly)HY(mor)HY(phic)YH( type hier)HY(ar)HY(chy)YH( and the mapping - will assume that all the derived types are also poly)HY(mor)HY(phic)YH(. - Also note that you need to specify this option when compil)HY(ing)YH( every - schema file that refer)HY(ences)YH( the poly)HY(mor)HY(phic)YH( type. Consider the follow)HY(ing)YH( - two schemas as an example:)EP( - - ) 13 55 PR(<!-- base.xsd --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="base"> - <xs:sequence> - <xs:element name="b" type="xs:int"/> - </xs:sequence> - </xs:complexType> - - <!-- substitution group root --> - <xs:element name="base" type="base"/> - -</xs:schema>)RP( - - ) 18 70 PR(<!-- derived.xsd --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <include schemaLocation="base.xsd"/> - - <xs:complexType name="derived"> - <xs:complexContent> - <xs:extension base="base"> - <xs:sequence> - <xs:element name="d" type="xs:string"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="derived" type="derived" substitutionGroup="base"/> - -</xs:schema>)RP( - - )0 P(In this example we need to specify ")SM(--poly)HY(mor)HY(phic)YH(-type base)ES(" - when compil)HY(ing)YH( both schemas because the substi)HY(tu)HY(tion)YH( group is declared - in a schema other than the one defin)HY(ing)YH( type )SM(base)ES(.)EP( - - )0 P(You can also indi)HY(cate)YH( that all types should be treated as poly)HY(mor)HY(phic)YH( - with the )SM(--poly)HY(mor)HY(phic)YH(-type-all)ES(. However, this may result - in slower gener)HY(ated)YH( code with a greater foot)HY(print)YH(.)EP( - - - - - - )0 2 53 H(2.12)WB 150 Sn()WB 57 Sn( Mapping for )SM(any)ES( and )SM(anyAt)HY(tribute)YH()ES()EA()EH( - - )0 P(For the XML Schema )SM(any)ES( and )SM(anyAt)HY(tribute)YH()ES( - wild)HY(cards)YH( an optional mapping can be requested with the - )SM(--gener)HY(ate)YH(-wild)HY(card)YH()ES( option. The mapping repre)HY(sents)YH( - the content matched by wild)HY(cards)YH( as DOM frag)HY(ments)YH(. Because the - DOM API is used to access such content, the Xerces-C++ runtime - should be initial)HY(ized)YH( by the appli)HY(ca)HY(tion)YH( prior to parsing and - should remain initial)HY(ized)YH( for the life)HY(time)YH( of objects with - the wild)HY(card)YH( content. For more infor)HY(ma)HY(tion)YH( on the Xerces-C++ - runtime initial)HY(iza)HY(tion)YH( see )0 65 1 A(Section 3.1, - "Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime")65 0 TN TL()Ec /AF f D(. - )EP( - - )0 P(The mapping for )SM(any)ES( is similar to the mapping for - local elements \201see )0 47 1 A(Section 2.8, "Mapping for Local - Elements and Attributes")47 0 TN TL()Ec /AF f D(\202 except that the type used in the - wild)HY(card)YH( mapping is )SM(xercesc::DOMEle)HY(ment)YH()ES(. As with local - elements, the mapping divides all possi)HY(ble)YH( cardi)HY(nal)HY(ity)YH( combi)HY(na)HY(tions)YH( - into three cardi)HY(nal)HY(ity)YH( classes: )I(one)ES(, )I(optional)ES(, and - )I(sequence)ES(. - )EP( - - )0 P(The mapping for )SM(anyAt)HY(tribute)YH()ES( repre)HY(sents)YH( the attributes - matched by this wild)HY(card)YH( as a set of )SM(xercesc::DOMAttr)ES( - objects with a key being the attribute's name and names)HY(pace)YH(.)EP( - - )0 P(Similar to local elements and attributes, the )SM(any)ES( and - )SM(anyAt)HY(tribute)YH()ES( wild)HY(cards)YH( are mapped to a set of public type - defi)HY(ni)HY(tions)YH( \201type)HY(defs)YH(\202 and a set of public acces)HY(sor)YH( and modi)HY(fier)YH( - func)HY(tions)YH(. Type defi)HY(ni)HY(tions)YH( have names derived from )SM("any")ES( - for the )SM(any)ES( wild)HY(card)YH( and )SM("any_attribute")ES( - for the )SM(anyAt)HY(tribute)YH()ES( wild)HY(card)YH(. The acces)HY(sor)YH( and modi)HY(fier)YH( - func)HY(tions)YH( are named )SM("any")ES( for the )SM(any)ES( wild)HY(card)YH( - and )SM("any_attribute")ES( for the )SM(anyAt)HY(tribute)YH()ES( - wild)HY(card)YH(. Subse)HY(quent)YH( wild)HY(cards)YH( in the same type have escaped names - such as )SM("any1")ES( or )SM("any_attribute1")ES(. - )EP( - - )0 P(Because Xerces-C++ DOM nodes always belong to a )SM(DOMDoc)HY(u)HY(ment)YH()ES(, - each type with a wild)HY(card)YH( has an asso)HY(ci)HY(ated)YH( )SM(DOMDoc)HY(u)HY(ment)YH()ES( - object. The refer)HY(ence)YH( to this object can be obtained using the acces)HY(sor)YH( - func)HY(tion)YH( called )SM(dom_docu)HY(ment)YH()ES(. The access to the docu)HY(ment)YH( - object from the appli)HY(ca)HY(tion)YH( code may be neces)HY(sary)YH( to create or modify - the wild)HY(card)YH( content. For example: - )EP( - - ) 6 37 PR(<complexType name="object"> - <sequence> - <any namespace="##other"/> - </sequence> - <anyAttribute namespace="##other"/> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 37 73 PR(class object: public xml_schema::type -{ -public: - // any - // - const xercesc::DOMElement& - any \201\202 const; - - void - any \201const xercesc::DOMElement&\202; - - ... - - // any_attribute - // - typedef attribute_set any_attribute_set; - typedef any_attribute_set::iterator any_attribute_iterator; - typedef any_attribute_set::const_iterator any_attribute_const_iterator; - - const any_attribute_set& - any_attribute \201\202 const; - - any_attribute_set& - any_attribute \201\202; - - ... - - // DOMDocument object for wildcard content. - // - const xercesc::DOMDocument& - dom_document \201\202 const;)WR( - - xercesc::DOMDocument& - dom_document \201\202; - - ... -};)RP( - - - )0 P(Names and seman)HY(tics)YH( of type defi)HY(ni)HY(tions)YH( for the wild)HY(cards)YH( as well - as signa)HY(tures)YH( of the acces)HY(sor)YH( and modi)HY(fier)YH( func)HY(tions)YH( depend on the - wild)HY(card)YH( type as well as the cardi)HY(nal)HY(ity)YH( class for the )SM(any)ES( - wild)HY(card)YH(. They are described in the follow)HY(ing)YH( sub-sections. - )EP( - - - )0 3 54 H(2.12.1)WB 151 Sn()WB 58 Sn( Mapping for )SM(any)ES( with the One Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For )SM(any)ES( with the One cardi)HY(nal)HY(ity)YH( class, - there are no type defi)HY(ni)HY(tions)YH(. The acces)HY(sor)YH( func)HY(tions)YH( come in - constant and non-constant versions. The constant acces)HY(sor)YH( func)HY(tion)YH( - returns a constant refer)HY(ence)YH( to )SM(xercesc::DOMEle)HY(ment)YH()ES( and - can be used for read-only access. The non-constant version returns - an unre)HY(stricted)YH( refer)HY(ence)YH( to )SM(xercesc::DOMEle)HY(ment)YH()ES( and can - be used for read-write access. - )EP( - - )0 P(The first modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of type refer)HY(ence)YH( - to constant )SM(xercesc::DOMEle)HY(ment)YH()ES( and makes a deep copy - of its argu)HY(ment)YH(. The second modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of - type pointer to )SM(xercesc::DOMEle)HY(ment)YH()ES(. This modi)HY(fier)YH( - func)HY(tion)YH( assumes owner)HY(ship)YH( of its argu)HY(ment)YH( and expects the element - object to be created using the DOM docu)HY(ment)YH( asso)HY(ci)HY(ated)YH( with this - instance. For example: - )EP( - - ) 5 30 PR(<complexType name="object"> - <sequence> - <any namespace="##other"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 22 37 PR(class object: public xml_schema::type -{ -public: - // Accessors. - // - const xercesc::DOMElement& - any \201\202 const; - - xercesc::DOMElement& - any \201\202; - - // Modifiers. - // - void - any \201const xercesc::DOMElement&\202; - - void - any \201xercesc::DOMElement*\202; - - ... - -};)RP( - - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 10 66 PR(void -f \201object& o, const xercesc::DOMElement& e\202 -{ - using namespace xercesc; - - DOMElement& e1 \201o.any \201\202\202; // get - o.any \201e\202 // set, deep copy - DOMDocument& doc \201o.dom_document \201\202\202; - o.any \201doc.createElement \201...\202\202; // set, assumes ownership -})RP( - - )0 3 55 H(2.12.2)WB 152 Sn()WB 59 Sn( Mapping for )SM(any)ES( with the Optional Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For )SM(any)ES( with the Optional cardi)HY(nal)HY(ity)YH( class, the type - defi)HY(ni)HY(tions)YH( consist of an alias for the container type with name - )SM(any_optional)ES( \201or )SM(any1_optional)ES(, etc., for - subse)HY(quent)YH( wild)HY(cards)YH( in the type defi)HY(ni)HY(tion)YH(\202. - )EP( - - )0 P(Unlike acces)HY(sor)YH( func)HY(tions)YH( for the One cardi)HY(nal)HY(ity)YH( class, acces)HY(sor)YH( - func)HY(tions)YH( for the Optional cardi)HY(nal)HY(ity)YH( class return refer)HY(ences)YH( to - corre)HY(spond)HY(ing)YH( contain)HY(ers)YH( rather than directly to )SM(DOMEle)HY(ment)YH()ES(. - The acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to - the container and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the container - and can be used for read-write access. - )EP( - - )0 P(The modi)HY(fier)YH( func)HY(tions)YH( are over)HY(loaded)YH( for )SM(xercesc::DOMEle)HY(ment)YH()ES( - and the container type. The first modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of - type refer)HY(ence)YH( to constant )SM(xercesc::DOMEle)HY(ment)YH()ES( and - makes a deep copy of its argu)HY(ment)YH(. The second modi)HY(fier)YH( func)HY(tion)YH( - expects an argu)HY(ment)YH( of type pointer to )SM(xercesc::DOMEle)HY(ment)YH()ES(. - This modi)HY(fier)YH( func)HY(tion)YH( assumes owner)HY(ship)YH( of its argu)HY(ment)YH( and expects - the element object to be created using the DOM docu)HY(ment)YH( asso)HY(ci)HY(ated)YH( - with this instance. The third modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( - of type refer)HY(ence)YH( to constant of the container type and makes a - deep copy of its argu)HY(ment)YH(. For instance: - )EP( - - ) 5 44 PR(<complexType name="object"> - <sequence> - <any namespace="##other" minOccurs="0"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 29 40 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef element_optional any_optional; - - // Accessors. - // - const any_optional& - any \201\202 const; - - any_optional& - any \201\202; - - // Modifiers. - // - void - any \201const xercesc::DOMElement&\202; - - void - any \201xercesc::DOMElement*\202; - - void - any \201const any_optional&\202; - - ... - -};)RP( - - - )0 P(The )SM(element_optional)ES( container is a - special)HY(iza)HY(tion)YH( of the )SM(optional)ES( class template described - in )0 49 1 A(Section 2.8.2, "Mapping for Members with the Optional - Cardi)HY(nal)HY(ity)YH( Class")49 0 TN TL()Ec /AF f D(. Its inter)HY(face)YH( is presented below: - )EP( - - ) 72 71 PR(class element_optional -{ -public: - explicit - element_optional \201xercesc::DOMDocument&\202; - - // Makes a deep copy. - // - element_optional \201const xercesc::DOMElement&, xercesc::DOMDocument&\202; - - // Assumes ownership. - // - element_optional \201xercesc::DOMElement*, xercesc::DOMDocument&\202; - - element_optional \201const element_optional&, xercesc::DOMDocument&\202; - -public: - element_optional& - operator= \201const xercesc::DOMElement&\202; - - element_optional& - operator= \201const element_optional&\202; - - // Pointer-like interface. - // -public: - const xercesc::DOMElement* - operator-> \201\202 const; - - xercesc::DOMElement* - operator-> \201\202;)WR( - - const xercesc::DOMElement& - operator* \201\202 const; - - xercesc::DOMElement& - operator* \201\202; - - typedef void \201element_optional::*bool_convertible\202 \201\202; - operator bool_convertible \201\202 const; - - // Get/set interface. - // -public: - bool - present \201\202 const; - - const xercesc::DOMElement& - get \201\202 const; - - xercesc::DOMElement& - get \201\202; - - // Makes a deep copy. - // - void - set \201const xercesc::DOMElement&\202; - - // Assumes ownership. - // - void)WR( - set \201xercesc::DOMElement*\202; - - void - reset \201\202; -}; - -bool -operator== \201const element_optional&, const element_optional&\202; - -bool -operator!= \201const element_optional&, const element_optional&\202;)RP( - - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 25 69 PR(void -f \201object& o, const xercesc::DOMElement& e\202 -{ - using namespace xercesc; - - DOMDocument& doc \201o.dom_document \201\202\202; - - if \201o.any \201\202.present \201\202\202 // test - { - DOMElement& e1 \201o.any \201\202.get \201\202\202; // get - o.any \201\202.set \201e\202; // set, deep copy - o.any \201\202.set \201doc.createElement \201...\202\202; // set, assumes ownership - o.any \201\202.reset \201\202; // reset - } - - // Same as above but using pointer notation: - // - if \201o.member \201\202\202 // test - { - DOMElement& e1 \201*o.any \201\202\202; // get - o.any \201e\202; // set, deep copy - o.any \201doc.createElement \201...\202\202; // set, assumes ownership - o.any \201\202.reset \201\202; // reset - } -})RP( - - - - )0 3 56 H(2.12.3)WB 153 Sn()WB 60 Sn( Mapping for )SM(any)ES( with the Sequence Cardi)HY(nal)HY(ity)YH( Class)EA()EH( - - )0 P(For )SM(any)ES( with the Sequence cardi)HY(nal)HY(ity)YH( class, the type - defi)HY(ni)HY(tions)YH( consist of an alias of the container type with name - )SM(any_sequence)ES( \201or )SM(any1_sequence)ES(, etc., for - subse)HY(quent)YH( wild)HY(cards)YH( in the type defi)HY(ni)HY(tion)YH(\202, an alias of the iter)HY(a)HY(tor)YH( - type with name )SM(any_iter)HY(a)HY(tor)YH()ES( \201or )SM(any1_iter)HY(a)HY(tor)YH()ES(, - etc., for subse)HY(quent)YH( wild)HY(cards)YH( in the type defi)HY(ni)HY(tion)YH(\202, and an alias - of the constant iter)HY(a)HY(tor)YH( type with name )SM(any_const_iter)HY(a)HY(tor)YH()ES( - \201or )SM(any1_const_iter)HY(a)HY(tor)YH()ES(, etc., for subse)HY(quent)YH( wild)HY(cards)YH( - in the type defi)HY(ni)HY(tion)YH(\202. - )EP( - - )0 P(The acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to the - container and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the container and can - be used for read-write access. - )EP( - - )0 P(The modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to - constant of the container type. The modi)HY(fier)YH( func)HY(tion)YH( makes - a deep copy of its argu)HY(ment)YH(. For instance: - )EP( - - - ) 5 52 PR(<complexType name="object"> - <sequence> - <any namespace="##other" minOccurs="unbounded"/> - </sequence> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 25 58 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef element_sequence any_sequence; - typedef any_sequence::iterator any_iterator; - typedef any_sequence::const_iterator any_const_iterator; - - // Accessors. - // - const any_sequence& - any \201\202 const; - - any_sequence& - any \201\202; - - // Modifier. - // - void - any \201const any_sequence&\202; - - ... - -};)RP( - - )0 P(The )SM(element_sequence)ES( container is a - special)HY(iza)HY(tion)YH( of the )SM(sequence)ES( class template described - in )0 50 1 A(Section 2.8.3, "Mapping for Members with the - Sequence Cardi)HY(nal)HY(ity)YH( Class")50 0 TN TL()Ec /AF f D(. Its inter)HY(face)YH( is similar to - the sequence inter)HY(face)YH( as defined by the ISO/ANSI Stan)HY(dard)YH( for - C++ \201ISO/IEC 14882:1998, Section 23.1.1, "Sequences"\202 and is - presented below: - )EP( - - ) 178 70 PR(class element_sequence -{ -public: - typedef xercesc::DOMElement value_type; - typedef xercesc::DOMElement* pointer; - typedef const xercesc::DOMElement* const_pointer; - typedef xercesc::DOMElement& reference; - typedef const xercesc::DOMElement& const_reference; - - typedef <implementation-defined> iterator; - typedef <implementation-defined> const_iterator; - typedef <implementation-defined> reverse_iterator; - typedef <implementation-defined> const_reverse_iterator; - - typedef <implementation-defined> size_type; - typedef <implementation-defined> difference_type; - typedef <implementation-defined> allocator_type; - -public: - explicit - element_sequence \201xercesc::DOMDocument&\202; - - // DOMElement cannot be default-constructed. - // - // explicit - // element_sequence \201size_type n\202; - - element_sequence \201size_type n, - const xercesc::DOMElement&, - xercesc::DOMDocument&\202; -)WR( - template <typename I> - element_sequence \201const I& begin, - const I& end, - xercesc::DOMDocument&\202; - - element_sequence \201const element_sequence&, xercesc::DOMDocument&\202; - - element_sequence& - operator= \201const element_sequence&\202; - -public: - void - assign \201size_type n, const xercesc::DOMElement&\202; - - template <typename I> - void - assign \201const I& begin, const I& end\202; - -public: - // This version of resize can only be used to shrink the - // sequence because DOMElement cannot be default-constructed. - // - void - resize \201size_type\202; - - void - resize \201size_type, const xercesc::DOMElement&\202; - -public: - size_type)WR( - size \201\202 const; - - size_type - max_size \201\202 const; - - size_type - capacity \201\202 const; - - bool - empty \201\202 const; - - void - reserve \201size_type\202; - - void - clear \201\202; - -public: - const_iterator - begin \201\202 const; - - const_iterator - end \201\202 const; - - iterator - begin \201\202; - - iterator - end \201\202; -)WR( - const_reverse_iterator - rbegin \201\202 const; - - const_reverse_iterator - rend \201\202 const - - reverse_iterator - rbegin \201\202; - - reverse_iterator - rend \201\202; - -public: - xercesc::DOMElement& - operator[] \201size_type\202; - - const xercesc::DOMElement& - operator[] \201size_type\202 const; - - xercesc::DOMElement& - at \201size_type\202; - - const xercesc::DOMElement& - at \201size_type\202 const; - - xercesc::DOMElement& - front \201\202; - - const xercesc::DOMElement& - front \201\202 const;)WR( - - xercesc::DOMElement& - back \201\202; - - const xercesc::DOMElement& - back \201\202 const; - -public: - // Makes a deep copy. - // - void - push_back \201const xercesc::DOMElement&\202; - - // Assumes ownership. - // - void - push_back \201xercesc::DOMElement*\202; - - void - pop_back \201\202; - - // Makes a deep copy. - // - iterator - insert \201iterator position, const xercesc::DOMElement&\202; - - // Assumes ownership. - // - iterator - insert \201iterator position, xercesc::DOMElement*\202;)WR( - - void - insert \201iterator position, size_type n, const xercesc::DOMElement&\202; - - template <typename I> - void - insert \201iterator position, const I& begin, const I& end\202; - - iterator - erase \201iterator position\202; - - iterator - erase \201iterator begin, iterator end\202; - -public: - // Note that the DOMDocument object of the two sequences being - // swapped should be the same. - // - void - swap \201sequence& x\202; -}; - -inline bool -operator== \201const element_sequence&, const element_sequence&\202; - -inline bool -operator!= \201const element_sequence&, const element_sequence&\202;)RP( - - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 20 63 PR(void -f \201object& o, const xercesc::DOMElement& e\202 -{ - using namespace xercesc; - - object::any_sequence& s \201o.any \201\202\202; - - // Iteration. - // - for \201object::any_iterator i \201s.begin \201\202\202; i != s.end \201\202; ++i\202 - { - DOMElement& e \201*i\202; - } - - // Modification. - // - s.push_back \201e\202; // deep copy - DOMDocument& doc \201o.dom_document \201\202\202; - s.push_back \201doc.createElement \201...\202\202; // assumes ownership -})RP( - - )0 3 57 H(2.12.4)WB 154 Sn()WB 61 Sn( Element Wild)HY(card)YH( Order)EA()EH( - - )0 P(Similar to elements, element wild)HY(cards)YH( in ordered types - \201)0 51 1 A(Section 2.8.4, "Element Order")51 0 TN TL()Ec /AF f D(\202 are assigned - content ids and are included in the content order sequence. - Contin)HY(u)HY(ing)YH( with the bank trans)HY(ac)HY(tions)YH( example started in Section - 2.8.4, we can extend the batch by allow)HY(ing)YH( custom trans)HY(ac)HY(tions)YH(:)EP( - - ) 7 52 PR(<complexType name="batch"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="withdraw" type="withdraw"/> - <element name="deposit" type="deposit"/> - <any namespace="##other" processContents="lax"/> - </choice> -</complexType>)RP( - - )0 P(This will lead to the follow)HY(ing)YH( changes in the gener)HY(ated)YH( - )SM(batch)ES( C++ class:)EP( - - ) 24 58 PR(class batch: public xml_schema::type -{ -public: - ... - - // any - // - typedef element_sequence any_sequence; - typedef any_sequence::iterator any_iterator; - typedef any_sequence::const_iterator any_const_iterator; - - static const std::size_t any_id = 3UL; - - const any_sequence& - any \201\202 const; - - any_sequence& - any \201\202; - - void - any \201const any_sequence&\202; - - ... -};)RP( - - )0 P(With this change we also need to update the iter)HY(a)HY(tion)YH( code to handle - the new content id:)EP( - - ) 18 73 PR(for \201batch::content_order_const_iterator i \201b.content_order \201\202.begin \201\202\202; - i != b.content_order \201\202.end \201\202; - ++i\202 -{ - switch \201i->id\202 - { - ... - - case batch::any_id: - { - const DOMElement& e \201b.any \201\202[i->index]\202; - ... - break; - } - - ... - } -})RP( - - )0 P(For the complete working code that shows the use of wild)HY(cards)YH( in - ordered types refer to the )SM(order/element)ES( example in - the )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( in the XSD - distri)HY(bu)HY(tion)YH(.)EP( - - )0 3 58 H(2.12.5)WB 155 Sn()WB 62 Sn( Mapping for )SM(anyAt)HY(tribute)YH()ES()EA()EH( - - )0 P(For )SM(anyAt)HY(tribute)YH()ES( the type defi)HY(ni)HY(tions)YH( consist of an alias - of the container type with name )SM(any_attribute_set)ES( - \201or )SM(any1_attribute_set)ES(, etc., for subse)HY(quent)YH( wild)HY(cards)YH( - in the type defi)HY(ni)HY(tion)YH(\202, an alias of the iter)HY(a)HY(tor)YH( type with name - )SM(any_attribute_iter)HY(a)HY(tor)YH()ES( \201or )SM(any1_attribute_iter)HY(a)HY(tor)YH()ES(, - etc., for subse)HY(quent)YH( wild)HY(cards)YH( in the type defi)HY(ni)HY(tion)YH(\202, and an alias - of the constant iter)HY(a)HY(tor)YH( type with name )SM(any_attribute_const_iter)HY(a)HY(tor)YH()ES( - \201or )SM(any1_attribute_const_iter)HY(a)HY(tor)YH()ES(, etc., for subse)HY(quent)YH( - wild)HY(cards)YH( in the type defi)HY(ni)HY(tion)YH(\202. - )EP( - - )0 P(The acces)HY(sor)YH( func)HY(tions)YH( come in constant and non-constant versions. - The constant acces)HY(sor)YH( func)HY(tion)YH( returns a constant refer)HY(ence)YH( to the - container and can be used for read-only access. The non-constant - version returns an unre)HY(stricted)YH( refer)HY(ence)YH( to the container and can - be used for read-write access. - )EP( - - )0 P(The modi)HY(fier)YH( func)HY(tion)YH( expects an argu)HY(ment)YH( of type refer)HY(ence)YH( to - constant of the container type. The modi)HY(fier)YH( func)HY(tion)YH( makes - a deep copy of its argu)HY(ment)YH(. For instance: - )EP( - - - ) 6 37 PR(<complexType name="object"> - <sequence> - ... - </sequence> - <anyAttribute namespace="##other"/> -</complexType>)RP( - - )0 P(is mapped to:)EP( - - ) 25 73 PR(class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef attribute_set any_attribute_set; - typedef any_attribute_set::iterator any_attribute_iterator; - typedef any_attribute_set::const_iterator any_attribute_const_iterator; - - // Accessors. - // - const any_attribute_set& - any_attribute \201\202 const; - - any_attribute_set& - any_attribute \201\202; - - // Modifier. - // - void - any_attribute \201const any_attribute_set&\202; - - ... - -};)RP( - - )0 P(The )SM(attribute_set)ES( class is an asso)HY(cia)HY(tive)YH( container - similar to the )SM(std::set)ES( class template as defined by - the ISO/ANSI Stan)HY(dard)YH( for C++ \201ISO/IEC 14882:1998, Section 23.3.3, - "Class template set"\202 with the key being the attribute's name - and names)HY(pace)YH(. Unlike )SM(std::set)ES(, )SM(attribute_set)ES( - allows search)HY(ing)YH( using names and names)HY(paces)YH( instead of - )SM(xercesc::DOMAttr)ES( objects. It is defined in an - imple)HY(men)HY(ta)HY(tion)YH(-specific names)HY(pace)YH( and its inter)HY(face)YH( is presented - below: - )EP( - - ) 166 70 PR(class attribute_set -{ -public: - typedef xercesc::DOMAttr key_type; - typedef xercesc::DOMAttr value_type; - typedef xercesc::DOMAttr* pointer; - typedef const xercesc::DOMAttr* const_pointer; - typedef xercesc::DOMAttr& reference; - typedef const xercesc::DOMAttr& const_reference; - - typedef <implementation-defined> iterator; - typedef <implementation-defined> const_iterator; - typedef <implementation-defined> reverse_iterator; - typedef <implementation-defined> const_reverse_iterator; - - typedef <implementation-defined> size_type; - typedef <implementation-defined> difference_type; - typedef <implementation-defined> allocator_type; - -public: - attribute_set \201xercesc::DOMDocument&\202; - - template <typename I> - attribute_set \201const I& begin, const I& end, xercesc::DOMDocument&\202; - - attribute_set \201const attribute_set&, xercesc::DOMDocument&\202; - - attribute_set& - operator= \201const attribute_set&\202; - -public:)WR( - const_iterator - begin \201\202 const; - - const_iterator - end \201\202 const; - - iterator - begin \201\202; - - iterator - end \201\202; - - const_reverse_iterator - rbegin \201\202 const; - - const_reverse_iterator - rend \201\202 const; - - reverse_iterator - rbegin \201\202; - - reverse_iterator - rend \201\202; - -public: - size_type - size \201\202 const; - - size_type - max_size \201\202 const;)WR( - - bool - empty \201\202 const; - - void - clear \201\202; - -public: - // Makes a deep copy. - // - std::pair<iterator, bool> - insert \201const xercesc::DOMAttr&\202; - - // Assumes ownership. - // - std::pair<iterator, bool> - insert \201xercesc::DOMAttr*\202; - - // Makes a deep copy. - // - iterator - insert \201iterator position, const xercesc::DOMAttr&\202; - - // Assumes ownership. - // - iterator - insert \201iterator position, xercesc::DOMAttr*\202; - - template <typename I> - void)WR( - insert \201const I& begin, const I& end\202; - -public: - void - erase \201iterator position\202; - - size_type - erase \201const std::basic_string<C>& name\202; - - size_type - erase \201const std::basic_string<C>& namespace_, - const std::basic_string<C>& name\202; - - size_type - erase \201const XMLCh* name\202; - - size_type - erase \201const XMLCh* namespace_, const XMLCh* name\202; - - void - erase \201iterator begin, iterator end\202; - -public: - size_type - count \201const std::basic_string<C>& name\202 const; - - size_type - count \201const std::basic_string<C>& namespace_, - const std::basic_string<C>& name\202 const; -)WR( - size_type - count \201const XMLCh* name\202 const; - - size_type - count \201const XMLCh* namespace_, const XMLCh* name\202 const; - - iterator - find \201const std::basic_string<C>& name\202; - - iterator - find \201const std::basic_string<C>& namespace_, - const std::basic_string<C>& name\202; - - iterator - find \201const XMLCh* name\202; - - iterator - find \201const XMLCh* namespace_, const XMLCh* name\202; - - const_iterator - find \201const std::basic_string<C>& name\202 const; - - const_iterator - find \201const std::basic_string<C>& namespace_, - const std::basic_string<C>& name\202 const; - - const_iterator - find \201const XMLCh* name\202 const; - - const_iterator)WR( - find \201const XMLCh* namespace_, const XMLCh* name\202 const; - -public: - // Note that the DOMDocument object of the two sets being - // swapped should be the same. - // - void - swap \201attribute_set&\202; -}; - -bool -operator== \201const attribute_set&, const attribute_set&\202; - -bool -operator!= \201const attribute_set&, const attribute_set&\202;)RP( - - )0 P(The follow)HY(ing)YH( code shows how one could use this mapping:)EP( - - ) 25 73 PR(void -f \201object& o, const xercesc::DOMAttr& a\202 -{ - using namespace xercesc; - - object::any_attribute_set& s \201o.any_attribute \201\202\202; - - // Iteration. - // - for \201object::any_attribute_iterator i \201s.begin \201\202\202; i != s.end \201\202; ++i\202 - { - DOMAttr& a \201*i\202; - } - - // Modification. - // - s.insert \201a\202; // deep copy - DOMDocument& doc \201o.dom_document \201\202\202; - s.insert \201doc.createAttribute \201...\202\202; // assumes ownership - - // Searching. - // - object::any_attribute_iterator i \201s.find \201"name"\202\202; - i = s.find \201"http://www.w3.org/XML/1998/namespace", "lang"\202; -})RP( - - - - )0 2 59 H(2.13)WB 156 Sn()WB 63 Sn( Mapping for Mixed Content Models)EA()EH( - - )0 P(For XML Schema types with mixed content models C++/Tree provides - mapping support only if the type is marked as ordered - \201)0 51 1 A(Section 2.8.4, "Element Order")51 0 TN TL()Ec /AF f D(\202. Use the - )SM(--ordered-type-mixed)ES( XSD compiler option to - auto)HY(mat)HY(i)HY(cally)YH( mark all types with mixed content as ordered.)EP( - - )0 P(For an ordered type with mixed content, C++/Tree adds an extra - text content sequence that is used to store the text frag)HY(ments)YH(. - This text content sequence is also assigned the content id and - its entries are included in the content order sequence, just - like elements. As a result, it is possi)HY(ble)YH( to capture the order - between elements and text frag)HY(ments)YH(.)EP( - - )0 P(As an example, consider the follow)HY(ing)YH( schema that describes text - with embed)HY(ded)YH( links:)EP( - - ) 13 73 PR(<complexType name="anchor"> - <simpleContent> - <extension base="string"> - <attribute name="href" type="anyURI" use="required"/> - </extension> - </simpleContent> -</complexType> - -<complexType name="text" mixed="true"> - <sequence> - <element name="a" type="anchor" minOccurs="0" maxOccurs="unbounded"/> - </sequence> -</complexType>)RP( - - )0 P(The gener)HY(ated)YH( )SM(text)ES( C++ class will provide the follow)HY(ing)YH( - API \201assum)HY(ing)YH( it is marked as ordered\202:)EP( - - ) 57 78 PR(class text: public xml_schema::type -{ -public: - // a - // - typedef anchor a_type; - typedef sequence<a_type> a_sequence; - typedef a_sequence::iterator a_iterator; - typedef a_sequence::const_iterator a_const_iterator; - - static const std::size_t a_id = 1UL; - - const a_sequence& - a \201\202 const; - - a_sequence& - a \201\202; - - void - a \201const a_sequence&\202; - - // text_content - // - typedef xml_schema::string text_content_type; - typedef sequence<text_content_type> text_content_sequence; - typedef text_content_sequence::iterator text_content_iterator; - typedef text_content_sequence::const_iterator text_content_const_iterator; - - static const std::size_t text_content_id = 2UL; - - const text_content_sequence&)WR( - text_content \201\202 const; - - text_content_sequence& - text_content \201\202; - - void - text_content \201const text_content_sequence&\202; - - // content_order - // - typedef xml_schema::content_order content_order_type; - typedef std::vector<content_order_type> content_order_sequence; - typedef content_order_sequence::iterator content_order_iterator; - typedef content_order_sequence::const_iterator content_order_const_iterator; - - const content_order_sequence& - content_order \201\202 const; - - content_order_sequence& - content_order \201\202; - - void - content_order \201const content_order_sequence&\202; - - ... -};)RP( - - )0 P(Given this inter)HY(face)YH( we can iterate over both link elements - and text in content order. The follow)HY(ing)YH( code frag)HY(ment)YH( converts - our format to plain text with refer)HY(ences)YH(.)EP( - - ) 26 72 PR(const text& t = ... - -for \201text::content_order_const_iterator i \201t.content_order \201\202.begin \201\202\202; - i != t.content_order \201\202.end \201\202; - ++i\202 -{ - switch \201i->id\202 - { - case text::a_id: - { - const anchor& a \201t.a \201\202[i->index]\202; - cerr << a << "[" << a.href \201\202 << "]"; - break; - } - case text::text_content_id: - { - const xml_schema::string& s \201t.text_content \201\202[i->index]\202; - cerr << s; - break; - } - default: - { - assert \201false\202; // Unknown content id. - } - } -})RP( - - )0 P(For the complete working code that shows the use of mixed content - in ordered types refer to the )SM(order/mixed)ES( example in - the )SM(exam)HY(ples)YH(/cxx/tree/)ES( direc)HY(tory)YH( in the XSD - distri)HY(bu)HY(tion)YH(.)EP( - - - - - )0 1 60 H(3)WB 157 Sn()WB 64 Sn( Parsing)EA()EH( - - )0 P(This chapter covers various aspects of parsing XML instance - docu)HY(ments)YH( in order to obtain corre)HY(spond)HY(ing)YH( tree-like object - model. - )EP( - - )0 P(Each global XML Schema element in the form:)EP( - - ) 1 34 PR(<element name="name" type="type"/>)RP( - - )0 P(is mapped to 14 over)HY(loaded)YH( C++ func)HY(tions)YH( in the form:)EP( - - ) 96 65 PR(// Read from a URI or a local file. -// - -std::[auto|unique]_ptr<type> -name \201const std::basic_string<C>& uri, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201const std::basic_string<C>& uri, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201const std::basic_string<C>& uri, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - - -// Read from std::istream. -// - -std::[auto|unique]_ptr<type> -name \201std::istream&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201std::istream&,)WR( - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201std::istream&, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - - -std::[auto|unique]_ptr<type> -name \201std::istream&, - const std::basic_string<C>& id, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201std::istream&, - const std::basic_string<C>& id, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201std::istream&, - const std::basic_string<C>& id, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202;)WR( - - -// Read from InputSource. -// - -std::[auto|unique]_ptr<type> -name \201xercesc::InputSource&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201xercesc::InputSource&, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - -std::[auto|unique]_ptr<type> -name \201xercesc::InputSource&, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202; - - -// Read from DOM. -// - -std::[auto|unique]_ptr<type> -name \201const xercesc::DOMDocument&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202;)WR( - -std::[auto|unique]_ptr<type> -name \201xml_schema::dom::[auto|unique]_ptr<xercesc::DOMDocument>, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties \201\202\202;)RP( - - )0 P(You can choose between reading an XML instance from a local file, - URI, )SM(std::istream)ES(, )SM(xercesc::Input)HY(Source)YH()ES(, - or a pre-parsed DOM instance in the form of - )SM(xercesc::DOMDoc)HY(u)HY(ment)YH()ES(. All the parsing func)HY(tions)YH( - return a dynam)HY(i)HY(cally)YH( allo)HY(cated)YH( object model as either - )SM(std::auto_ptr)ES( or )SM(std::unique_ptr)ES(, - depend)HY(ing)YH( on the C++ stan)HY(dard)YH( selected. Each of these parsing - func)HY(tions)YH( is discussed in more detail in the follow)HY(ing)YH( sections. - )EP( - - )0 2 61 H(3.1)WB 158 Sn()WB 65 Sn( Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime)EA()EH( - - )0 P(Some parsing func)HY(tions)YH( expect you to initial)HY(ize)YH( the Xerces-C++ - runtime while others initial)HY(ize)YH( and termi)HY(nate)YH( it as part of their - work. The general rule is as follows: if a func)HY(tion)YH( has any argu)HY(ments)YH( - or return a value that is an instance of a Xerces-C++ type, then - this func)HY(tion)YH( expects you to initial)HY(ize)YH( the Xerces-C++ runtime. - Other)HY(wise)YH(, the func)HY(tion)YH( initial)HY(izes)YH( and termi)HY(nates)YH( the runtime for - you. Note that it is legal to have nested calls to the Xerces-C++ - initial)HY(ize)YH( and termi)HY(nate)YH( func)HY(tions)YH( as long as the calls are balanced. - )EP( - - )0 P(You can instruct parsing func)HY(tions)YH( that initial)HY(ize)YH( and termi)HY(nate)YH( - the runtime not to do so by passing the - )SM(xml_schema::flags::dont_initial)HY(ize)YH()ES( flag \201see - )0 66 1 A(Section 3.2, "Flags and Prop)HY(er)HY(ties)YH(")66 0 TN TL()Ec /AF f D(\202. - )EP( - - - )0 2 62 H(3.2)WB 159 Sn()WB 66 Sn( Flags and Prop)HY(er)HY(ties)YH()EA()EH( - - )0 P(Parsing flags and prop)HY(er)HY(ties)YH( are the last two argu)HY(ments)YH( of every - parsing func)HY(tion)YH(. They allow you to fine-tune the process of - instance vali)HY(da)HY(tion)YH( and parsing. Both argu)HY(ments)YH( are optional. - )EP( - - - )0 P(The follow)HY(ing)YH( flags are recog)HY(nized)YH( by the parsing func)HY(tions)YH(:)EP( - - )0 DL( )0 DT()SM(xml_schema::flags::keep_dom)ES( - )DD(Keep asso)HY(ci)HY(a)HY(tion)YH( between DOM nodes and the result)HY(ing)YH( - object model nodes. For more infor)HY(ma)HY(tion)YH( about DOM asso)HY(ci)HY(a)HY(tion)YH( - refer to )0 93 1 A(Section 5.1, "DOM Asso)HY(ci)HY(a)HY(tion)YH(")93 0 TN TL()Ec /AF f D(. - - )0 DT()SM(xml_schema::flags::own_dom)ES( - )DD(Assume owner)HY(ship)YH( of the DOM docu)HY(ment)YH( passed. This flag only - makes sense together with the )SM(keep_dom)ES( flag in - the call to the parsing func)HY(tion)YH( with the - )SM(xml_schema::dom::[auto|unique]_ptr<DOMDoc)HY(u)HY(ment)YH(>)ES( - argu)HY(ment)YH(. - - )0 DT()SM(xml_schema::flags::dont_vali)HY(date)YH()ES( - )DD(Do not vali)HY(date)YH( instance docu)HY(ments)YH( against schemas. - - )0 DT()SM(xml_schema::flags::dont_initial)HY(ize)YH()ES( - )DD(Do not initial)HY(ize)YH( the Xerces-C++ runtime. - )LD( - - )0 P(You can pass several flags by combin)HY(ing)YH( them using the bit-wise OR - oper)HY(a)HY(tor)YH(. For example:)EP( - - ) 4 61 PR(using xml_schema::flags; - -std::auto_ptr<type> r \201 - name \201"test.xml", flags::keep_dom | flags::dont_validate\202\202;)RP( - - )0 P(By default, vali)HY(da)HY(tion)YH( of instance docu)HY(ments)YH( is turned on even - though parsers gener)HY(ated)YH( by XSD do not assume instance - docu)HY(ments)YH( are valid. They include a number of checks that prevent - construc)HY(tion)YH( of incon)HY(sis)HY(tent)YH( object models. This, - however, does not mean that an instance docu)HY(ment)YH( that was - success)HY(fully)YH( parsed by the XSD-gener)HY(ated)YH( parsers is - valid per the corre)HY(spond)HY(ing)YH( schema. If an instance docu)HY(ment)YH( is not - "valid enough" for the gener)HY(ated)YH( parsers to construct consis)HY(tent)YH( - object model, one of the excep)HY(tions)YH( defined in - )SM(xml_schema)ES( names)HY(pace)YH( is thrown \201see - )0 67 1 A(Section 3.3, "Error Handling")67 0 TN TL()Ec /AF f D(\202. - )EP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on the Xerces-C++ runtime initial)HY(iza)HY(tion)YH( - refer to )0 65 1 A(Section 3.1, "Initial)HY(iz)HY(ing)YH( the Xerces-C++ - Runtime")65 0 TN TL()Ec /AF f D(. - )EP( - - )0 P(The )SM(xml_schema::prop)HY(er)HY(ties)YH()ES( class allows you to - program)HY(mat)HY(i)HY(cally)YH( specify schema loca)HY(tions)YH( to be used instead - of those spec)HY(i)HY(fied)YH( with the )SM(xsi::schemaLo)HY(ca)HY(tion)YH()ES( - and )SM(xsi::noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( attributes - in instance docu)HY(ments)YH(. The inter)HY(face)YH( of the )SM(prop)HY(er)HY(ties)YH()ES( - class is presented below: - )EP( - - ) 9 70 PR(class properties -{ -public: - void - schema_location \201const std::basic_string<C>& namespace_, - const std::basic_string<C>& location\202; - void - no_namespace_schema_location \201const std::basic_string<C>& location\202; -};)RP( - - )0 P(Note that all loca)HY(tions)YH( are rela)HY(tive)YH( to an instance docu)HY(ment)YH( unless - they are URIs. For example, if you want to use a local file as your - schema, then you will need to pass - )SM(file:///abso)HY(lute)YH(/path/to/your/schema)ES( as the loca)HY(tion)YH( - argu)HY(ment)YH(. - )EP( - - )0 2 63 H(3.3)WB 160 Sn()WB 67 Sn( Error Handling)EA()EH( - - )0 P(As discussed in )0 14 1 A(Section 2.2, "Error Handling")14 0 TN TL()Ec /AF f D(, - the mapping uses the C++ excep)HY(tion)YH( handling mech)HY(a)HY(nism)YH( as its primary - way of report)HY(ing)YH( error condi)HY(tions)YH(. However, to handle recov)HY(er)HY(able)YH( - parsing and vali)HY(da)HY(tion)YH( errors and warn)HY(ings)YH(, a call)HY(back)YH( inter)HY(face)YH( maybe - preferred by the appli)HY(ca)HY(tion)YH(.)EP( - - )0 P(To better under)HY(stand)YH( error handling and report)HY(ing)YH( strate)HY(gies)YH( employed - by the parsing func)HY(tions)YH(, it is useful to know that the - trans)HY(for)HY(ma)HY(tion)YH( of an XML instance docu)HY(ment)YH( to a stat)HY(i)HY(cally)YH(-typed - tree happens in two stages. The first stage, performed by Xerces-C++, - consists of parsing an XML docu)HY(ment)YH( into a DOM instance. For short, - we will call this stage the XML-DOM stage. Vali)HY(da)HY(tion)YH(, if not disabled, - happens during this stage. The second stage, - performed by the gener)HY(ated)YH( parsers, consist of parsing the DOM - instance into the stat)HY(i)HY(cally)YH(-typed tree. We will call this stage - the DOM-Tree stage. Addi)HY(tional)YH( checks are performed during this - stage in order to prevent construc)HY(tion)YH( of incon)HY(sis)HY(tent)YH( tree which - could other)HY(wise)YH( happen when vali)HY(da)HY(tion)YH( is disabled, for example.)EP( - - )0 P(All parsing func)HY(tions)YH( except the one that oper)HY(ates)YH( on a DOM instance - come in over)HY(loaded)YH( triples. The first func)HY(tion)YH( in such a triple - reports error condi)HY(tions)YH( exclu)HY(sively)YH( by throw)HY(ing)YH( excep)HY(tions)YH(. It - accu)HY(mu)HY(lates)YH( all the parsing and vali)HY(da)HY(tion)YH( errors of the XML-DOM - stage and throws them in a single instance of the - )SM(xml_schema::parsing)ES( excep)HY(tion)YH( \201described below\202. - The second and the third func)HY(tions)YH( in the triple use call)HY(back)YH( - inter)HY(faces)YH( to report parsing and vali)HY(da)HY(tion)YH( errors and warn)HY(ings)YH(. - The two call)HY(back)YH( inter)HY(faces)YH( are )SM(xml_schema::error_handler)ES( - and )SM(xercesc::DOMEr)HY(rorHan)HY(dler)YH()ES(. For more infor)HY(ma)HY(tion)YH( - on the )SM(xercesc::DOMEr)HY(rorHan)HY(dler)YH()ES( inter)HY(face)YH( refer to - the Xerces-C++ docu)HY(men)HY(ta)HY(tion)YH(. The )SM(xml_schema::error_handler)ES( - inter)HY(face)YH( is presented below: - )EP( - - ) 23 51 PR(class error_handler -{ -public: - struct severity - { - enum value - { - warning, - error, - fatal - }; - }; - - virtual bool - handle \201const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity, - const std::basic_string<C>& message\202 = 0; - - virtual - ~error_handler \201\202; -};)RP( - - )0 P(The )SM(id)ES( argu)HY(ment)YH( of the )SM(error_handler::handle)ES( - func)HY(tion)YH( iden)HY(ti)HY(fies)YH( the resource being parsed \201e.g., a file name or - URI\202. - )EP( - - )0 P(By return)HY(ing)YH( )SM(true)ES( from the )SM(handle)ES( func)HY(tion)YH( - you instruct the parser to recover and continue parsing. Return)HY(ing)YH( - )SM(false)ES( results in termi)HY(na)HY(tion)YH( of the parsing process. - An error with the )SM(fatal)ES( sever)HY(ity)YH( level results in - termi)HY(na)HY(tion)YH( of the parsing process no matter what is returned from - the )SM(handle)ES( func)HY(tion)YH(. It is safe to throw an excep)HY(tion)YH( - from the )SM(handle)ES( func)HY(tion)YH(. - )EP( - - )0 P(The DOM-Tree stage reports error condi)HY(tions)YH( exclu)HY(sively)YH( by throw)HY(ing)YH( - excep)HY(tions)YH(. Indi)HY(vid)HY(ual)YH( excep)HY(tions)YH( thrown by the parsing func)HY(tions)YH( - are described in the follow)HY(ing)YH( sub-sections. - )EP( - - - )0 3 64 H(3.3.1)WB 161 Sn()WB 68 Sn( )SM(xml_schema::parsing)ES()EA()EH( - - ) 57 56 PR(struct severity -{ - enum value - { - warning, - error - }; - - severity \201value\202; - operator value \201\202 const; -}; - -struct error -{ - error \201severity, - const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message\202; - - severity - severity \201\202 const; - - const std::basic_string<C>& - id \201\202 const; - - unsigned long - line \201\202 const; - - unsigned long - column \201\202 const;)WR( - - const std::basic_string<C>& - message \201\202 const; -}; - -std::basic_ostream<C>& -operator<< \201std::basic_ostream<C>&, const error&\202; - -struct diagnostics: std::vector<error> -{ -}; - -std::basic_ostream<C>& -operator<< \201std::basic_ostream<C>&, const diagnostics&\202; - -struct parsing: virtual exception -{ - parsing \201\202; - parsing \201const diagnostics&\202; - - const diagnostics& - diagnostics \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::parsing)ES( excep)HY(tion)YH( is thrown if there - were parsing or vali)HY(da)HY(tion)YH( errors reported during the XML-DOM stage. - If no call)HY(back)YH( inter)HY(face)YH( was provided to the parsing func)HY(tion)YH(, the - excep)HY(tion)YH( contains a list of errors and warn)HY(ings)YH( acces)HY(si)HY(ble)YH( using - the )SM(diag)HY(nos)HY(tics)YH()ES( func)HY(tion)YH(. The usual condi)HY(tions)YH( when - this excep)HY(tion)YH( is thrown include malformed XML instances and, if - vali)HY(da)HY(tion)YH( is turned on, invalid instance docu)HY(ments)YH(. - )EP( - - )0 3 65 H(3.3.2)WB 162 Sn()WB 69 Sn( )SM(xml_schema::expected_element)ES()EA()EH( - - ) 16 60 PR(struct expected_element: virtual exception -{ - expected_element \201const std::basic_string<C>& name, - const std::basic_string<C>& namespace_\202; - - - const std::basic_string<C>& - name \201\202 const; - - const std::basic_string<C>& - namespace_ \201\202 const; - - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::expected_element)ES( excep)HY(tion)YH( is thrown - when an expected element is not encoun)HY(tered)YH( by the DOM-Tree stage. - The name and names)HY(pace)YH( of the expected element can be obtained using - the )SM(name)ES( and )SM(names)HY(pace)YH(_)ES( func)HY(tions)YH( respec)HY(tively)YH(. - )EP( - - - )0 3 66 H(3.3.3)WB 163 Sn()WB 70 Sn( )SM(xml_schema::unex)HY(pected)YH(_element)ES()EA()EH( - - ) 25 72 PR(struct unexpected_element: virtual exception -{ - unexpected_element \201const std::basic_string<C>& encountered_name, - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& expected_namespace\202 - - - const std::basic_string<C>& - encountered_name \201\202 const; - - const std::basic_string<C>& - encountered_namespace \201\202 const; - - - const std::basic_string<C>& - expected_name \201\202 const; - - const std::basic_string<C>& - expected_namespace \201\202 const; - - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::unex)HY(pected)YH(_element)ES( excep)HY(tion)YH( is thrown - when an unex)HY(pected)YH( element is encoun)HY(tered)YH( by the DOM-Tree stage. - The name and names)HY(pace)YH( of the encoun)HY(tered)YH( element can be obtained - using the )SM(encoun)HY(tered)YH(_name)ES( and - )SM(encoun)HY(tered)YH(_names)HY(pace)YH()ES( func)HY(tions)YH( respec)HY(tively)YH(. If an - element was expected instead of the encoun)HY(tered)YH( one, its name - and names)HY(pace)YH( can be obtained using the )SM(expected_name)ES( and - )SM(expected_names)HY(pace)YH()ES( func)HY(tions)YH( respec)HY(tively)YH(. Other)HY(wise)YH( - these func)HY(tions)YH( return empty strings. - )EP( - - )0 3 67 H(3.3.4)WB 164 Sn()WB 71 Sn( )SM(xml_schema::expected_attribute)ES()EA()EH( - - ) 16 62 PR(struct expected_attribute: virtual exception -{ - expected_attribute \201const std::basic_string<C>& name, - const std::basic_string<C>& namespace_\202; - - - const std::basic_string<C>& - name \201\202 const; - - const std::basic_string<C>& - namespace_ \201\202 const; - - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::expected_attribute)ES( excep)HY(tion)YH( is thrown - when an expected attribute is not encoun)HY(tered)YH( by the DOM-Tree stage. - The name and names)HY(pace)YH( of the expected attribute can be obtained using - the )SM(name)ES( and )SM(names)HY(pace)YH(_)ES( func)HY(tions)YH( respec)HY(tively)YH(. - )EP( - - - )0 3 68 H(3.3.5)WB 165 Sn()WB 72 Sn( )SM(xml_schema::unex)HY(pected)YH(_enumer)HY(a)HY(tor)YH()ES()EA()EH( - - ) 10 65 PR(struct unexpected_enumerator: virtual exception -{ - unexpected_enumerator \201const std::basic_string<C>& enumerator\202; - - const std::basic_string<C>& - enumerator \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::unex)HY(pected)YH(_enumer)HY(a)HY(tor)YH()ES( excep)HY(tion)YH( is thrown - when an unex)HY(pected)YH( enumer)HY(a)HY(tor)YH( is encoun)HY(tered)YH( by the DOM-Tree stage. - The enumer)HY(a)HY(tor)YH( can be obtained using the )SM(enumer)HY(a)HY(tor)YH()ES( - func)HY(tions)YH(. - )EP( - - )0 3 69 H(3.3.6)WB 166 Sn()WB 73 Sn( )SM(xml_schema::expected_text_content)ES()EA()EH( - - ) 5 47 PR(struct expected_text_content: virtual exception -{ - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::expected_text_content)ES( excep)HY(tion)YH( is thrown - when a content other than text is encoun)HY(tered)YH( and the text content was - expected by the DOM-Tree stage. - )EP( - - )0 3 70 H(3.3.7)WB 167 Sn()WB 74 Sn( )SM(xml_schema::no_type_info)ES()EA()EH( - - ) 14 60 PR(struct no_type_info: virtual exception -{ - no_type_info \201const std::basic_string<C>& type_name, - const std::basic_string<C>& type_namespace\202; - - const std::basic_string<C>& - type_name \201\202 const; - - const std::basic_string<C>& - type_namespace \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::no_type_info)ES( excep)HY(tion)YH( is thrown - when there is no type infor)HY(ma)HY(tion)YH( asso)HY(ci)HY(ated)YH( with a type spec)HY(i)HY(fied)YH( - by the )SM(xsi:type)ES( attribute. This excep)HY(tion)YH( is thrown - by the DOM-Tree stage. The name and names)HY(pace)YH( of the type in ques)HY(tion)YH( - can be obtained using the )SM(type_name)ES( and - )SM(type_names)HY(pace)YH()ES( func)HY(tions)YH( respec)HY(tively)YH(. Usually, catch)HY(ing)YH( - this excep)HY(tion)YH( means that you haven't linked the code gener)HY(ated)YH( - from the schema defin)HY(ing)YH( the type in ques)HY(tion)YH( with your appli)HY(ca)HY(tion)YH( - or this schema has been compiled without the - )SM(--gener)HY(ate)YH(-poly)HY(mor)HY(phic)YH()ES( option. - )EP( - - - )0 3 71 H(3.3.8)WB 168 Sn()WB 75 Sn( )SM(xml_schema::not_derived)ES()EA()EH( - - ) 23 67 PR(struct not_derived: virtual exception -{ - not_derived \201const std::basic_string<C>& base_type_name, - const std::basic_string<C>& base_type_namespace, - const std::basic_string<C>& derived_type_name, - const std::basic_string<C>& derived_type_namespace\202; - - const std::basic_string<C>& - base_type_name \201\202 const; - - const std::basic_string<C>& - base_type_namespace \201\202 const; - - - const std::basic_string<C>& - derived_type_name \201\202 const; - - const std::basic_string<C>& - derived_type_namespace \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::not_derived)ES( excep)HY(tion)YH( is thrown - when a type spec)HY(i)HY(fied)YH( by the )SM(xsi:type)ES( attribute is - not derived from the expected base type. This excep)HY(tion)YH( is thrown - by the DOM-Tree stage. The name and names)HY(pace)YH( of the expected - base type can be obtained using the )SM(base_type_name)ES( and - )SM(base_type_names)HY(pace)YH()ES( func)HY(tions)YH( respec)HY(tively)YH(. The name - and names)HY(pace)YH( of the offend)HY(ing)YH( type can be obtained using the - )SM(derived_type_name)ES( and - )SM(derived_type_names)HY(pace)YH()ES( func)HY(tions)YH( respec)HY(tively)YH(. - )EP( - - )0 3 72 H(3.3.9)WB 169 Sn()WB 76 Sn( )SM(xml_schema::no_prefix_mapping)ES()EA()EH( - - ) 10 57 PR(struct no_prefix_mapping: virtual exception -{ - no_prefix_mapping \201const std::basic_string<C>& prefix\202; - - const std::basic_string<C>& - prefix \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::no_prefix_mapping)ES( excep)HY(tion)YH( is thrown - during the DOM-Tree stage if a names)HY(pace)YH( prefix is encoun)HY(tered)YH( for - which a prefix-names)HY(pace)YH( mapping hasn't been provided. The names)HY(pace)YH( - prefix in ques)HY(tion)YH( can be obtained using the )SM(prefix)ES( - func)HY(tion)YH(. - )EP( - - )0 2 73 H(3.4)WB 170 Sn()WB 77 Sn( Reading from a Local File or URI)EA()EH( - - )0 P(Using a local file or URI is the simplest way to parse an XML instance. - For example:)EP( - - ) 4 67 PR(using std::auto_ptr; - -auto_ptr<type> r1 \201name \201"test.xml"\202\202; -auto_ptr<type> r2 \201name \201"http://www.codesynthesis.com/test.xml"\202\202;)RP( - - )0 P(Or, in the C++11 mode:)EP( - - ) 4 69 PR(using std::unique_ptr; - -unique_ptr<type> r1 \201name \201"test.xml"\202\202; -unique_ptr<type> r2 \201name \201"http://www.codesynthesis.com/test.xml"\202\202;)RP( - - )0 2 74 H(3.5)WB 171 Sn()WB 78 Sn( Reading from )SM(std::istream)ES()EA()EH( - - )0 P(When using an )SM(std::istream)ES( instance, you may also - pass an optional resource id. This id is used to iden)HY(tify)YH( the - resource \201for example in error messages\202 as well as to resolve - rela)HY(tive)YH( paths. For instance:)EP( - - ) 12 48 PR(using std::auto_ptr; - -{ - std::ifstream ifs \201"test.xml"\202; - auto_ptr<type> r \201name \201ifs, "test.xml"\202\202; -} - -{ - std::string str \201"..."\202; // Some XML fragment. - std::istringstream iss \201str\202; - auto_ptr<type> r \201name \201iss\202\202; -})RP( - - )0 2 75 H(3.6)WB 172 Sn()WB 79 Sn( Reading from )SM(xercesc::Input)HY(Source)YH()ES()EA()EH( - - )0 P(Reading from a )SM(xercesc::Input)HY(Source)YH()ES( instance - is similar to the )SM(std::istream)ES( case except - the resource id is main)HY(tained)YH( by the )SM(Input)HY(Source)YH()ES( - object. For instance:)EP( - - ) 2 34 PR(xercesc::StdInInputSource is; -std::auto_ptr<type> r \201name \201is\202\202;)RP( - - )0 2 76 H(3.7)WB 173 Sn()WB 80 Sn( Reading from DOM)EA()EH( - - )0 P(Reading from a )SM(xercesc::DOMDoc)HY(u)HY(ment)YH()ES( instance allows - you to setup a custom XML-DOM stage. Things like DOM - parser reuse, schema pre-parsing, and schema caching can be achieved - with this approach. For more infor)HY(ma)HY(tion)YH( on how to obtain DOM - repre)HY(sen)HY(ta)HY(tion)YH( from an XML instance refer to the Xerces-C++ - docu)HY(men)HY(ta)HY(tion)YH(. In addi)HY(tion)YH(, the - )R7 2 A(C++/Tree Mapping - FAQ)EA( shows how to parse an XML instance to a Xerces-C++ - DOM docu)HY(ment)YH( using the XSD runtime util)HY(i)HY(ties)YH(. - )EP( - - )0 P(The last parsing func)HY(tion)YH( is useful when you would like to perform - your own XML-to-DOM parsing and as)HY(so)HY(ciate)YH( the result)HY(ing)YH( DOM docu)HY(ment)YH( - with the object model nodes. The auto)HY(matic)YH( )SM(DOMDoc)HY(u)HY(ment)YH()ES( - pointer is reset and the result)HY(ing)YH( object model assumes owner)HY(ship)YH( - of the DOM docu)HY(ment)YH( passed. For example:)EP( - - ) 18 72 PR(// C++98 version. -// -xml_schema::dom::auto_ptr<xercesc::DOMDocument> doc = ... - -std::auto_ptr<type> r \201 - name \201doc, xml_schema::flags::keep_dom | xml_schema::flags::own_dom\202\202; - -// At this point doc is reset to 0. - -// C++11 version. -// -xml_schema::dom::unique_ptr<xercesc::DOMDocument> doc = ... - -std::unique_ptr<type> r \201 - name \201std::move \201doc\202, - xml_schema::flags::keep_dom | xml_schema::flags::own_dom\202\202; - -// At this point doc is reset to 0.)RP( - - )0 1 77 H(4)WB 174 Sn()WB 81 Sn( Seri)HY(al)HY(iza)HY(tion)YH()EA()EH( - - )0 P(This chapter covers various aspects of seri)HY(al)HY(iz)HY(ing)YH( a - tree-like object model to DOM or XML. - In this regard, seri)HY(al)HY(iza)HY(tion)YH( is compli)HY(men)HY(tary)YH( to the reverse - process of parsing a DOM or XML instance into an object model - which is discussed in )0 64 1 A(Chapter 3, - "Parsing")64 0 TN TL()Ec /AF f D(. Note that the gener)HY(a)HY(tion)YH( of the seri)HY(al)HY(iza)HY(tion)YH( code - is optional and should be explic)HY(itly)YH( requested with the - )SM(--gener)HY(ate)YH(-seri)HY(al)HY(iza)HY(tion)YH()ES( option. See the - )R8 2 A(XSD - Compiler Command Line Manual)EA( for more infor)HY(ma)HY(tion)YH(. - )EP( - - )0 P(Each global XML Schema element in the form: - )EP( - - - ) 1 38 PR(<xsd:element name="name" type="type"/>)RP( - - )0 P(is mapped to 8 over)HY(loaded)YH( C++ func)HY(tions)YH( in the form:)EP( - - ) 70 56 PR(// Serialize to std::ostream. -// -void -name \201std::ostream&, - const type&, - const xml_schema::namespace_fomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - -void -name \201std::ostream&, - const type&, - xml_schema::error_handler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - -void -name \201std::ostream&, - const type&, - xercesc::DOMErrorHandler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - - -// Serialize to XMLFormatTarget. -//)WR( -void -name \201xercesc::XMLFormatTarget&, - const type&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - -void -name \201xercesc::XMLFormatTarget&, - const type&, - xml_schema::error_handler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - -void -name \201xercesc::XMLFormatTarget&, - const type&, - xercesc::DOMErrorHandler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap \201\202, - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0\202; - - -// Serialize to DOM. -// -xml_schema::dom::[auto|unique]_ptr<xercesc::DOMDocument>)WR( -name \201const type&, - const xml_schema::namespace_infomap& - xml_schema::namespace_infomap \201\202, - xml_schema::flags = 0\202; - -void -name \201xercesc::DOMDocument&, - const type&, - xml_schema::flags = 0\202;)RP( - - )0 P(You can choose between writing XML to )SM(std::ostream)ES( or - )SM(xercesc::XMLFor)HY(mat)HY(Tar)HY(get)YH()ES( and creat)HY(ing)YH( a DOM instance - in the form of )SM(xercesc::DOMDoc)HY(u)HY(ment)YH()ES(. Seri)HY(al)HY(iza)HY(tion)YH( - to )SM(ostream)ES( or )SM(XMLFor)HY(mat)HY(Tar)HY(get)YH()ES( requires a - consid)HY(er)HY(ably)YH( less work while seri)HY(al)HY(iza)HY(tion)YH( to DOM provides - for greater flex)HY(i)HY(bil)HY(ity)YH(. Each of these seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( - is discussed in more detail in the follow)HY(ing)YH( sections. - )EP( - - - )0 2 78 H(4.1)WB 175 Sn()WB 82 Sn( Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime)EA()EH( - - )0 P(Some seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( expect you to initial)HY(ize)YH( the Xerces-C++ - runtime while others initial)HY(ize)YH( and termi)HY(nate)YH( it as part of their - work. The general rule is as follows: if a func)HY(tion)YH( has any argu)HY(ments)YH( - or return a value that is an instance of a Xerces-C++ type, then - this func)HY(tion)YH( expects you to initial)HY(ize)YH( the Xerces-C++ runtime. - Other)HY(wise)YH(, the func)HY(tion)YH( initial)HY(izes)YH( and termi)HY(nates)YH( the runtime for - you. Note that it is legal to have nested calls to the Xerces-C++ - initial)HY(ize)YH( and termi)HY(nate)YH( func)HY(tions)YH( as long as the calls are balanced. - )EP( - - )0 P(You can instruct seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( that initial)HY(ize)YH( and termi)HY(nate)YH( - the runtime not to do so by passing the - )SM(xml_schema::flags::dont_initial)HY(ize)YH()ES( flag \201see - )0 84 1 A(Section 4.3, "Flags")84 0 TN TL()Ec /AF f D(\202. - )EP( - - )0 2 79 H(4.2)WB 176 Sn()WB 83 Sn( Names)HY(pace)YH( Infomap and Char)HY(ac)HY(ter)YH( Encod)HY(ing)YH()EA()EH( - - )0 P(When a docu)HY(ment)YH( being seri)HY(al)HY(ized)YH( uses XML names)HY(paces)YH(, custom - prefix-names)HY(pace)YH( asso)HY(ci)HY(a)HY(tions)YH( can to be estab)HY(lished)YH(. If custom - prefix-names)HY(pace)YH( mapping is not provided then generic prefixes - \201)SM(p1)ES(, )SM(p2)ES(, etc\202 are auto)HY(mat)HY(i)HY(cally)YH( assigned - to names)HY(paces)YH( as needed. Also, if - you would like the result)HY(ing)YH( instance docu)HY(ment)YH( to contain the - )SM(schemaLo)HY(ca)HY(tion)YH()ES( or )SM(noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( - attributes, you will need to provide names)HY(pace)YH(-schema asso)HY(ci)HY(a)HY(tions)YH(. - The )SM(xml_schema::names)HY(pace)YH(_infomap)ES( class is used - to capture this infor)HY(ma)HY(tion)YH(:)EP( - - ) 16 63 PR(struct namespace_info -{ - namespace_info \201\202; - namespace_info \201const std::basic_string<C>& name, - const std::basic_string<C>& schema\202; - - std::basic_string<C> name; - std::basic_string<C> schema; -}; - -// Map of namespace prefix to namespace_info. -// -struct namespace_infomap: public std::map<std::basic_string<C>, - namespace_info> -{ -};)RP( - - )0 P(Consider the follow)HY(ing)YH( asso)HY(ci)HY(a)HY(tions)YH( as an example:)EP( - - ) 4 52 PR(xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd";)RP( - - )0 P(This map, if passed to one of the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(, - could result in the follow)HY(ing)YH( XML frag)HY(ment)YH(:)EP( - - ) 4 72 PR(<?xml version="1.0" ?> -<t:name xmlns:t="http://www.codesynthesis.com/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/test test.xsd">)RP( - - )0 P(As you can see, the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH( auto)HY(mat)HY(i)HY(cally)YH( added names)HY(pace)YH( - mapping for the )SM(xsi)ES( prefix. You can change this by - provid)HY(ing)YH( your own prefix:)EP( - - ) 6 62 PR(xml_schema::namespace_infomap map; - -map["xsn"].name = "http://www.w3.org/2001/XMLSchema-instance"; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd";)RP( - - )0 P(This could result in the follow)HY(ing)YH( XML frag)HY(ment)YH(:)EP( - - ) 4 72 PR(<?xml version="1.0" ?> -<t:name xmlns:t="http://www.codesynthesis.com/test" - xmlns:xsn="http://www.w3.org/2001/XMLSchema-instance" - xsn:schemaLocation="http://www.codesynthesis.com/test test.xsd">)RP( - - )0 P(To specify the loca)HY(tion)YH( of a schema without a names)HY(pace)YH( you can use - an empty prefix as in the example below: )EP( - - ) 3 34 PR(xml_schema::namespace_infomap map; - -map[""].schema = "test.xsd";)RP( - - )0 P(This would result in the follow)HY(ing)YH( XML frag)HY(ment)YH(:)EP( - - ) 3 59 PR(<?xml version="1.0" ?> -<name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="test.xsd">)RP( - - )0 P(To make a partic)HY(u)HY(lar)YH( names)HY(pace)YH( default you can use an empty - prefix, for example:)EP( - - ) 4 51 PR(xml_schema::namespace_infomap map; - -map[""].name = "http://www.codesynthesis.com/test"; -map[""].schema = "test.xsd";)RP( - - )0 P(This could result in the follow)HY(ing)YH( XML frag)HY(ment)YH(:)EP( - - ) 4 70 PR(<?xml version="1.0" ?> -<name xmlns="http://www.codesynthesis.com/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/test test.xsd">)RP( - - - )0 P(Another bit of infor)HY(ma)HY(tion)YH( that you can pass to the seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH( is the char)HY(ac)HY(ter)YH( encod)HY(ing)YH( method that you would like to use. - Common values for this argu)HY(ment)YH( are )SM("US-ASCII")ES(, - )SM("ISO8859-1")ES(, )SM("UTF-8")ES(, - )SM("UTF-16BE")ES(, )SM("UTF-16LE")ES(, - )SM("UCS-4BE")ES(, and )SM("UCS-4LE")ES(. The default - encod)HY(ing)YH( is )SM("UTF-8")ES(. For more infor)HY(ma)HY(tion)YH( on - encod)HY(ing)YH( methods see the - ")R11 2 A(Char)HY(ac)HY(ter)YH( - Encod)HY(ing)YH()EA(" article from Wikipedia. - )EP( - - )0 2 80 H(4.3)WB 177 Sn()WB 84 Sn( Flags)EA()EH( - - )0 P(Seri)HY(al)HY(iza)HY(tion)YH( flags are the last argu)HY(ment)YH( of every seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tion)YH(. They allow you to fine-tune the process of seri)HY(al)HY(iza)HY(tion)YH(. - The flags argu)HY(ment)YH( is optional. - )EP( - - - )0 P(The follow)HY(ing)YH( flags are recog)HY(nized)YH( by the seri)HY(al)HY(iza)HY(tion)YH( - func)HY(tions)YH(:)EP( - - )0 DL( )0 DT()SM(xml_schema::flags::dont_initial)HY(ize)YH()ES( - )DD(Do not initial)HY(ize)YH( the Xerces-C++ runtime. - - )0 DT()SM(xml_schema::flags::dont_pretty_print)ES( - )DD(Do not add extra spaces or new lines that make the result)HY(ing)YH( XML - slightly bigger but easier to read. - - )0 DT()SM(xml_schema::flags::no_xml_decla)HY(ra)HY(tion)YH()ES( - )DD(Do not write XML decla)HY(ra)HY(tion)YH( \201<?xml ... ?>\202. - )LD( - - )0 P(You can pass several flags by combin)HY(ing)YH( them using the bit-wise OR - oper)HY(a)HY(tor)YH(. For example:)EP( - - ) 9 45 PR(std::auto_ptr<type> r = ... -std::ofstream ofs \201"test.xml"\202; -xml_schema::namespace_infomap map; -name \201ofs, - *r, - map, - "UTF-8", - xml_schema::flags::no_xml_declaration | - xml_schema::flags::dont_pretty_print\202;)RP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on the Xerces-C++ runtime initial)HY(iza)HY(tion)YH( - refer to )0 82 1 A(Section 4.1, "Initial)HY(iz)HY(ing)YH( the Xerces-C++ - Runtime")82 0 TN TL()Ec /AF f D(. - )EP( - - )0 2 81 H(4.4)WB 178 Sn()WB 85 Sn( Error Handling)EA()EH( - - )0 P(As with the parsing func)HY(tions)YH( \201see )0 67 1 A(Section 3.3, - "Error Handling")67 0 TN TL()Ec /AF f D(\202, to better under)HY(stand)YH( error handling and - report)HY(ing)YH( strate)HY(gies)YH( employed by the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH(, it - is useful to know that the trans)HY(for)HY(ma)HY(tion)YH( of a stat)HY(i)HY(cally)YH(-typed - tree to an XML instance docu)HY(ment)YH( happens in two stages. The first - stage, performed by the gener)HY(ated)YH( code, consist of build)HY(ing)YH( a DOM - instance from the stat)HY(i)HY(cally)YH(-typed tree . For short, we will call - this stage the Tree-DOM stage. The second stage, performed by - Xerces-C++, consists of seri)HY(al)HY(iz)HY(ing)YH( the DOM instance into the XML - docu)HY(ment)YH(. We will call this stage the DOM-XML stage. - )EP( - - )0 P(All seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( except the two that seri)HY(al)HY(ize)YH( into - a DOM instance come in over)HY(loaded)YH( triples. The first func)HY(tion)YH( - in such a triple reports error condi)HY(tions)YH( exclu)HY(sively)YH( by throw)HY(ing)YH( - excep)HY(tions)YH(. It accu)HY(mu)HY(lates)YH( all the seri)HY(al)HY(iza)HY(tion)YH( errors of the - DOM-XML stage and throws them in a single instance of the - )SM(xml_schema::seri)HY(al)HY(iza)HY(tion)YH()ES( excep)HY(tion)YH( \201described below\202. - The second and the third func)HY(tions)YH( in the triple use call)HY(back)YH( - inter)HY(faces)YH( to report seri)HY(al)HY(iza)HY(tion)YH( errors and warn)HY(ings)YH(. The two - call)HY(back)YH( inter)HY(faces)YH( are )SM(xml_schema::error_handler)ES( and - )SM(xercesc::DOMEr)HY(rorHan)HY(dler)YH()ES(. The - )SM(xml_schema::error_handler)ES( inter)HY(face)YH( is described in - )0 67 1 A(Section 3.3, "Error Handling")67 0 TN TL()Ec /AF f D(. For more infor)HY(ma)HY(tion)YH( - on the )SM(xercesc::DOMEr)HY(rorHan)HY(dler)YH()ES( inter)HY(face)YH( refer to the - Xerces-C++ docu)HY(men)HY(ta)HY(tion)YH(. - )EP( - - )0 P(The Tree-DOM stage reports error condi)HY(tions)YH( exclu)HY(sively)YH( by throw)HY(ing)YH( - excep)HY(tions)YH(. Indi)HY(vid)HY(ual)YH( excep)HY(tions)YH( thrown by the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( - are described in the follow)HY(ing)YH( sub-sections. - )EP( - - )0 3 82 H(4.4.1)WB 179 Sn()WB 86 Sn( )SM(xml_schema::seri)HY(al)HY(iza)HY(tion)YH()ES()EA()EH( - - ) 11 39 PR(struct serialization: virtual exception -{ - serialization \201\202; - serialization \201const diagnostics&\202; - - const diagnostics& - diagnostics \201\202 const; - - virtual const char* - what \201\202 const throw \201\202; -};)RP( - - )0 P(The )SM(xml_schema::diag)HY(nos)HY(tics)YH()ES( class is described in - )0 68 1 A(Section 3.3.1, ")SM(xml_schema::parsing)ES(")68 0 TN TL()Ec /AF f D(. - The )SM(xml_schema::seri)HY(al)HY(iza)HY(tion)YH()ES( excep)HY(tion)YH( is thrown if - there were seri)HY(al)HY(iza)HY(tion)YH( errors reported during the DOM-XML stage. - If no call)HY(back)YH( inter)HY(face)YH( was provided to the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH(, - the excep)HY(tion)YH( contains a list of errors and warn)HY(ings)YH( acces)HY(si)HY(ble)YH( using - the )SM(diag)HY(nos)HY(tics)YH()ES( func)HY(tion)YH(. - )EP( - - - )0 3 83 H(4.4.2)WB 180 Sn()WB 87 Sn( )SM(xml_schema::unex)HY(pected)YH(_element)ES()EA()EH( - - )0 P(The )SM(xml_schema::unex)HY(pected)YH(_element)ES( excep)HY(tion)YH( is - described in )0 70 1 A(Section 3.3.3, - ")SM(xml_schema::unex)HY(pected)YH(_element)ES(")70 0 TN TL()Ec /AF f D(. It is thrown - by the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( during the Tree-DOM stage if the - root element name of the provided DOM instance does not match with - the name of the element this seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH( is for. - )EP( - - )0 3 84 H(4.4.3)WB 181 Sn()WB 88 Sn( )SM(xml_schema::no_type_info)ES()EA()EH( - - )0 P(The )SM(xml_schema::no_type_info)ES( excep)HY(tion)YH( is - described in )0 74 1 A(Section 3.3.7, - ")SM(xml_schema::no_type_info)ES(")74 0 TN TL()Ec /AF f D(. It is thrown - by the seri)HY(al)HY(iza)HY(tion)YH( func)HY(tions)YH( during the Tree-DOM stage when there - is no type infor)HY(ma)HY(tion)YH( asso)HY(ci)HY(ated)YH( with a dynamic type of an - element. Usually, catch)HY(ing)YH( this excep)HY(tion)YH( means that you haven't - linked the code gener)HY(ated)YH( from the schema defin)HY(ing)YH( the type in - ques)HY(tion)YH( with your appli)HY(ca)HY(tion)YH( or this schema has been compiled - without the )SM(--gener)HY(ate)YH(-poly)HY(mor)HY(phic)YH()ES( option. - )EP( - - )0 2 85 H(4.5)WB 182 Sn()WB 89 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to )SM(std::ostream)ES()EA()EH( - - )0 P(In order to seri)HY(al)HY(ize)YH( to )SM(std::ostream)ES( you will need - an object model, an output stream and, option)HY(ally)YH(, a names)HY(pace)YH( - infomap. For instance:)EP( - - ) 14 61 PR(// Obtain the object model. -// -std::auto_ptr<type> r = ... - -// Prepare namespace mapping and schema location information. -// -xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - -// Write it out. -// -name \201std::cout, *r, map\202;)RP( - - )0 P(Note that the output stream is treated as a binary stream. This - becomes impor)HY(tant)YH( when you use a char)HY(ac)HY(ter)YH( encod)HY(ing)YH( that is wider - than 8-bit )SM(char)ES(, for instance UTF-16 or UCS-4. For - example, things will most likely break if you try to seri)HY(al)HY(ize)YH( - to )SM(std::ostringstream)ES( with UTF-16 or UCS-4 as an - encod)HY(ing)YH(. This is due to the special value, - )SM('\2000')ES(, that will most likely occur as part of such - seri)HY(al)HY(iza)HY(tion)YH( and it won't have the special meaning assumed by - )SM(std::ostringstream)ES(. - )EP( - - - )0 2 86 H(4.6)WB 183 Sn()WB 90 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to )SM(xercesc::XMLFor)HY(mat)HY(Tar)HY(get)YH()ES()EA()EH( - - )0 P(Seri)HY(al)HY(iz)HY(ing)YH( to an )SM(xercesc::XMLFor)HY(mat)HY(Tar)HY(get)YH()ES( instance - is similar the )SM(std::ostream)ES( case. For instance: - )EP( - - ) 38 63 PR(using std::auto_ptr; - -// Obtain the object model. -// -auto_ptr<type> r = ... - -// Prepare namespace mapping and schema location information. -// -xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - -using namespace xercesc; - -XMLPlatformUtils::Initialize \201\202; - -{ - // Choose a target. - // - auto_ptr<XMLFormatTarget> ft; - - if \201argc != 2\202 - { - ft = auto_ptr<XMLFormatTarget> \201new StdOutFormatTarget \201\202\202; - } - else - { - ft = auto_ptr<XMLFormatTarget> \201 - new LocalFileFormatTarget \201argv[1]\202\202; - })WR( - - // Write it out. - // - name \201*ft, *r, map\202; -} - -XMLPlatformUtils::Terminate \201\202;)RP( - - )0 P(Note that we had to initial)HY(ize)YH( the Xerces-C++ runtime before we - could call this seri)HY(al)HY(iza)HY(tion)YH( func)HY(tion)YH(.)EP( - - )0 2 87 H(4.7)WB 184 Sn()WB 91 Sn( Seri)HY(al)HY(iz)HY(ing)YH( to DOM)EA()EH( - - )0 P(The mapping provides two over)HY(loaded)YH( func)HY(tions)YH( that imple)HY(ment)YH( - seri)HY(al)HY(iza)HY(tion)YH( to a DOM instance. The first creates a DOM instance - for you and the second seri)HY(al)HY(izes)YH( to an exist)HY(ing)YH( DOM instance. - While seri)HY(al)HY(iz)HY(ing)YH( to a new DOM instance is similar to seri)HY(al)HY(iz)HY(ing)YH( - to )SM(std::ostream)ES( or )SM(xercesc::XMLFor)HY(mat)HY(Tar)HY(get)YH()ES(, - seri)HY(al)HY(iz)HY(ing)YH( to an exist)HY(ing)YH( DOM instance requires quite a bit of work - from your side. You will need to set all the custom names)HY(pace)YH( mapping - attributes as well as the )SM(schemaLo)HY(ca)HY(tion)YH()ES( and/or - )SM(noNames)HY(paceSchemaLo)HY(ca)HY(tion)YH()ES( attributes. The follow)HY(ing)YH( - listing should give you an idea about what needs to be done: - )EP( - - ) 24 67 PR(// Obtain the object model. -// -std::auto_ptr<type> r = ... - -using namespace xercesc; - -XMLPlatformUtils::Initialize \201\202; - -{ - // Create a DOM instance. Set custom namespace mapping and schema - // location attributes. - // - DOMDocument& doc = ... - - // Serialize to DOM. - // - name \201doc, *r\202; - - // Serialize the DOM document to XML. - // - ... -} - -XMLPlatformUtils::Terminate \201\202;)RP( - - )0 P(For more infor)HY(ma)HY(tion)YH( on how to create and seri)HY(al)HY(ize)YH( a DOM instance - refer to the Xerces-C++ docu)HY(men)HY(ta)HY(tion)YH(. In addi)HY(tion)YH(, the - )R7 2 A(C++/Tree Mapping - FAQ)EA( shows how to imple)HY(ment)YH( these oper)HY(a)HY(tions)YH( using the XSD - runtime util)HY(i)HY(ties)YH(. - )EP( - - )0 1 88 H(5)WB 185 Sn()WB 92 Sn( Addi)HY(tional)YH( Func)HY(tion)HY(al)HY(ity)YH()EA()EH( - - )0 P(The C++/Tree mapping provides a number of optional features - that can be useful in certain situ)HY(a)HY(tions)YH(. They are described - in the follow)HY(ing)YH( sections.)EP( - - )0 2 89 H(5.1)WB 186 Sn()WB 93 Sn( DOM Asso)HY(ci)HY(a)HY(tion)YH()EA()EH( - - )0 P(Normally, after parsing is complete, the DOM docu)HY(ment)YH( which - was used to extract the data is discarded. However, the parsing - func)HY(tions)YH( can be instructed to preserve the DOM docu)HY(ment)YH( - and create an asso)HY(ci)HY(a)HY(tion)YH( between the DOM nodes and object model - nodes. When there is an asso)HY(ci)HY(a)HY(tion)YH( between the DOM and - object model nodes, you can obtain the corre)HY(spond)HY(ing)YH( DOM element - or attribute node from an object model node as well as perform - the reverse tran)HY(si)HY(tion)YH(: obtain the corre)HY(spond)HY(ing)YH( object model - from a DOM element or attribute node.)EP( - - )0 P(Main)HY(tain)HY(ing)YH( DOM asso)HY(ci)HY(a)HY(tion)YH( is normally useful when the appli)HY(ca)HY(tion)YH( - needs access to XML constructs that are not preserved in the - object model, for example, XML comments. - Another useful aspect of DOM asso)HY(ci)HY(a)HY(tion)YH( is the ability of the - appli)HY(ca)HY(tion)YH( to navi)HY(gate)YH( the docu)HY(ment)YH( tree using the generic DOM - inter)HY(face)YH( \201for example, with the help of an XPath proces)HY(sor)YH(\202 - and then move back to the stat)HY(i)HY(cally)YH(-typed object model. Note - also that while you can change the under)HY(ly)HY(ing)YH( DOM docu)HY(ment)YH(, - these changes are not reflected in the object model and will - be ignored during seri)HY(al)HY(iza)HY(tion)YH(. If you need to not only access - but also modify some aspects of XML that are not preserved in - the object model, then type customiza)HY(tion)YH( with custom parsing - construc)HY(tors)YH( and seri)HY(al)HY(iza)HY(tion)YH( oper)HY(a)HY(tors)YH( should be used instead.)EP( - - )0 P(To request DOM asso)HY(ci)HY(a)HY(tion)YH( you will need to pass the - )SM(xml_schema::flags::keep_dom)ES( flag to one of the - parsing func)HY(tions)YH( \201see )0 66 1 A(Section 3.2, - "Flags and Prop)HY(er)HY(ties)YH(")66 0 TN TL()Ec /AF f D( for more infor)HY(ma)HY(tion)YH(\202. In this case the - DOM docu)HY(ment)YH( is retained and will be released when the object model - is deleted. Note that since DOM nodes "out-live" the parsing func)HY(tion)YH( - call, you need to initial)HY(ize)YH( the Xerces-C++ runtime before calling - one of the parsing func)HY(tions)YH( with the )SM(keep_dom)ES( flag and - termi)HY(nate)YH( it after the object model is destroyed \201see - )0 65 1 A(Section 3.1, "Initial)HY(iz)HY(ing)YH( the Xerces-C++ Runtime")65 0 TN TL()Ec /AF f D(\202.)EP( - - )0 P(If the )SM(keep_dom)ES( flag is passed - as the second argu)HY(ment)YH( to the copy construc)HY(tor)YH( and the copy - being made is of a complete tree, then the DOM asso)HY(ci)HY(a)HY(tion)YH( - is also main)HY(tained)YH( in the copy by cloning the under)HY(ly)HY(ing)YH( - DOM docu)HY(ment)YH( and reestab)HY(lish)HY(ing)YH( the asso)HY(ci)HY(a)HY(tions)YH(. For example:)EP( - - ) 22 48 PR(using namespace xercesc; - -XMLPlatformUtils::Initialize \201\202; - -{ - // Parse XML to object model. - // - std::auto_ptr<type> r \201root \201 - "root.xml", - xml_schema::flags::keep_dom | - xml_schema::flags::dont_initialize\202\202; - - // Copy without DOM association. - // - type copy1 \201*r\202; - - // Copy with DOM association. - // - type copy2 \201*r, xml_schema::flags::keep_dom\202; -} - -XMLPlatformUtils::Terminate \201\202;)RP( - - - )0 P(To obtain the corre)HY(spond)HY(ing)YH( DOM node from an object model node - you will need to call the )SM(_node)ES( acces)HY(sor)YH( func)HY(tion)YH( - which returns a pointer to )SM(DOMNode)ES(. You can then query - this DOM node's type and cast it to either )SM(DOMAttr*)ES( - or )SM(DOMEle)HY(ment)YH(*)ES(. To obtain the corre)HY(spond)HY(ing)YH( object - model node from a DOM node, the DOM user data API is used. The - )SM(xml_schema::dom::tree_node_key)ES( vari)HY(able)YH( contains - the key for object model nodes. The follow)HY(ing)YH( schema and code - frag)HY(ment)YH( show how to navi)HY(gate)YH( from DOM to object model nodes - and in the oppo)HY(site)YH( direc)HY(tion)YH(:)EP( - - ) 7 37 PR(<complexType name="object"> - <sequence> - <element name="a" type="string"/> - </sequence> -</complexType> - -<element name="root" type="object"/>)RP( - - ) 42 68 PR(using namespace xercesc; - -XMLPlatformUtils::Initialize \201\202; - -{ - // Parse XML to object model. - // - std::auto_ptr<type> r \201root \201 - "root.xml", - xml_schema::flags::keep_dom | - xml_schema::flags::dont_initialize\202\202; - - DOMNode* n = root->_node \201\202; - assert \201n->getNodeType \201\202 == DOMNode::ELEMENT_NODE\202; - DOMElement* re = static_cast<DOMElement*> \201n\202; - - // Get the 'a' element. Note that it is not necessarily the - // first child node of 'root' since there could be whitespace - // nodes before it. - // - DOMElement* ae; - - for \201n = re->getFirstChild \201\202; n != 0; n = n->getNextSibling \201\202\202 - { - if \201n->getNodeType \201\202 == DOMNode::ELEMENT_NODE\202 - { - ae = static_cast<DOMElement*> \201n\202; - break; - } - } -)WR( - // Get from the 'a' DOM element to xml_schema::string object model - // node. - // - xml_schema::type& t \201 - *reinterpret_cast<xml_schema::type*> \201 - ae->getUserData \201xml_schema::dom::tree_node_key\202\202\202; - - xml_schema::string& a \201dynamic_cast<xml_schema::string&> \201t\202\202; -} - -XMLPlatformUtils::Terminate \201\202;)RP( - - )0 P(The 'mixed' example which can be found in the XSD distri)HY(bu)HY(tion)YH( - shows how to handle the mixed content using DOM asso)HY(ci)HY(a)HY(tion)YH(.)EP( - - )0 2 90 H(5.2)WB 187 Sn()WB 94 Sn( Binary Seri)HY(al)HY(iza)HY(tion)YH()EA()EH( - - )0 P(Besides reading from and writing to XML, the C++/Tree mapping - also allows you to save the object model to and load it from a - number of prede)HY(fined)YH( as well as custom data repre)HY(sen)HY(ta)HY(tion)YH( - formats. The prede)HY(fined)YH( binary formats are CDR \201Common Data - Repre)HY(sen)HY(ta)HY(tion)YH(\202 and XDR \201eXter)HY(nal)YH( Data Repre)HY(sen)HY(ta)HY(tion)YH(\202. A - custom format can easily be supported by provid)HY(ing)YH( - inser)HY(tion)YH( and extrac)HY(tion)YH( oper)HY(a)HY(tors)YH( for basic types.)EP( - - )0 P(Binary seri)HY(al)HY(iza)HY(tion)YH( saves only the data without any meta - infor)HY(ma)HY(tion)YH( or markup. As a result, saving to and loading - from a binary repre)HY(sen)HY(ta)HY(tion)YH( can be an order of magni)HY(tude)YH( - faster than parsing and seri)HY(al)HY(iz)HY(ing)YH( the same data in XML. - Further)HY(more)YH(, the result)HY(ing)YH( repre)HY(sen)HY(ta)HY(tion)YH( is normally several - times smaller than the equiv)HY(a)HY(lent)YH( XML repre)HY(sen)HY(ta)HY(tion)YH(. These - prop)HY(er)HY(ties)YH( make binary seri)HY(al)HY(iza)HY(tion)YH( ideal for inter)HY(nal)YH( data - exchange and storage. A typical appli)HY(ca)HY(tion)YH( that uses this - facil)HY(ity)YH( stores the data and commu)HY(ni)HY(cates)YH( within the - system using a binary format and reads/writes the data - in XML when commu)HY(ni)HY(cat)HY(ing)YH( with the outside world.)EP( - - )0 P(In order to request the gener)HY(a)HY(tion)YH( of inser)HY(tion)YH( oper)HY(a)HY(tors)YH( and - extrac)HY(tion)YH( construc)HY(tors)YH( for a specific prede)HY(fined)YH( or custom - data repre)HY(sen)HY(ta)HY(tion)YH( stream, you will need to use the - )SM(--gener)HY(ate)YH(-inser)HY(tion)YH()ES( and )SM(--gener)HY(ate)YH(-extrac)HY(tion)YH()ES( - compiler options. See the - )R8 2 A(XSD - Compiler Command Line Manual)EA( for more infor)HY(ma)HY(tion)YH(.)EP( - - )0 P(Once the inser)HY(tion)YH( oper)HY(a)HY(tors)YH( and extrac)HY(tion)YH( construc)HY(tors)YH( are - gener)HY(ated)YH(, you can use the )SM(xml_schema::istream)ES( - and )SM(xml_schema::ostream)ES( wrapper stream templates - to save the object model to and load it from a specific format. - The follow)HY(ing)YH( code frag)HY(ment)YH( shows how to do this using ACE - \201Adap)HY(tive)YH( Commu)HY(ni)HY(ca)HY(tion)YH( Envi)HY(ron)HY(ment)YH(\202 CDR streams as an example:)EP( - - ) 8 37 PR(<complexType name="object"> - <sequence> - <element name="a" type="string"/> - <element name="b" type="int"/> - </sequence> -</complexType> - -<element name="root" type="object"/>)RP( - - ) 21 51 PR(// Parse XML to object model. -// -std::auto_ptr<type> r \201root \201"root.xml"\202\202; - -// Save to a CDR stream. -// -ACE_OutputCDR ace_ocdr; -xml_schema::ostream<ACE_OutputCDR> ocdr \201ace_ocdr\202; - -ocdr << *r; - -// Load from a CDR stream. -// -ACE_InputCDR ace_icdr \201buf, size\202; -xml_schema::istream<ACE_InputCDR> icdr \201ace_icdr\202; - -std::auto_ptr<object> copy \201new object \201icdr\202\202; - -// Serialize to XML. -// -root \201std::cout, *copy\202;)RP( - - )0 P(The XSD distri)HY(bu)HY(tion)YH( contains a number of exam)HY(ples)YH( that - show how to save the object model to and load it from - CDR, XDR, and a custom format.)EP( - - - - - )0 1 91 H(Appendix)WB 188 Sn()WB 95 Sn( A \236 Default and Fixed Values)EA()EH( - - )0 P(The follow)HY(ing)YH( table summa)HY(rizes)YH( the effect of default and fixed - values \201spec)HY(i)HY(fied)YH( with the )SM(default)ES( and )SM(fixed)ES( - attributes, respec)HY(tively)YH(\202 on attribute and element values. The - )SM(default)ES( and )SM(fixed)ES( attributes are mutu)HY(ally)YH( - exclu)HY(sive)YH(. It is also worth)HY(while)YH( to note that the fixed value seman)HY(tics)YH( - is a super)HY(set)YH( of the default value seman)HY(tics)YH(. - )EP( - - - )1 PT( - - )BR( -)BR( - - -)WB NL -/TE t D NP /OU t D TU PM 1 eq and{/Pn () D showpage}if end restore diff --git a/xsd/doc/cxx/tree/manual/index.xhtml b/xsd/doc/cxx/tree/manual/index.xhtml deleted file mode 100644 index 56213e0..0000000 --- a/xsd/doc/cxx/tree/manual/index.xhtml +++ /dev/null @@ -1,6822 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - <title>C++/Tree Mapping User Manual</title> - - <meta name="copyright" content="© 2005-2014 Code Synthesis Tools CC"/> - <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,tree,serialization,guide,manual,examples"/> - <meta name="description" content="C++/Tree Mapping User Manual"/> - <meta name="revision" content="4.0.0"/> - - <link rel="stylesheet" type="text/css" href="../../../default.css" /> - -<style type="text/css"> - pre { - padding : 0 0 0 0em; - margin : 0em 0em 0em 0; - - font-size : 102% - } - - body { - min-width: 48em; - } - - h1 { - font-weight: bold; - font-size: 200%; - } - - h2 { - font-weight : bold; - font-size : 150%; - - padding-top : 0.8em; - } - - h3 { - font-size : 130%; - padding-top : 0.8em; - } - - /* Adjust indentation for three levels. */ - #container { - max-width: 48em; - } - - #content { - padding: 0 0.1em 0 4em; - /*background-color: red;*/ - } - - #content h1 { - margin-left: -2.06em; - } - - #content h2 { - margin-left: -1.33em; - } - - /* Title page */ - - #titlepage { - padding: 2em 0 1em 0; - border-bottom: 1px solid black; - } - - #titlepage #title { - font-weight: bold; - font-size: 200%; - text-align: center; - padding: 1em 0 2em 0; - } - - /* Lists */ - ul.list li { - padding-top : 0.3em; - padding-bottom : 0.3em; - } - - - /* Built-in table */ - #builtin { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; - } - - #builtin th, #builtin td { - border: 1px solid; - padding : 0.9em 0.9em 0.7em 0.9em; - } - - #builtin th { - background : #cde8f6; - } - - #builtin td { - text-align: left; - } - - - /* default-fixed */ - #default-fixed { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; - } - - #default-fixed th, #default-fixed td { - border: 1px solid; - padding : 0.9em 0.9em 0.7em 0.9em; - } - - #default-fixed th { - background : #cde8f6; - } - - #default-fixed td { - text-align: center; - } - - - /* */ - dl dt { - padding : 0.8em 0 0 0; - } - - - /* TOC */ - table.toc { - border-style : none; - border-collapse : separate; - border-spacing : 0; - - margin : 0.2em 0 0.2em 0; - padding : 0 0 0 0; - } - - table.toc tr { - padding : 0 0 0 0; - margin : 0 0 0 0; - } - - table.toc * td, table.toc * th { - border-style : none; - margin : 0 0 0 0; - vertical-align : top; - } - - table.toc * th { - font-weight : normal; - padding : 0em 0.1em 0em 0; - text-align : left; - white-space : nowrap; - } - - table.toc * table.toc th { - padding-left : 1em; - } - - table.toc * td { - padding : 0em 0 0em 0.7em; - text-align : left; - } -</style> - - -</head> - -<body> -<div id="container"> - <div id="content"> - - <div class="noprint"> - - <div id="titlepage"> - <div id="title">C++/Tree Mapping User Manual</div> - - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href="http://www.codesynthesis.com/licenses/fdl-1.2.txt">GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/index.xhtml">XHTML</a>, - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.pdf">PDF</a>, and - <a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.ps">PostScript</a>.</p> - </div> - - <h1>Table of Contents</h1> - - <table class="toc"> - <tr> - <th></th><td><a href="#0">Preface</a> - <table class="toc"> - <tr><th></th><td><a href="#0.1">About This Document</a></td></tr> - <tr><th></th><td><a href="#0.2">More Information</a></td></tr> - </table> - </td> - </tr> - - <tr> - <th>1</th><td><a href="#1">Introduction</a></td> - </tr> - - <tr> - <th>2</th><td><a href="#2">C++/Tree Mapping</a> - <table class="toc"> - <tr> - <th>2.1</th><td><a href="#2.1">Preliminary Information</a> - <table class="toc"> - <tr><th>2.1.1</th><td><a href="#2.1.1">C++ Standard</a></td></tr> - <tr><th>2.1.2</th><td><a href="#2.1.2">Identifiers</a></td></tr> - <tr><th>2.1.3</th><td><a href="#2.1.3">Character Type and Encoding</a></td></tr> - <tr><th>2.1.4</th><td><a href="#2.1.4">XML Schema Namespace</a></td></tr> - <tr><th>2.1.5</th><td><a href="#2.1.5">Anonymous Types</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.2</th><td><a href="#2.2">Error Handling</a> - <table class="toc"> - <tr><th>2.2.1</th><td><a href="#2.2.1"><code>xml_schema::duplicate_id</code></a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.3</th><td><a href="#2.3">Mapping for <code>import</code> and <code>include</code></a> - <table class="toc"> - <tr><th>2.3.1</th><td><a href="#2.3.1">Import</a></td></tr> - <tr><th>2.3.2</th><td><a href="#2.3.2">Inclusion with Target Namespace</a></td></tr> - <tr><th>2.3.3</th><td><a href="#2.3.3">Inclusion without Target Namespace</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.4</th><td><a href="#2.4">Mapping for Namespaces</a></td> - </tr> - <tr> - <th>2.5</th><td><a href="#2.5">Mapping for Built-in Data Types</a> - <table class="toc"> - <tr><th>2.5.1</th><td><a href="#2.5.1">Inheritance from Built-in Data Types</a></td></tr> - <tr><th>2.5.2</th><td><a href="#2.5.2">Mapping for <code>anyType</code></a></td></tr> - <tr><th>2.5.3</th><td><a href="#2.5.3">Mapping for <code>anySimpleType</code></a></td></tr> - <tr><th>2.5.4</th><td><a href="#2.5.4">Mapping for <code>QName</code></a></td></tr> - <tr><th>2.5.5</th><td><a href="#2.5.5">Mapping for <code>IDREF</code></a></td></tr> - <tr><th>2.5.6</th><td><a href="#2.5.6">Mapping for <code>base64Binary</code> and <code>hexBinary</code></a></td></tr> - <tr><th>2.5.7</th><td><a href="#2.5.7">Time Zone Representation</a></td></tr> - <tr><th>2.5.8</th><td><a href="#2.5.8">Mapping for <code>date</code></a></td></tr> - <tr><th>2.5.9</th><td><a href="#2.5.9">Mapping for <code>dateTime</code></a></td></tr> - <tr><th>2.5.10</th><td><a href="#2.5.10">Mapping for <code>duration</code></a></td></tr> - <tr><th>2.5.11</th><td><a href="#2.5.11">Mapping for <code>gDay</code></a></td></tr> - <tr><th>2.5.12</th><td><a href="#2.5.12">Mapping for <code>gMonth</code></a></td></tr> - <tr><th>2.5.13</th><td><a href="#2.5.13">Mapping for <code>gMonthDay</code></a></td></tr> - <tr><th>2.5.14</th><td><a href="#2.5.14">Mapping for <code>gYear</code></a></td></tr> - <tr><th>2.5.15</th><td><a href="#2.5.15">Mapping for <code>gYearMonth</code></a></td></tr> - <tr><th>2.5.16</th><td><a href="#2.5.16">Mapping for <code>time</code></a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.6</th><td><a href="#2.6">Mapping for Simple Types</a> - <table class="toc"> - <tr><th>2.6.1</th><td><a href="#2.6.1">Mapping for Derivation by Restriction</a></td></tr> - <tr><th>2.6.2</th><td><a href="#2.6.2">Mapping for Enumerations</a></td></tr> - <tr><th>2.6.3</th><td><a href="#2.6.3">Mapping for Derivation by List</a></td></tr> - <tr><th>2.6.4</th><td><a href="#2.6.4">Mapping for Derivation by Union</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.7</th><td><a href="#2.7">Mapping for Complex Types</a> - <table class="toc"> - <tr><th>2.7.1</th><td><a href="#2.7.1">Mapping for Derivation by Extension</a></td></tr> - <tr><th>2.7.2</th><td><a href="#2.7.2">Mapping for Derivation by Restriction</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.8</th><td><a href="#2.8">Mapping for Local Elements and Attributes</a> - <table class="toc"> - <tr><th>2.8.1</th><td><a href="#2.8.1">Mapping for Members with the One Cardinality Class</a></td></tr> - <tr><th>2.8.2</th><td><a href="#2.8.2">Mapping for Members with the Optional Cardinality Class</a></td></tr> - <tr><th>2.8.3</th><td><a href="#2.8.3">Mapping for Members with the Sequence Cardinality Class</a></td></tr> - <tr><th>2.8.4</th><td><a href="#2.8.4">Element Order</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.9</th><td><a href="#2.9">Mapping for Global Elements</a> - <table class="toc"> - <tr><th>2.9.1</th><td><a href="#2.9.1">Element Types</a></td></tr> - <tr><th>2.9.2</th><td><a href="#2.9.2">Element Map</a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.10</th><td><a href="#2.10">Mapping for Global Attributes</a></td> - </tr> - <tr> - <th>2.11</th><td><a href="#2.11">Mapping for <code>xsi:type</code> and Substitution Groups</a></td> - </tr> - <tr> - <th>2.12</th><td><a href="#2.12">Mapping for <code>any</code> and <code>anyAttribute</code></a> - <table class="toc"> - <tr><th>2.12.1</th><td><a href="#2.12.1">Mapping for <code>any</code> with the One Cardinality Class</a></td></tr> - <tr><th>2.12.2</th><td><a href="#2.12.2">Mapping for <code>any</code> with the Optional Cardinality Class</a></td></tr> - <tr><th>2.12.3</th><td><a href="#2.12.3">Mapping for <code>any</code> with the Sequence Cardinality Class</a></td></tr> - <tr><th>2.12.4</th><td><a href="#2.12.4">Element Wildcard Order</a></td></tr> - <tr><th>2.12.5</th><td><a href="#2.12.5">Mapping for <code>anyAttribute</code></a></td></tr> - </table> - </td> - </tr> - <tr> - <th>2.13</th><td><a href="#2.13">Mapping for Mixed Content Models</a></td> - </tr> - </table> - </td> - </tr> - - <tr> - <th>3</th><td><a href="#3">Parsing</a> - <table class="toc"> - <tr> - <th>3.1</th><td><a href="#3.1">Initializing the Xerces-C++ Runtime</a></td> - </tr> - <tr> - <th>3.2</th><td><a href="#3.2">Flags and Properties</a></td> - </tr> - <tr> - <th>3.3</th><td><a href="#3.3">Error Handling</a> - <table class="toc"> - <tr><th>3.3.1</th><td><a href="#3.3.1"><code>xml_schema::parsing</code></a></td></tr> - <tr><th>3.3.2</th><td><a href="#3.3.2"><code>xml_schema::expected_element</code></a></td></tr> - <tr><th>3.3.3</th><td><a href="#3.3.3"><code>xml_schema::unexpected_element</code></a></td></tr> - <tr><th>3.3.4</th><td><a href="#3.3.4"><code>xml_schema::expected_attribute</code></a></td></tr> - <tr><th>3.3.5</th><td><a href="#3.3.5"><code>xml_schema::unexpected_enumerator</code></a></td></tr> - <tr><th>3.3.6</th><td><a href="#3.3.6"><code>xml_schema::expected_text_content</code></a></td></tr> - <tr><th>3.3.7</th><td><a href="#3.3.7"><code>xml_schema::no_type_info</code></a></td></tr> - <tr><th>3.3.8</th><td><a href="#3.3.8"><code>xml_schema::not_derived</code></a></td></tr> - <tr><th>3.3.9</th><td><a href="#3.3.9"><code>xml_schema::not_prefix_mapping</code></a></td></tr> - </table> - </td> - </tr> - <tr> - <th>3.4</th><td><a href="#3.4">Reading from a Local File or URI</a></td> - </tr> - <tr> - <th>3.5</th><td><a href="#3.5">Reading from <code>std::istream</code></a></td> - </tr> - <tr> - <th>3.6</th><td><a href="#3.6">Reading from <code>xercesc::InputSource</code></a></td> - </tr> - <tr> - <th>3.7</th><td><a href="#3.7">Reading from DOM</a></td> - </tr> - </table> - </td> - </tr> - - <tr> - <th>4</th><td><a href="#4">Serialization</a> - <table class="toc"> - <tr> - <th>4.1</th><td><a href="#4.1">Initializing the Xerces-C++ Runtime</a></td> - </tr> - <tr> - <th>4.2</th><td><a href="#4.2">Namespace Infomap and Character Encoding</a></td> - </tr> - <tr> - <th>4.3</th><td><a href="#4.3">Flags</a></td> - </tr> - <tr> - <th>4.4</th><td><a href="#4.4">Error Handling</a> - <table class="toc"> - <tr><th>4.4.1</th><td><a href="#4.4.1"><code>xml_schema::serialization</code></a></td></tr> - <tr><th>4.4.2</th><td><a href="#4.4.2"><code>xml_schema::unexpected_element</code></a></td></tr> - <tr><th>4.4.3</th><td><a href="#4.4.3"><code>xml_schema::no_type_info</code></a></td></tr> - </table> - </td> - </tr> - <tr> - <th>4.5</th><td><a href="#4.5">Serializing to <code>std::ostream</code></a></td> - </tr> - <tr> - <th>4.6</th><td><a href="#4.6">Serializing to <code>xercesc::XMLFormatTarget</code></a></td> - </tr> - <tr> - <th>4.7</th><td><a href="#4.7">Serializing to DOM</a></td> - </tr> - </table> - </td> - </tr> - - <tr> - <th>5</th><td><a href="#5">Additional Functionality</a> - <table class="toc"> - <tr> - <th>5.1</th><td><a href="#5.1">DOM Association</a></td> - </tr> - <tr> - <th>5.2</th><td><a href="#5.2">Binary Serialization</a></td> - </tr> - </table> - </td> - </tr> - - <tr> - <th></th><td><a href="#A">Appendix A — Default and Fixed Values</a></td> - </tr> - - </table> - </div> - - <h1><a name="0">Preface</a></h1> - - <h2><a name="0.1">About This Document</a></h2> - - <p>This document describes the mapping of W3C XML Schema - to the C++ programming language as implemented by - <a href="http://www.codesynthesis.com/products/xsd">CodeSynthesis - XSD</a> - an XML Schema to C++ data binding compiler. The mapping - represents information stored in XML instance documents as a - statically-typed, tree-like in-memory data structure and is - called C++/Tree. - </p> - - <p>Revision 4.0.0<br/> <!-- Remember to change revision in other places --> - This revision of the manual describes the C++/Tree - mapping as implemented by CodeSynthesis XSD version 4.0.0. - </p> - - <p>This document is available in the following formats: - <a href="http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/index.xhtml">XHTML</a>, - <a href="http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.pdf">PDF</a>, and - <a href="http://codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.ps">PostScript</a>.</p> - - <h2><a name="0.2">More Information</a></h2> - - <p>Beyond this manual, you may also find the following sources of - information useful:</p> - - <ul class="list"> - <li><a href="http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/">C++/Tree - Mapping Getting Started Guide</a></li> - - <li><a href="http://wiki.codesynthesis.com/Tree/Customization_guide">C++/Tree - Mapping Customization Guide</a></li> - - <li><a href="http://wiki.codesynthesis.com/Tree/FAQ">C++/Tree - Mapping Frequently Asked Questions (FAQ)</a></li> - - <li><a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a></li> - - <li>The <code>examples/cxx/tree/</code> directory in the XSD - distribution contains a collection of examples and a README - file with an overview of each example.</li> - - <li>The <code>README</code> file in the XSD distribution explains - how to compile the examples on various platforms.</li> - - <li>The <a href="http://www.codesynthesis.com/mailman/listinfo/xsd-users">xsd-users</a> - mailing list is a place to ask questions. Furthermore the - <a href="http://www.codesynthesis.com/pipermail/xsd-users/">archives</a> - may already have answers to some of your questions.</li> - </ul> - - - <h1><a name="1">1 Introduction</a></h1> - - <p>C++/Tree is a W3C XML Schema to C++ mapping that represents the - data stored in XML as a statically-typed, vocabulary-specific - object model. Based on a formal description of an XML vocabulary - (schema), the C++/Tree mapping produces a tree-like data structure - suitable for in-memory processing as well as XML parsing and - serialization code.</p> - - <p>A typical application that processes XML documents usually - performs the following three steps: it first reads (parses) an XML - instance document to an object model, it then performs - some useful computations on that model which may involve - modification of the model, and finally it may write (serialize) - the modified object model back to XML. - </p> - - <p>The C++/Tree mapping consists of C++ types that represent the - given vocabulary (<a href="#2">Chapter 2, "C++/Tree Mapping"</a>), - a set of parsing functions that convert XML documents to - a tree-like in-memory data structure (<a href="#3">Chapter 3, - "Parsing"</a>), and a set of serialization functions that convert - the object model back to XML (<a href="#4">Chapter 4, - "Serialization"</a>). Furthermore, the mapping provides a number - of additional features, such as DOM association and binary - serialization, that can be useful in some applications - (<a href="#5">Chapter 5, "Additional Functionality"</a>). - </p> - - - <!-- Chapter 2 --> - - - <h1><a name="2">2 C++/Tree Mapping</a></h1> - - <h2><a name="2.1">2.1 Preliminary Information</a></h2> - - <h3><a name="2.1.1">2.1.1 C++ Standard</a></h3> - - <p>The C++/Tree mapping provides support for ISO/IEC C++ 1998/2003 (C++98) - and ISO/IEC C++ 2011 (C++11). To select the C++ standard for the - generated code we use the <code>--std</code> XSD compiler command - line option. While the majority of the examples in this manual use - C++98, support for the new functionality and library components - introduced in C++11 are discussed throughout the document.</p> - - <h3><a name="2.1.2">2.1.2 Identifiers</a></h3> - - <p>XML Schema names may happen to be reserved C++ keywords or contain - characters that are illegal in C++ identifiers. To avoid C++ compilation - problems, such names are changed (escaped) when mapped to C++. If an - XML Schema name is a C++ keyword, the "_" suffix is added to it. All - character of an XML Schema name that are not allowed in C++ identifiers - are replaced with "_". - </p> - - <p>For example, XML Schema name <code>try</code> will be mapped to - C++ identifier <code>try_</code>. Similarly, XML Schema name - <code>strange.na-me</code> will be mapped to C++ identifier - <code>strange_na_me</code>. - </p> - - <p>Furthermore, conflicts between type names and function names in the - same scope are resolved using name escaping. Such conflicts include - both a global element (which is mapped to a set of parsing and/or - serialization functions or element types, see <a href="#2.9">Section - 2.9, "Mapping for Global Elements"</a>) and a global type sharing the - same name as well as a local element or attribute inside a type having - the same name as the type itself.</p> - - <p>For example, if we had a global type <code>catalog</code> - and a global element with the same name then the type would be - mapped to a C++ class with name <code>catalog</code> while the - parsing functions corresponding to the global element would have - their names escaped as <code>catalog_</code>. - </p> - - <p>By default the mapping uses the so-called K&R (Kernighan and - Ritchie) identifier naming convention which is also used throughout - this manual. In this convention both type and function names are in - lower case and words are separated by underscores. If your application - code or schemas use a different notation, you may want to change the - naming convention used by the mapping for consistency. - The compiler supports a set of widely-used naming conventions - that you can select with the <code>--type-naming</code> and - <code>--function-naming</code> options. You can also further - refine one of the predefined conventions or create a completely - custom naming scheme by using the <code>--*-regex</code> options. - For more detailed information on these options refer to the NAMING - CONVENTION section in the <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>.</p> - - <h3><a name="2.1.3">2.1.3 Character Type and Encoding</a></h3> - - <p>The code that implements the mapping, depending on the - <code>--char-type</code> option, is generated using either - <code>char</code> or <code>wchar_t</code> as the character - type. In this document code samples use symbol <code>C</code> - to refer to the character type you have selected when translating - your schemas, for example <code>std::basic_string<C></code>. - </p> - - <p>Another aspect of the mapping that depends on the character type - is character encoding. For the <code>char</code> character type - the default encoding is UTF-8. Other supported encodings are - ISO-8859-1, Xerces-C++ Local Code Page (LPC), as well as - custom encodings and can be selected with the - <code>--char-encoding</code> command line option.</p> - - <p>For the <code>wchar_t</code> character type the encoding is - automatically selected between UTF-16 and UTF-32/UCS-4 depending - on the size of the <code>wchar_t</code> type. On some platforms - (for example, Windows with Visual C++ and AIX with IBM XL C++) - <code>wchar_t</code> is 2 bytes long. For these platforms the - encoding is UTF-16. On other platforms <code>wchar_t</code> is 4 bytes - long and UTF-32/UCS-4 is used.</p> - - <h3><a name="2.1.4">2.1.4 XML Schema Namespace</a></h3> - - <p>The mapping relies on some predefined types, classes, and functions - that are logically defined in the XML Schema namespace reserved for - the XML Schema language (<code>http://www.w3.org/2001/XMLSchema</code>). - By default, this namespace is mapped to C++ namespace - <code>xml_schema</code>. It is automatically accessible - from a C++ compilation unit that includes a header file generated - from an XML Schema definition. - </p> - - <p>Note that, if desired, the default mapping of this namespace can be - changed as described in <a href="#2.4">Section 2.4, "Mapping for - Namespaces"</a>. - </p> - - - <h3><a name="2.1.5">2.1.5 Anonymous Types</a></h3> - - <p>For the purpose of code generation, anonymous types defined in - XML Schema are automatically assigned names that are derived - from enclosing attributes and elements. Otherwise, such types - follows standard mapping rules for simple and complex type - definitions (see <a href="#2.6">Section 2.6, "Mapping for Simple Types"</a> - and <a href="#2.7">Section 2.7, "Mapping for Complex Types"</a>). - For example, in the following schema fragment: - </p> - - <pre class="xml"> -<element name="object"> - <complexType> - ... - </complexType> -</element> - </pre> - - <p>The anonymous type defined inside element <code>object</code> will - be given name <code>object</code>. The compiler has a number of - options that control the process of anonymous type naming. For more - information refer to the <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a>.</p> - - - <h2><a name="2.2">2.2 Error Handling</a></h2> - - <p>The mapping uses the C++ exception handling mechanism as a primary way - of reporting error conditions. All exceptions that are specified in - this mapping derive from <code>xml_schema::exception</code> which - itself is derived from <code>std::exception</code>: - </p> - - <pre class="c++"> -struct exception: virtual std::exception -{ - friend - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const exception& e) - { - e.print (os); - return os; - } - -protected: - virtual void - print (std::basic_ostream<C>&) const = 0; -}; - </pre> - - <p>The exception hierarchy supports "virtual" <code>operator<<</code> - which allows you to obtain diagnostics corresponding to the thrown - exception using the base exception interface. For example:</p> - - <pre class="c++"> -try -{ - ... -} -catch (const xml_schema::exception& e) -{ - cerr << e << endl; -} - </pre> - - <p>The following sub-sections describe exceptions thrown by the - types that constitute the object model. - <a href="#3.3">Section 3.3, "Error Handling"</a> of - <a href="#3">Chapter 3, "Parsing"</a> describes exceptions - and error handling mechanisms specific to the parsing functions. - <a href="#4.4">Section 4.4, "Error Handling"</a> of - <a href="#4">Chapter 4, "Serialization"</a> describes exceptions - and error handling mechanisms specific to the serialization functions. - </p> - - - <h3><a name="2.2.1">2.2.1 <code>xml_schema::duplicate_id</code></a></h3> - - <pre class="c++"> -struct duplicate_id: virtual exception -{ - duplicate_id (const std::basic_string<C>& id); - - const std::basic_string<C>& - id () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::duplicate_id</code> is thrown when - a conflicting instance of <code>xml_schema::id</code> (see - <a href="#2.5">Section 2.5, "Mapping for Built-in Data Types"</a>) - is added to a tree. The offending ID value can be obtained using - the <code>id</code> function. - </p> - - <h2><a name="2.3">2.3 Mapping for <code>import</code> and <code>include</code></a></h2> - - <h3><a name="2.3.1">2.3.1 Import</a></h3> - - <p>The XML Schema <code>import</code> element is mapped to the C++ - Preprocessor <code>#include</code> directive. The value of - the <code>schemaLocation</code> attribute is used to derive - the name of the header file that appears in the <code>#include</code> - directive. For instance: - </p> - - <pre class="xml"> -<import namespace="http://www.codesynthesis.com/test" - schemaLocation="test.xsd"/> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -#include "test.hxx" - </pre> - - <p>Note that you will need to compile imported schemas separately - in order to produce corresponding header files.</p> - - <h3><a name="2.3.2">2.3.2 Inclusion with Target Namespace</a></h3> - - <p>The XML Schema <code>include</code> element which refers to a schema - with a target namespace or appears in a schema without a target namespace - follows the same mapping rules as the <code>import</code> element, - see <a href="#2.3.1">Section 2.3.1, "Import"</a>. - </p> - - <h3><a name="2.3.3">2.3.3 Inclusion without Target Namespace</a></h3> - - <p>For the XML Schema <code>include</code> element which refers to a schema - without a target namespace and appears in a schema with a target - namespace (such inclusion sometimes called "chameleon inclusion"), - declarations and definitions from the included schema are generated - in-line in the namespace of the including schema as if they were - declared and defined there verbatim. For example, consider the - following two schemas: - </p> - - <pre class="xml"> -<-- common.xsd --> -<schema> - <complexType name="type"> - ... - </complexType> -</schema> - -<-- test.xsd --> -<schema targetNamespace="http://www.codesynthesis.com/test"> - <include schemaLocation="common.xsd"/> -</schema> - </pre> - - <p>The fragment of interest from the generated header file for - <code>text.xsd</code> would look like this:</p> - - <pre class="c++"> -// test.hxx -namespace test -{ - class type - { - ... - }; -} - </pre> - - <h2><a name="2.4">2.4 Mapping for Namespaces</a></h2> - - <p>An XML Schema namespace is mapped to one or more nested C++ - namespaces. XML Schema namespaces are identified by URIs. - By default, a namespace URI is mapped to a sequence of - C++ namespace names by removing the protocol and host parts - and splitting the rest into a sequence of names with '<code>/</code>' - as the name separator. For instance: - </p> - - <pre class="xml"> -<schema targetNamespace="http://www.codesynthesis.com/system/test"> - ... -</schema> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -namespace system -{ - namespace test - { - ... - } -} - </pre> - - <p>The default mapping of namespace URIs to C++ namespace names can be - altered using the <code>--namespace-map</code> and - <code>--namespace-regex</code> options. See the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a> for more information. - </p> - - <h2><a name="2.5">2.5 Mapping for Built-in Data Types</a></h2> - - <p>The mapping of XML Schema built-in data types to C++ types is - summarized in the table below.</p> - - <!-- border="1" is necessary for html2ps --> - <table id="builtin" border="1"> - <tr> - <th>XML Schema type</th> - <th>Alias in the <code>xml_schema</code> namespace</th> - <th>C++ type</th> - </tr> - - <tr> - <th colspan="3">anyType and anySimpleType types</th> - </tr> - <tr> - <td><code>anyType</code></td> - <td><code>type</code></td> - <td><a href="#2.5.2">Section 2.5.2, "Mapping for <code>anyType</code>"</a></td> - </tr> - <tr> - <td><code>anySimpleType</code></td> - <td><code>simple_type</code></td> - <td><a href="#2.5.3">Section 2.5.3, "Mapping for <code>anySimpleType</code>"</a></td> - </tr> - - <tr> - <th colspan="3">fixed-length integral types</th> - </tr> - <!-- 8-bit --> - <tr> - <td><code>byte</code></td> - <td><code>byte</code></td> - <td><code>signed char</code></td> - </tr> - <tr> - <td><code>unsignedByte</code></td> - <td><code>unsigned_byte</code></td> - <td><code>unsigned char</code></td> - </tr> - - <!-- 16-bit --> - <tr> - <td><code>short</code></td> - <td><code>short_</code></td> - <td><code>short</code></td> - </tr> - <tr> - <td><code>unsignedShort</code></td> - <td><code>unsigned_short</code></td> - <td><code>unsigned short</code></td> - </tr> - - <!-- 32-bit --> - <tr> - <td><code>int</code></td> - <td><code>int_</code></td> - <td><code>int</code></td> - </tr> - <tr> - <td><code>unsignedInt</code></td> - <td><code>unsigned_int</code></td> - <td><code>unsigned int</code></td> - </tr> - - <!-- 64-bit --> - <tr> - <td><code>long</code></td> - <td><code>long_</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>unsignedLong</code></td> - <td><code>unsigned_long</code></td> - <td><code>unsigned long long</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-length integral types</th> - </tr> - <tr> - <td><code>integer</code></td> - <td><code>integer</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonPositiveInteger</code></td> - <td><code>non_positive_integer</code></td> - <td><code>long long</code></td> - </tr> - <tr> - <td><code>nonNegativeInteger</code></td> - <td><code>non_negative_integer</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>positiveInteger</code></td> - <td><code>positive_integer</code></td> - <td><code>unsigned long long</code></td> - </tr> - <tr> - <td><code>negativeInteger</code></td> - <td><code>negative_integer</code></td> - <td><code>long long</code></td> - </tr> - - <tr> - <th colspan="3">boolean types</th> - </tr> - <tr> - <td><code>boolean</code></td> - <td><code>boolean</code></td> - <td><code>bool</code></td> - </tr> - - <tr> - <th colspan="3">fixed-precision floating-point types</th> - </tr> - <tr> - <td><code>float</code></td> - <td><code>float_</code></td> - <td><code>float</code></td> - </tr> - <tr> - <td><code>double</code></td> - <td><code>double_</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">arbitrary-precision floating-point types</th> - </tr> - <tr> - <td><code>decimal</code></td> - <td><code>decimal</code></td> - <td><code>double</code></td> - </tr> - - <tr> - <th colspan="3">string types</th> - </tr> - <tr> - <td><code>string</code></td> - <td><code>string</code></td> - <td>type derived from <code>std::basic_string</code></td> - </tr> - <tr> - <td><code>normalizedString</code></td> - <td><code>normalized_string</code></td> - <td>type derived from <code>string</code></td> - </tr> - <tr> - <td><code>token</code></td> - <td><code>token</code></td> - <td>type derived from <code>normalized_string</code></td> - </tr> - <tr> - <td><code>Name</code></td> - <td><code>name</code></td> - <td>type derived from <code>token</code></td> - </tr> - <tr> - <td><code>NMTOKEN</code></td> - <td><code>nmtoken</code></td> - <td>type derived from <code>token</code></td> - </tr> - <tr> - <td><code>NMTOKENS</code></td> - <td><code>nmtokens</code></td> - <td>type derived from <code>sequence<nmtoken></code></td> - </tr> - <tr> - <td><code>NCName</code></td> - <td><code>ncname</code></td> - <td>type derived from <code>name</code></td> - </tr> - <tr> - <td><code>language</code></td> - <td><code>language</code></td> - <td>type derived from <code>token</code></td> - </tr> - - <tr> - <th colspan="3">qualified name</th> - </tr> - <tr> - <td><code>QName</code></td> - <td><code>qname</code></td> - <td><a href="#2.5.4">Section 2.5.4, "Mapping for <code>QName</code>"</a></td> - </tr> - - <tr> - <th colspan="3">ID/IDREF types</th> - </tr> - <tr> - <td><code>ID</code></td> - <td><code>id</code></td> - <td>type derived from <code>ncname</code></td> - </tr> - <tr> - <td><code>IDREF</code></td> - <td><code>idref</code></td> - <td><a href="#2.5.5">Section 2.5.5, "Mapping for <code>IDREF</code>"</a></td> - </tr> - <tr> - <td><code>IDREFS</code></td> - <td><code>idrefs</code></td> - <td>type derived from <code>sequence<idref></code></td> - </tr> - - <tr> - <th colspan="3">URI types</th> - </tr> - <tr> - <td><code>anyURI</code></td> - <td><code>uri</code></td> - <td>type derived from <code>std::basic_string</code></td> - </tr> - - <tr> - <th colspan="3">binary types</th> - </tr> - <tr> - <td><code>base64Binary</code></td> - <td><code>base64_binary</code></td> - <td rowspan="2"><a href="#2.5.6">Section 2.5.6, "Mapping for - <code>base64Binary</code> and <code>hexBinary</code>"</a></td> - </tr> - <tr> - <td><code>hexBinary</code></td> - <td><code>hex_binary</code></td> - </tr> - - <tr> - <th colspan="3">date/time types</th> - </tr> - <tr> - <td><code>date</code></td> - <td><code>date</code></td> - <td><a href="#2.5.8">Section 2.5.8, "Mapping for - <code>date</code>"</a></td> - </tr> - <tr> - <td><code>dateTime</code></td> - <td><code>date_time</code></td> - <td><a href="#2.5.9">Section 2.5.9, "Mapping for - <code>dateTime</code>"</a></td> - </tr> - <tr> - <td><code>duration</code></td> - <td><code>duration</code></td> - <td><a href="#2.5.10">Section 2.5.10, "Mapping for - <code>duration</code>"</a></td> - </tr> - <tr> - <td><code>gDay</code></td> - <td><code>gday</code></td> - <td><a href="#2.5.11">Section 2.5.11, "Mapping for - <code>gDay</code>"</a></td> - </tr> - <tr> - <td><code>gMonth</code></td> - <td><code>gmonth</code></td> - <td><a href="#2.5.12">Section 2.5.12, "Mapping for - <code>gMonth</code>"</a></td> - </tr> - <tr> - <td><code>gMonthDay</code></td> - <td><code>gmonth_day</code></td> - <td><a href="#2.5.13">Section 2.5.13, "Mapping for - <code>gMonthDay</code>"</a></td> - </tr> - <tr> - <td><code>gYear</code></td> - <td><code>gyear</code></td> - <td><a href="#2.5.14">Section 2.5.14, "Mapping for - <code>gYear</code>"</a></td> - </tr> - <tr> - <td><code>gYearMonth</code></td> - <td><code>gyear_month</code></td> - <td><a href="#2.5.15">Section 2.5.15, "Mapping for - <code>gYearMonth</code>"</a></td> - </tr> - <tr> - <td><code>time</code></td> - <td><code>time</code></td> - <td><a href="#2.5.16">Section 2.5.16, "Mapping for - <code>time</code>"</a></td> - </tr> - - <tr> - <th colspan="3">entity types</th> - </tr> - <tr> - <td><code>ENTITY</code></td> - <td><code>entity</code></td> - <td>type derived from <code>name</code></td> - </tr> - <tr> - <td><code>ENTITIES</code></td> - <td><code>entities</code></td> - <td>type derived from <code>sequence<entity></code></td> - </tr> - </table> - - <p>All XML Schema built-in types are mapped to C++ classes that are - derived from the <code>xml_schema::simple_type</code> class except - where the mapping is to a fundamental C++ type.</p> - - <p>The <code>sequence</code> class template is defined in an - implementation-specific namespace. It conforms to the - sequence interface as defined by the ISO/ANSI Standard for - C++ (ISO/IEC 14882:1998, Section 23.1.1, "Sequences"). - Practically, this means that you can treat such a sequence - as if it was <code>std::vector</code>. One notable extension - to the standard interface that is available only for - sequences of non-fundamental C++ types is the addition of - the overloaded <code>push_back</code> and <code>insert</code> - member functions which instead of the constant reference - to the element type accept automatic pointer (<code>std::auto_ptr</code> - or <code>std::unique_ptr</code>, depending on the C++ standard - selected) to the element type. These functions assume ownership - of the pointed to object and reset the passed automatic pointer. - </p> - - <h3><a name="2.5.1">2.5.1 Inheritance from Built-in Data Types</a></h3> - - <p>In cases where the mapping calls for an inheritance from a built-in - type which is mapped to a fundamental C++ type, a proxy type is - used instead of the fundamental C++ type (C++ does not allow - inheritance from fundamental types). For instance:</p> - - <pre class="xml"> -<simpleType name="my_int"> - <restriction base="int"/> -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class my_int: public fundamental_base<int> -{ - ... -}; - </pre> - - <p>The <code>fundamental_base</code> class template provides a close - emulation (though not exact) of a fundamental C++ type. - It is defined in an implementation-specific namespace and has the - following interface:</p> - - <pre class="c++"> -template <typename X> -class fundamental_base: public simple_type -{ -public: - fundamental_base (); - fundamental_base (X) - fundamental_base (const fundamental_base&) - -public: - fundamental_base& - operator= (const X&); - -public: - operator const X & () const; - operator X& (); - - template <typename Y> - operator Y () const; - - template <typename Y> - operator Y (); -}; - </pre> - - <h3><a name="2.5.2">2.5.2 Mapping for <code>anyType</code></a></h3> - - <p>The XML Schema <code>anyType</code> built-in data type is mapped to the - <code>xml_schema::type</code> C++ class:</p> - - <pre class="c++"> -class type -{ -public: - virtual - ~type (); - - type (); - type (const type&); - - type& - operator= (const type&); - - virtual type* - _clone () const; - - // anyType DOM content. - // -public: - typedef element_optional dom_content_optional; - - const dom_content_optional& - dom_content () const; - - dom_content_optional& - dom_content (); - - void - dom_content (const xercesc::DOMElement&); - - void - dom_content (xercesc::DOMElement*); - - void - dom_content (const dom_content_optional&); - - const xercesc::DOMDocument& - dom_content_document () const; - - xercesc::DOMDocument& - dom_content_document (); - - bool - null_content () const; - - // DOM association. - // -public: - const xercesc::DOMNode* - _node () const; - - xercesc::DOMNode* - _node (); -}; - </pre> - - <p>When <code>xml_schema::type</code> is used to create an instance - (as opposed to being a base of a derived type), it represents - the XML Schema <code>anyType</code> type. <code>anyType</code> - allows any attributes and any content in any order. In the - C++/Tree mapping this content can be represented as a DOM - fragment, similar to XML Schema wildcards (<a href="#2.12">Section - 2.12, "Mapping for <code>any</code> and - <code>anyAttribute</code>"</a>).</p> - - <p>To enable automatic extraction of <code>anyType</code> content - during parsing, the <code>--generate-any-type</code> option must be - specified. Because the DOM API is used to access such content, the - Xerces-C++ runtime should be initialized by the application prior to - parsing and should remain initialized for the lifetime of objects - with the DOM content. For more information on the Xerces-C++ runtime - initialization see <a href="#3.1">Section 3.1, "Initializing the - Xerces-C++ Runtime"</a>.</p> - - <p>The DOM content is stored as the optional DOM element container - and the DOM content accessors and modifiers presented above are - identical to those generated for an optional element wildcard. - Refer to <a href="#2.12.2">Section 2.12.2, "Mapping for <code>any</code> - with the Optional Cardinality Class"</a> for details on their - semantics.</p> - - <p>The <code>dom_content_document()</code> function returns the - DOM document used to store the raw XML content corresponding - to the <code>anyType</code> instance. It is equivalent to the - <code>dom_document()</code> function generated for types - with wildcards.</p> - - <p>The <code>null_content()</code> accessor is an optimization function - that allows us to check for the lack of content without actually - creating its empty representation, that is, empty DOM document for - <code>anyType</code> or empty string for <code>anySimpleType</code> - (see the following section for details on <code>anySimpleType</code>).</p> - - <p>For more information on DOM association refer to - <a href="#5.1">Section 5.1, "DOM Association"</a>.</p> - - <h3><a name="2.5.3">2.5.3 Mapping for <code>anySimpleType</code></a></h3> - - <p>The XML Schema <code>anySimpleType</code> built-in data type is mapped - to the <code>xml_schema::simple_type</code> C++ class:</p> - - <pre class="c++"> -class simple_type: public type -{ -public: - simple_type (); - simple_type (const C*); - simple_type (const std::basic_string<C>&); - - simple_type (const simple_type&); - - simple_type& - operator= (const simple_type&); - - virtual simple_type* - _clone () const; - - // anySimpleType text content. - // -public: - const std::basic_string<C>& - text_content () const; - - std::basic_string<C>& - text_content (); - - void - text_content (const std::basic_string<C>&); -}; - </pre> - - <p>When <code>xml_schema::simple_type</code> is used to create an instance - (as opposed to being a base of a derived type), it represents - the XML Schema <code>anySimpleType</code> type. <code>anySimpleType</code> - allows any simple content. In the C++/Tree mapping this content can - be represented as a string and accessed or modified with the - <code>text_content()</code> functions shown above.</p> - - <h3><a name="2.5.4">2.5.4 Mapping for <code>QName</code></a></h3> - - <p>The XML Schema <code>QName</code> built-in data type is mapped to the - <code>xml_schema::qname</code> C++ class:</p> - - <pre class="c++"> -class qname: public simple_type -{ -public: - qname (const ncname&); - qname (const uri&, const ncname&); - qname (const qname&); - -public: - qname& - operator= (const qname&); - -public: - virtual qname* - _clone () const; - -public: - bool - qualified () const; - - const uri& - namespace_ () const; - - const ncname& - name () const; -}; - </pre> - - <p>The <code>qualified</code> accessor function can be used to determine - if the name is qualified.</p> - - <h3><a name="2.5.5">2.5.5 Mapping for <code>IDREF</code></a></h3> - - <p>The XML Schema <code>IDREF</code> built-in data type is mapped to the - <code>xml_schema::idref</code> C++ class. This class implements the - smart pointer C++ idiom:</p> - - <pre class="c++"> -class idref: public ncname -{ -public: - idref (const C* s); - idref (const C* s, std::size_t n); - idref (std::size_t n, C c); - idref (const std::basic_string<C>&); - idref (const std::basic_string<C>&, - std::size_t pos, - std::size_t n = npos); - -public: - idref (const idref&); - -public: - virtual idref* - _clone () const; - -public: - idref& - operator= (C c); - - idref& - operator= (const C* s); - - idref& - operator= (const std::basic_string<C>&) - - idref& - operator= (const idref&); - -public: - const type* - operator-> () const; - - type* - operator-> (); - - const type& - operator* () const; - - type& - operator* (); - - const type* - get () const; - - type* - get (); - - // Conversion to bool. - // -public: - typedef void (idref::*bool_convertible)(); - operator bool_convertible () const; -}; - </pre> - - <p>The object, <code>idref</code> instance refers to, is the immediate - container of the matching <code>id</code> instance. For example, - with the following instance document and schema: - </p> - - - <pre class="xml"> -<!-- test.xml --> -<root> - <object id="obj-1" text="hello"/> - <reference>obj-1</reference> -</root> - -<!-- test.xsd --> -<schema> - <complexType name="object_type"> - <attribute name="id" type="ID"/> - <attribute name="text" type="string"/> - </complexType> - - <complexType name="root_type"> - <sequence> - <element name="object" type="object_type"/> - <element name="reference" type="IDREF"/> - </sequence> - </complexType> - - <element name="root" type="root_type"/> -</schema> - </pre> - - <p>The <code>ref</code> instance in the code below will refer to - an object of type <code>object_type</code>:</p> - - <pre class="c++"> -root_type& root = ...; -xml_schema::idref& ref (root.reference ()); -object_type& obj (dynamic_cast<object_type&> (*ref)); -cout << obj.text () << endl; - </pre> - - <p>The smart pointer interface of the <code>idref</code> class always - returns a pointer or reference to <code>xml_schema::type</code>. - This means that you will need to manually cast such pointer or - reference to its real (dynamic) type before you can use it (unless - all you need is the base interface provided by - <code>xml_schema::type</code>). As a special extension to the XML - Schema language, the mapping supports static typing of <code>idref</code> - references by employing the <code>refType</code> extension attribute. - The following example illustrates this mechanism: - </p> - - <pre class="xml"> -<!-- test.xsd --> -<schema - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension"> - - ... - - <element name="reference" type="IDREF" xse:refType="object_type"/> - - ... - -</schema> - </pre> - - <p>With this modification we do not need to do manual casting anymore: - </p> - - <pre class="c++"> -root_type& root = ...; -root_type::reference_type& ref (root.reference ()); -object_type& obj (*ref); -cout << ref->text () << endl; - </pre> - - - <h3><a name="2.5.6">2.5.6 Mapping for <code>base64Binary</code> and - <code>hexBinary</code></a></h3> - - <p>The XML Schema <code>base64Binary</code> and <code>hexBinary</code> - built-in data types are mapped to the - <code>xml_schema::base64_binary</code> and - <code>xml_schema::hex_binary</code> C++ classes, respectively. The - <code>base64_binary</code> and <code>hex_binary</code> classes - support a simple buffer abstraction by inheriting from the - <code>xml_schema::buffer</code> class: - </p> - - <pre class="c++"> -class bounds: public virtual exception -{ -public: - virtual const char* - what () const throw (); -}; - -class buffer -{ -public: - typedef std::size_t size_t; - -public: - buffer (size_t size = 0); - buffer (size_t size, size_t capacity); - buffer (const void* data, size_t size); - buffer (const void* data, size_t size, size_t capacity); - buffer (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - -public: - buffer (const buffer&); - - buffer& - operator= (const buffer&); - - void - swap (buffer&); - -public: - size_t - capacity () const; - - bool - capacity (size_t); - -public: - size_t - size () const; - - bool - size (size_t); - -public: - const char* - data () const; - - char* - data (); - - const char* - begin () const; - - char* - begin (); - - const char* - end () const; - - char* - end (); -}; - </pre> - - <p>The last overloaded constructor reuses an existing data buffer instead - of making a copy. If the <code>assume_ownership</code> argument is - <code>true</code>, the instance assumes ownership of the - memory block pointed to by the <code>data</code> argument and will - eventually release it by calling <code>operator delete</code>. The - <code>capacity</code> and <code>size</code> modifier functions return - <code>true</code> if the underlying buffer has moved. - </p> - - <p>The <code>bounds</code> exception is thrown if the constructor - arguments violate the <code>(size <= capacity)</code> - constraint.</p> - - <p>The <code>base64_binary</code> and <code>hex_binary</code> classes - support the <code>buffer</code> interface and perform automatic - decoding/encoding from/to the Base64 and Hex formats, respectively: - </p> - - <pre class="c++"> -class base64_binary: public simple_type, public buffer -{ -public: - base64_binary (size_t size = 0); - base64_binary (size_t size, size_t capacity); - base64_binary (const void* data, size_t size); - base64_binary (const void* data, size_t size, size_t capacity); - base64_binary (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - -public: - base64_binary (const base64_binary&); - - base64_binary& - operator= (const base64_binary&); - - virtual base64_binary* - _clone () const; - -public: - std::basic_string<C> - encode () const; -}; - </pre> - - <pre class="c++"> -class hex_binary: public simple_type, public buffer -{ -public: - hex_binary (size_t size = 0); - hex_binary (size_t size, size_t capacity); - hex_binary (const void* data, size_t size); - hex_binary (const void* data, size_t size, size_t capacity); - hex_binary (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - -public: - hex_binary (const hex_binary&); - - hex_binary& - operator= (const hex_binary&); - - virtual hex_binary* - _clone () const; - -public: - std::basic_string<C> - encode () const; -}; - </pre> - - - <h2><a name="2.5.7">2.5.7 Time Zone Representation</a></h2> - - <p>The <code>date</code>, <code>dateTime</code>, <code>gDay</code>, - <code>gMonth</code>, <code>gMonthDay</code>, <code>gYear</code>, - <code>gYearMonth</code>, and <code>time</code> XML Schema built-in - types all include an optional time zone component. The following - <code>xml_schema::time_zone</code> base class is used to represent - this information:</p> - - <pre class="c++"> -class time_zone -{ -public: - time_zone (); - time_zone (short hours, short minutes); - - bool - zone_present () const; - - void - zone_reset (); - - short - zone_hours () const; - - void - zone_hours (short); - - short - zone_minutes () const; - - void - zone_minutes (short); -}; - -bool -operator== (const time_zone&, const time_zone&); - -bool -operator!= (const time_zone&, const time_zone&); - </pre> - - <p>The <code>zone_present()</code> accessor function returns <code>true</code> - if the time zone is specified. The <code>zone_reset()</code> modifier - function resets the time zone object to the <em>not specified</em> - state. If the time zone offset is negative then both hours and - minutes components are represented as negative integers.</p> - - - <h2><a name="2.5.8">2.5.8 Mapping for <code>date</code></a></h2> - - <p>The XML Schema <code>date</code> built-in data type is mapped to the - <code>xml_schema::date</code> C++ class which represents a year, a day, - and a month with an optional time zone. Its interface is presented - below. For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#2.5.7">Section 2.5.7, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -class date: public simple_type, public time_zone -{ -public: - date (int year, unsigned short month, unsigned short day); - date (int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - -public: - date (const date&); - - date& - operator= (const date&); - - virtual date* - _clone () const; - -public: - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); -}; - -bool -operator== (const date&, const date&); - -bool -operator!= (const date&, const date&); - </pre> - - <h2><a name="2.5.9">2.5.9 Mapping for <code>dateTime</code></a></h2> - - <p>The XML Schema <code>dateTime</code> built-in data type is mapped to the - <code>xml_schema::date_time</code> C++ class which represents a year, a month, - a day, hours, minutes, and seconds with an optional time zone. Its interface - is presented below. For more information on the base - <code>xml_schema::time_zone</code> class refer to <a href="#2.5.7">Section - 2.5.7, "Time Zone Representation"</a>.</p> - - <pre class="c++"> -class date_time: public simple_type, public time_zone -{ -public: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds); - - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds, short zone_hours, short zone_minutes); -public: - date_time (const date_time&); - - date_time& - operator= (const date_time&); - - virtual date_time* - _clone () const; - -public: - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); -}; - -bool -operator== (const date_time&, const date_time&); - -bool -operator!= (const date_time&, const date_time&); - </pre> - - - <h2><a name="2.5.10">2.5.10 Mapping for <code>duration</code></a></h2> - - <p>The XML Schema <code>duration</code> built-in data type is mapped to the - <code>xml_schema::duration</code> C++ class which represents a potentially - negative duration in the form of years, months, days, hours, minutes, - and seconds. Its interface is presented below.</p> - - <pre class="c++"> -class duration: public simple_type -{ -public: - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds); -public: - duration (const duration&); - - duration& - operator= (const duration&); - - virtual duration* - _clone () const; - -public: - bool - negative () const; - - void - negative (bool); - - unsigned int - years () const; - - void - years (unsigned int); - - unsigned int - months () const; - - void - months (unsigned int); - - unsigned int - days () const; - - void - days (unsigned int); - - unsigned int - hours () const; - - void - hours (unsigned int); - - unsigned int - minutes () const; - - void - minutes (unsigned int); - - double - seconds () const; - - void - seconds (double); -}; - -bool -operator== (const duration&, const duration&); - -bool -operator!= (const duration&, const duration&); - </pre> - - - <h2><a name="2.5.11">2.5.11 Mapping for <code>gDay</code></a></h2> - - <p>The XML Schema <code>gDay</code> built-in data type is mapped to the - <code>xml_schema::gday</code> C++ class which represents a day of the - month with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#2.5.7">Section 2.5.7, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -class gday: public simple_type, public time_zone -{ -public: - explicit - gday (unsigned short day); - gday (unsigned short day, short zone_hours, short zone_minutes); - -public: - gday (const gday&); - - gday& - operator= (const gday&); - - virtual gday* - _clone () const; - -public: - unsigned short - day () const; - - void - day (unsigned short); -}; - -bool -operator== (const gday&, const gday&); - -bool -operator!= (const gday&, const gday&); - </pre> - - - <h2><a name="2.5.12">2.5.12 Mapping for <code>gMonth</code></a></h2> - - <p>The XML Schema <code>gMonth</code> built-in data type is mapped to the - <code>xml_schema::gmonth</code> C++ class which represents a month of the - year with an optional time zone. Its interface is presented below. - For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#2.5.7">Section 2.5.7, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -class gmonth: public simple_type, public time_zone -{ -public: - explicit - gmonth (unsigned short month); - gmonth (unsigned short month, - short zone_hours, short zone_minutes); - -public: - gmonth (const gmonth&); - - gmonth& - operator= (const gmonth&); - - virtual gmonth* - _clone () const; - -public: - unsigned short - month () const; - - void - month (unsigned short); -}; - -bool -operator== (const gmonth&, const gmonth&); - -bool -operator!= (const gmonth&, const gmonth&); - </pre> - - - <h2><a name="2.5.13">2.5.13 Mapping for <code>gMonthDay</code></a></h2> - - <p>The XML Schema <code>gMonthDay</code> built-in data type is mapped to the - <code>xml_schema::gmonth_day</code> C++ class which represents a day and - a month of the year with an optional time zone. Its interface is presented - below. For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#2.5.7">Section 2.5.7, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -class gmonth_day: public simple_type, public time_zone -{ -public: - gmonth_day (unsigned short month, unsigned short day); - gmonth_day (unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - -public: - gmonth_day (const gmonth_day&); - - gmonth_day& - operator= (const gmonth_day&); - - virtual gmonth_day* - _clone () const; - -public: - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); -}; - -bool -operator== (const gmonth_day&, const gmonth_day&); - -bool -operator!= (const gmonth_day&, const gmonth_day&); - </pre> - - - <h2><a name="2.5.14">2.5.14 Mapping for <code>gYear</code></a></h2> - - <p>The XML Schema <code>gYear</code> built-in data type is mapped to the - <code>xml_schema::gyear</code> C++ class which represents a year with - an optional time zone. Its interface is presented below. For more - information on the base <code>xml_schema::time_zone</code> class refer - to <a href="#2.5.7">Section 2.5.7, "Time Zone Representation"</a>.</p> - - <pre class="c++"> -class gyear: public simple_type, public time_zone -{ -public: - explicit - gyear (int year); - gyear (int year, short zone_hours, short zone_minutes); - -public: - gyear (const gyear&); - - gyear& - operator= (const gyear&); - - virtual gyear* - _clone () const; - -public: - int - year () const; - - void - year (int); -}; - -bool -operator== (const gyear&, const gyear&); - -bool -operator!= (const gyear&, const gyear&); - </pre> - - - <h2><a name="2.5.15">2.5.15 Mapping for <code>gYearMonth</code></a></h2> - - <p>The XML Schema <code>gYearMonth</code> built-in data type is mapped to - the <code>xml_schema::gyear_month</code> C++ class which represents - a year and a month with an optional time zone. Its interface is presented - below. For more information on the base <code>xml_schema::time_zone</code> - class refer to <a href="#2.5.7">Section 2.5.7, "Time Zone - Representation"</a>.</p> - - <pre class="c++"> -class gyear_month: public simple_type, public time_zone -{ -public: - gyear_month (int year, unsigned short month); - gyear_month (int year, unsigned short month, - short zone_hours, short zone_minutes); -public: - gyear_month (const gyear_month&); - - gyear_month& - operator= (const gyear_month&); - - virtual gyear_month* - _clone () const; - -public: - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); -}; - -bool -operator== (const gyear_month&, const gyear_month&); - -bool -operator!= (const gyear_month&, const gyear_month&); - </pre> - - - <h2><a name="2.5.16">2.5.16 Mapping for <code>time</code></a></h2> - - <p>The XML Schema <code>time</code> built-in data type is mapped to - the <code>xml_schema::time</code> C++ class which represents hours, - minutes, and seconds with an optional time zone. Its interface is - presented below. For more information on the base - <code>xml_schema::time_zone</code> class refer to - <a href="#2.5.7">Section 2.5.7, "Time Zone Representation"</a>.</p> - - <pre class="c++"> -class time: public simple_type, public time_zone -{ -public: - time (unsigned short hours, unsigned short minutes, double seconds); - time (unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes); - -public: - time (const time&); - - time& - operator= (const time&); - - virtual time* - _clone () const; - -public: - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); -}; - -bool -operator== (const time&, const time&); - -bool -operator!= (const time&, const time&); - </pre> - - - <!-- Mapping for Simple Types --> - - <h2><a name="2.6">2.6 Mapping for Simple Types</a></h2> - - <p>An XML Schema simple type is mapped to a C++ class with the same - name as the simple type. The class defines a public copy constructor, - a public copy assignment operator, and a public virtual - <code>_clone</code> function. The <code>_clone</code> function is - declared <code>const</code>, does not take any arguments, and returns - a pointer to a complete copy of the instance allocated in the free - store. The <code>_clone</code> function shall be used to make copies - when static type and dynamic type of the instance may differ (see - <a href="#2.11">Section 2.11, "Mapping for <code>xsi:type</code> - and Substitution Groups"</a>). For instance:</p> - - <pre class="xml"> -<simpleType name="object"> - ... -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: ... -{ -public: - object (const object&); - -public: - object& - operator= (const object&); - -public: - virtual object* - _clone () const; - - ... - -}; - </pre> - - <p>The base class specification and the rest of the class definition - depend on the type of derivation used to define the simple type. </p> - - - <h3><a name="2.6.1">2.6.1 Mapping for Derivation by Restriction</a></h3> - - <p>XML Schema derivation by restriction is mapped to C++ public - inheritance. The base type of the restriction becomes the base - type for the resulting C++ class. In addition to the members described - in <a href="#2.6">Section 2.6, "Mapping for Simple Types"</a>, the - resulting C++ class defines a public constructor with the base type - as its single argument. For instance:</p> - - <pre class="xml"> -<simpleType name="object"> - <restriction base="base"> - ... - </restriction> -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public base -{ -public: - object (const base&); - object (const object&); - -public: - object& - operator= (const object&); - -public: - virtual object* - _clone () const; -}; - </pre> - - - <h3><a name="2.6.2">2.6.2 Mapping for Enumerations</a></h3> - -<p>XML Schema restriction by enumeration is mapped to a C++ class - with semantics similar to C++ <code>enum</code>. Each XML Schema - enumeration element is mapped to a C++ enumerator with the - name derived from the <code>value</code> attribute and defined - in the class scope. In addition to the members - described in <a href="#2.6">Section 2.6, "Mapping for Simple Types"</a>, - the resulting C++ class defines a public constructor that can be called - with one of the enumerators as its single argument, a public constructor - that can be called with enumeration's base value as its single - argument, a public assignment operator that can be used to assign the - value of one of the enumerators, and a public implicit conversion - operator to the underlying C++ enum type.</p> - -<p>Furthermore, for string-based enumeration types, the resulting C++ - class defines a public constructor with a single argument of type - <code>const C*</code> and a public constructor with a single - argument of type <code>const std::basic_string<C>&</code>. - For instance:</p> - - <pre class="xml"> -<simpleType name="color"> - <restriction base="string"> - <enumeration value="red"/> - <enumeration value="green"/> - <enumeration value="blue"/> - </restriction> -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class color: public xml_schema::string -{ -public: - enum value - { - red, - green, - blue - }; - -public: - color (value); - color (const C*); - color (const std::basic_string<C>&); - color (const xml_schema::string&); - color (const color&); - -public: - color& - operator= (value); - - color& - operator= (const color&); - -public: - virtual color* - _clone () const; - -public: - operator value () const; -}; - </pre> - - <h3><a name="2.6.3">2.6.3 Mapping for Derivation by List</a></h3> - - <p>XML Schema derivation by list is mapped to C++ public - inheritance from <code>xml_schema::simple_type</code> - (<a href="#2.5.3">Section 2.5.3, "Mapping for - <code>anySimpleType</code>"</a>) and a suitable sequence type. - The list item type becomes the element type of the sequence. - In addition to the members described in <a href="#2.6">Section 2.6, - "Mapping for Simple Types"</a>, the resulting C++ class defines - a public default constructor, a public constructor - with the first argument of type <code>size_type</code> and - the second argument of list item type that creates - a list object with the specified number of copies of the specified - element value, and a public constructor with the two arguments - of an input iterator type that creates a list object from an - iterator range. For instance: - </p> - - <pre class="xml"> -<simpleType name="int_list"> - <list itemType="int"/> -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class int_list: public simple_type, - public sequence<int> -{ -public: - int_list (); - int_list (size_type n, int x); - - template <typename I> - int_list (const I& begin, const I& end); - int_list (const int_list&); - -public: - int_list& - operator= (const int_list&); - -public: - virtual int_list* - _clone () const; -}; - </pre> - - <p>The <code>sequence</code> class template is defined in an - implementation-specific namespace. It conforms to the - sequence interface as defined by the ISO/ANSI Standard for - C++ (ISO/IEC 14882:1998, Section 23.1.1, "Sequences"). - Practically, this means that you can treat such a sequence - as if it was <code>std::vector</code>. One notable extension - to the standard interface that is available only for - sequences of non-fundamental C++ types is the addition of - the overloaded <code>push_back</code> and <code>insert</code> - member functions which instead of the constant reference - to the element type accept automatic pointer (<code>std::auto_ptr</code> - or <code>std::unique_ptr</code>, depending on the C++ standard - selected) to the element type. These functions assume ownership - of the pointed to object and reset the passed automatic pointer. - </p> - - <h3><a name="2.6.4">2.6.4 Mapping for Derivation by Union</a></h3> - - <p>XML Schema derivation by union is mapped to C++ public - inheritance from <code>xml_schema::simple_type</code> - (<a href="#2.5.3">Section 2.5.3, "Mapping for - <code>anySimpleType</code>"</a>) and <code>std::basic_string<C></code>. - In addition to the members described in <a href="#2.6">Section 2.6, - "Mapping for Simple Types"</a>, the resulting C++ class defines a - public constructor with a single argument of type <code>const C*</code> - and a public constructor with a single argument of type - <code>const std::basic_string<C>&</code>. For instance: - </p> - - <pre class="xml"> -<simpleType name="int_string_union"> - <xsd:union memberTypes="xsd:int xsd:string"/> -</simpleType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class int_string_union: public simple_type, - public std::basic_string<C> -{ -public: - int_string_union (const C*); - int_string_union (const std::basic_string<C>&); - int_string_union (const int_string_union&); - -public: - int_string_union& - operator= (const int_string_union&); - -public: - virtual int_string_union* - _clone () const; -}; - </pre> - - <h2><a name="2.7">2.7 Mapping for Complex Types</a></h2> - - <p>An XML Schema complex type is mapped to a C++ class with the same - name as the complex type. The class defines a public copy constructor, - a public copy assignment operator, and a public virtual - <code>_clone</code> function. The <code>_clone</code> function is - declared <code>const</code>, does not take any arguments, and returns - a pointer to a complete copy of the instance allocated in the free - store. The <code>_clone</code> function shall be used to make copies - when static type and dynamic type of the instance may differ (see - <a href="#2.11">Section 2.11, "Mapping for <code>xsi:type</code> - and Substitution Groups"</a>).</p> - - <p>Additionally, the resulting C++ class - defines two public constructors that take an initializer for each - member of the complex type and all its base types that belongs to - the One cardinality class (see <a href="#2.8">Section 2.8, "Mapping - for Local Elements and Attributes"</a>). In the first constructor, - the arguments are passed as constant references and the newly created - instance is initialized with copies of the passed objects. In the - second constructor, arguments that are complex types (that is, - they themselves contain elements or attributes) are passed as - either <code>std::auto_ptr</code> (C++98) or <code>std::unique_ptr</code> - (C++11), depending on the C++ standard selected. In this case the newly - created instance is directly initialized with and assumes ownership - of the pointed to objects and the <code>std::[auto|unique]_ptr</code> - arguments are reset to <code>0</code>. For instance:</p> - - <pre class="xml"> -<complexType name="complex"> - <sequence> - <element name="a" type="int"/> - <element name="b" type="string"/> - </sequence> -</complexType> - -<complexType name="object"> - <sequence> - <element name="s-one" type="boolean"/> - <element name="c-one" type="complex"/> - <element name="optional" type="int" minOccurs="0"/> - <element name="sequence" type="string" maxOccurs="unbounded"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class complex: public xml_schema::type -{ -public: - object (const int& a, const xml_schema::string& b); - object (const complex&); - -public: - object& - operator= (const complex&); - -public: - virtual complex* - _clone () const; - - ... - -}; - -class object: public xml_schema::type -{ -public: - object (const bool& s_one, const complex& c_one); - object (const bool& s_one, std::[auto|unique]_ptr<complex> c_one); - object (const object&); - -public: - object& - operator= (const object&); - -public: - virtual object* - _clone () const; - - ... - -}; - </pre> - - <p>Notice that the generated <code>complex</code> class does not - have the second (<code>std::[auto|unique]_ptr</code>) version of the - constructor since all its required members are of simple types.</p> - - <p>If an XML Schema complex type has an ultimate base which is an XML - Schema simple type then the resulting C++ class also defines a public - constructor that takes an initializer for the base type as well as - for each member of the complex type and all its base types that - belongs to the One cardinality class. For instance:</p> - - <pre class="xml"> -<complexType name="object"> - <simpleContent> - <extension base="date"> - <attribute name="lang" type="language" use="required"/> - </extension> - </simpleContent> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::string -{ -public: - object (const xml_schema::language& lang); - - object (const xml_schema::date& base, - const xml_schema::language& lang); - - ... - -}; - </pre> - - <p>Furthermore, for string-based XML Schema complex types, the resulting C++ - class also defines two public constructors with the first arguments - of type <code>const C*</code> and <code>std::basic_string<C>&</code>, - respectively, followed by arguments for each member of the complex - type and all its base types that belongs to the One cardinality - class. For enumeration-based complex types the resulting C++ - class also defines a public constructor with the first arguments - of the underlying enum type followed by arguments for each member - of the complex type and all its base types that belongs to the One - cardinality class. For instance:</p> - - <pre class="xml"> -<simpleType name="color"> - <restriction base="string"> - <enumeration value="red"/> - <enumeration value="green"/> - <enumeration value="blue"/> - </restriction> -</simpleType> - -<complexType name="object"> - <simpleContent> - <extension base="color"> - <attribute name="lang" type="language" use="required"/> - </extension> - </simpleContent> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class color: public xml_schema::string -{ -public: - enum value - { - red, - green, - blue - }; - -public: - color (value); - color (const C*); - color (const std::basic_string<C>&); - - ... - -}; - -class object: color -{ -public: - object (const color& base, - const xml_schema::language& lang); - - object (const color::value& base, - const xml_schema::language& lang); - - object (const C* base, - const xml_schema::language& lang); - - object (const std::basic_string<C>& base, - const xml_schema::language& lang); - - ... - -}; - </pre> - - <p>Additional constructors can be requested with the - <code>--generate-default-ctor</code> and - <code>--generate-from-base-ctor</code> options. See the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a> for details.</p> - - <p>If an XML Schema complex type is not explicitly derived from any type, - the resulting C++ class is derived from <code>xml_schema::type</code>. - In cases where an XML Schema complex type is defined using derivation - by extension or restriction, the resulting C++ base class specification - depends on the type of derivation and is described in the subsequent - sections. - </p> - - <p>The mapping for elements and attributes that are defined in a complex - type is described in <a href="#2.8">Section 2.8, "Mapping for Local - Elements and Attributes"</a>. - </p> - - <h3><a name="2.7.1">2.7.1 Mapping for Derivation by Extension</a></h3> - - <p>XML Schema derivation by extension is mapped to C++ public - inheritance. The base type of the extension becomes the base - type for the resulting C++ class. - </p> - - <h3><a name="2.7.2">2.7.2 Mapping for Derivation by Restriction</a></h3> - - <p>XML Schema derivation by restriction is mapped to C++ public - inheritance. The base type of the restriction becomes the base - type for the resulting C++ class. XML Schema elements and - attributes defined within restriction do not result in any - definitions in the resulting C++ class. Instead, corresponding - (unrestricted) definitions are inherited from the base class. - In the future versions of this mapping, such elements and - attributes may result in redefinitions of accessors and - modifiers to reflect their restricted semantics. - </p> - - <!-- 2.8 Mapping for Local Elements and Attributes --> - - <h2><a name="2.8">2.8 Mapping for Local Elements and Attributes</a></h2> - - <p>XML Schema element and attribute definitions are called local - if they appear within a complex type definition, an element group - definition, or an attribute group definitions. - </p> - - <p>Local XML Schema element and attribute definitions have the same - C++ mapping. Therefore, in this section, local elements and - attributes are collectively called members. - </p> - - <p>While there are many different member cardinality combinations - (determined by the <code>use</code> attribute for attributes and - the <code>minOccurs</code> and <code>maxOccurs</code> attributes - for elements), the mapping divides all possible cardinality - combinations into three cardinality classes: - </p> - - <dl> - <dt><i>one</i></dt> - <dd>attributes: <code>use == "required"</code></dd> - <dd>attributes: <code>use == "optional"</code> and has default or fixed value</dd> - <dd>elements: <code>minOccurs == "1"</code> and <code>maxOccurs == "1"</code></dd> - - <dt><i>optional</i></dt> - <dd>attributes: <code>use == "optional"</code> and doesn't have default or fixed value</dd> - <dd>elements: <code>minOccurs == "0"</code> and <code>maxOccurs == "1"</code></dd> - - <dt><i>sequence</i></dt> - <dd>elements: <code>maxOccurs > "1"</code></dd> - </dl> - - <p>An optional attribute with a default or fixed value acquires this value - if the attribute hasn't been specified in an instance document (see - <a href="#A">Appendix A, "Default and Fixed Values"</a>). This - mapping places such optional attributes to the One cardinality - class.</p> - - <p>A member is mapped to a set of public type definitions - (<code>typedef</code>s) and a set of public accessor and modifier - functions. Type definitions have names derived from the member's - name. The accessor and modifier functions have the same name as the - member. For example: - </p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="member" type="string"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - typedef xml_schema::string member_type; - - const member_type& - member () const; - - ... - -}; - </pre> - - <p>In addition, if a member has a default or fixed value, a static - accessor function is generated that returns this value. For - example:</p> - -<pre class="xml"> -<complexType name="object"> - <attribute name="data" type="string" default="test"/> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - typedef xml_schema::string data_type; - - const data_type& - data () const; - - static const data_type& - data_default_value (); - - ... - -}; - </pre> - - <p>Names and semantics of type definitions for the member as well - as signatures of the accessor and modifier functions depend on - the member's cardinality class and are described in the following - sub-sections. - </p> - - - <h3><a name="2.8.1">2.8.1 Mapping for Members with the One Cardinality Class</a></h3> - - <p>For the One cardinality class, the type definitions consist of - an alias for the member's type with the name created by appending - the <code>_type</code> suffix to the member's name. - </p> - - <p>The accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to the - member and can be used for read-only access. The non-constant - version returns an unrestricted reference to the member and can - be used for read-write access. - </p> - - <p>The first modifier function expects an argument of type reference to - constant of the member's type. It makes a deep copy of its argument. - Except for member's types that are mapped to fundamental C++ types, - the second modifier function is provided that expects an argument - of type automatic pointer (<code>std::auto_ptr</code> or - <code>std::unique_ptr</code>, depending on the C++ standard selected) - to the member's type. It assumes ownership of the pointed to object - and resets the passed automatic pointer. For instance:</p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="member" type="string"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - - // Accessors. - // - const member_type& - member () const; - - member_type& - member (); - - // Modifiers. - // - void - member (const member_type&); - - void - member (std::[auto|unique]_ptr<member_type>); - ... - -}; - </pre> - - <p>In addition, if requested by specifying the <code>--generate-detach</code> - option and only for members of non-fundamental C++ types, the mapping - provides a detach function that returns an automatic pointer to the - member's type, for example:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - ... - - std::[auto|unique]_ptr<member_type> - detach_member (); - ... - -}; - </pre> - - <p>This function detaches the value from the tree leaving the member - value uninitialized. Accessing such an uninitialized value prior to - re-initializing it results in undefined behavior.</p> - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o) -{ - using xml_schema::string; - - string s (o.member ()); // get - object::member_type& sr (o.member ()); // get - - o.member ("hello"); // set, deep copy - o.member () = "hello"; // set, deep copy - - // C++98 version. - // - std::auto_ptr<string> p (new string ("hello")); - o.member (p); // set, assumes ownership - p = o.detach_member (); // detach, member is uninitialized - o.member (p); // re-attach - - // C++11 version. - // - std::unique_ptr<string> p (new string ("hello")); - o.member (std::move (p)); // set, assumes ownership - p = o.detach_member (); // detach, member is uninitialized - o.member (std::move (p)); // re-attach -} - </pre> - - -<h3><a name="2.8.2">2.8.2 Mapping for Members with the Optional Cardinality Class</a></h3> - - <p>For the Optional cardinality class, the type definitions consist of - an alias for the member's type with the name created by appending - the <code>_type</code> suffix to the member's name and an alias for - the container type with the name created by appending the - <code>_optional</code> suffix to the member's name. - </p> - - <p>Unlike accessor functions for the One cardinality class, accessor - functions for the Optional cardinality class return references to - corresponding containers rather than directly to members. The - accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to - the container and can be used for read-only access. The non-constant - version returns an unrestricted reference to the container - and can be used for read-write access. - </p> - - <p>The modifier functions are overloaded for the member's - type and the container type. The first modifier function - expects an argument of type reference to constant of the - member's type. It makes a deep copy of its argument. - Except for member's types that are mapped to fundamental C++ types, - the second modifier function is provided that expects an argument - of type automatic pointer (<code>std::auto_ptr</code> or - <code>std::unique_ptr</code>, depending on the C++ standard selected) - to the member's type. It assumes ownership of the pointed to object - and resets the passed automatic pointer. The last modifier function - expects an argument of type reference to constant of the container - type. It makes a deep copy of its argument. For instance: - </p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="member" type="string" minOccurs="0"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - typedef optional<member_type> member_optional; - - // Accessors. - // - const member_optional& - member () const; - - member_optional& - member (); - - // Modifiers. - // - void - member (const member_type&); - - void - member (std::[auto|unique]_ptr<member_type>); - - void - member (const member_optional&); - - ... - -}; - </pre> - - - <p>The <code>optional</code> class template is defined in an - implementation-specific namespace and has the following - interface. The <code>[auto|unique]_ptr</code>-based constructor - and modifier function are only available if the template - argument is not a fundamental C++ type. - </p> - - <pre class="c++"> -template <typename X> -class optional -{ -public: - optional (); - - // Makes a deep copy. - // - explicit - optional (const X&); - - // Assumes ownership. - // - explicit - optional (std::[auto|unique]_ptr<X>); - - optional (const optional&); - -public: - optional& - operator= (const X&); - - optional& - operator= (const optional&); - - // Pointer-like interface. - // -public: - const X* - operator-> () const; - - X* - operator-> (); - - const X& - operator* () const; - - X& - operator* (); - - typedef void (optional::*bool_convertible) (); - operator bool_convertible () const; - - // Get/set interface. - // -public: - bool - present () const; - - const X& - get () const; - - X& - get (); - - // Makes a deep copy. - // - void - set (const X&); - - // Assumes ownership. - // - void - set (std::[auto|unique]_ptr<X>); - - // Detach and return the contained value. - // - std::[auto|unique]_ptr<X> - detach (); - - void - reset (); -}; - -template <typename X> -bool -operator== (const optional<X>&, const optional<X>&); - -template <typename X> -bool -operator!= (const optional<X>&, const optional<X>&); - -template <typename X> -bool -operator< (const optional<X>&, const optional<X>&); - -template <typename X> -bool -operator> (const optional<X>&, const optional<X>&); - -template <typename X> -bool -operator<= (const optional<X>&, const optional<X>&); - -template <typename X> -bool -operator>= (const optional<X>&, const optional<X>&); - </pre> - - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o) -{ - using xml_schema::string; - - if (o.member ().present ()) // test - { - string& s (o.member ().get ()); // get - o.member ("hello"); // set, deep copy - o.member ().set ("hello"); // set, deep copy - o.member ().reset (); // reset - } - - // Same as above but using pointer notation: - // - if (o.member ()) // test - { - string& s (*o.member ()); // get - o.member ("hello"); // set, deep copy - *o.member () = "hello"; // set, deep copy - o.member ().reset (); // reset - } - - // C++98 version. - // - std::auto_ptr<string> p (new string ("hello")); - o.member (p); // set, assumes ownership - - p = new string ("hello"); - o.member ().set (p); // set, assumes ownership - - p = o.member ().detach (); // detach, member is reset - o.member ().set (p); // re-attach - - // C++11 version. - // - std::unique_ptr<string> p (new string ("hello")); - o.member (std::move (p)); // set, assumes ownership - - p.reset (new string ("hello")); - o.member ().set (std::move (p)); // set, assumes ownership - - p = o.member ().detach (); // detach, member is reset - o.member ().set (std::move (p)); // re-attach -} - </pre> - - - <h3><a name="2.8.3">2.8.3 Mapping for Members with the Sequence Cardinality Class</a></h3> - - <p>For the Sequence cardinality class, the type definitions consist of an - alias for the member's type with the name created by appending - the <code>_type</code> suffix to the member's name, an alias of - the container type with the name created by appending the - <code>_sequence</code> suffix to the member's name, an alias of - the iterator type with the name created by appending the - <code>_iterator</code> suffix to the member's name, and an alias - of the constant iterator type with the name created by appending the - <code>_const_iterator</code> suffix to the member's name. - </p> - - <p>The accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to the - container and can be used for read-only access. The non-constant - version returns an unrestricted reference to the container and can - be used for read-write access. - </p> - - <p>The modifier function expects an argument of type reference to - constant of the container type. The modifier function - makes a deep copy of its argument. For instance: - </p> - - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="member" type="string" minOccurs="unbounded"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef xml_schema::string member_type; - typedef sequence<member_type> member_sequence; - typedef member_sequence::iterator member_iterator; - typedef member_sequence::const_iterator member_const_iterator; - - // Accessors. - // - const member_sequence& - member () const; - - member_sequence& - member (); - - // Modifier. - // - void - member (const member_sequence&); - - ... - -}; - </pre> - - <p>The <code>sequence</code> class template is defined in an - implementation-specific namespace. It conforms to the - sequence interface as defined by the ISO/ANSI Standard for - C++ (ISO/IEC 14882:1998, Section 23.1.1, "Sequences"). - Practically, this means that you can treat such a sequence - as if it was <code>std::vector</code>. Two notable extensions - to the standard interface that are available only for - sequences of non-fundamental C++ types are the addition of - the overloaded <code>push_back</code> and <code>insert</code> - as well as the <code>detach_back</code> and <code>detach</code> - member functions. The additional <code>push_back</code> and - <code>insert</code> functions accept an automatic pointer - (<code>std::auto_ptr</code> or <code>std::unique_ptr</code>, - depending on the C++ standard selected) to the - element type instead of the constant reference. They assume - ownership of the pointed to object and reset the passed - automatic pointer. The <code>detach_back</code> and - <code>detach</code> functions detach the element - value from the sequence container and, by default, remove - the element from the sequence. These additional functions - have the following signatures:</p> - - <pre class="c++"> -template <typename X> -class sequence -{ -public: - ... - - void - push_back (std::[auto|unique]_ptr<X>) - - iterator - insert (iterator position, std::[auto|unique]_ptr<X>) - - std::[auto|unique]_ptr<X> - detach_back (bool pop = true); - - iterator - detach (iterator position, - std::[auto|unique]_ptr<X>& result, - bool erase = true) - - ... -} - </pre> - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o) -{ - using xml_schema::string; - - object::member_sequence& s (o.member ()); - - // Iteration. - // - for (object::member_iterator i (s.begin ()); i != s.end (); ++i) - { - string& value (*i); - } - - // Modification. - // - s.push_back ("hello"); // deep copy - - // C++98 version. - // - std::auto_ptr<string> p (new string ("hello")); - s.push_back (p); // assumes ownership - p = s.detach_back (); // detach and pop - s.push_back (p); // re-append - - // C++11 version. - // - std::unique_ptr<string> p (new string ("hello")); - s.push_back (std::move (p)); // assumes ownership - p = s.detach_back (); // detach and pop - s.push_back (std::move (p)); // re-append - - // Setting a new container. - // - object::member_sequence n; - n.push_back ("one"); - n.push_back ("two"); - o.member (n); // deep copy -} - </pre> - - <h3><a name="2.8.4">2.8.4 Element Order</a></h3> - - <p>C++/Tree is a "flattening" mapping in a sense that many levels of - nested compositors (<code>choice</code> and <code>sequence</code>), - all potentially with their own cardinalities, are in the end mapped - to a flat set of elements with one of the three cardinality classes - discussed in the previous sections. While this results in a simple - and easy to use API for most types, in certain cases, the order of - elements in the actual XML documents is not preserved once parsed - into the object model. And sometimes such order has - application-specific significance. As an example, consider a schema - that defines a batch of bank transactions:</p> - - <pre class="xml"> -<complexType name="withdraw"> - <sequence> - <element name="account" type="unsignedInt"/> - <element name="amount" type="unsignedInt"/> - </sequence> -</complexType> - -<complexType name="deposit"> - <sequence> - <element name="account" type="unsignedInt"/> - <element name="amount" type="unsignedInt"/> - </sequence> -</complexType> - -<complexType name="batch"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="withdraw" type="withdraw"/> - <element name="deposit" type="deposit"/> - </choice> -</complexType> - </pre> - - <p>The batch can contain any number of transactions in any order - but the order of transactions in each actual batch is significant. - For instance, consider what could happen if we reorder the - transactions and apply all the withdrawals before deposits.</p> - - <p>For the <code>batch</code> schema type defined above the default - C++/Tree mapping will produce a C++ class that contains a pair of - sequence containers, one for each of the two elements. While this - will capture the content (transactions), the order of this content - as it appears in XML will be lost. Also, if we try to serialize the - batch we just loaded back to XML, all the withdrawal transactions - will appear before deposits.</p> - - <p>To overcome this limitation of a flattening mapping, C++/Tree - allows us to mark certain XML Schema types, for which content - order is important, as ordered.</p> - - <p>There are several command line options that control which - schema types are treated as ordered. To make an individual - type ordered, we use the <code>--ordered-type</code> option, - for example:</p> - - <pre class="term"> ---ordered-type batch - </pre> - - <p>To automatically treat all the types that are derived from an ordered - type also ordered, we use the <code>--ordered-type-derived</code> - option. This is primarily useful if you would like to iterate - over the complete hierarchy's content using the content order - sequence (discussed below).</p> - - <p>Ordered types are also useful for handling mixed content. To - automatically mark all the types with mixed content as ordered - we use the <code>--ordered-type-mixed</code> option. For more - information on handling mixed content see <a href="#2.13">Section - 2.13, "Mapping for Mixed Content Models"</a>.</p> - - <p>Finally, we can mark all the types in the schema we are - compiling with the <code>--ordered-type-all</code> option. - You should only resort to this option if all the types in - your schema truly suffer from the loss of content - order since, as we will discuss shortly, ordered types - require extra effort to access and, especially, modify. - See the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a> for more information on - these options.</p> - - <p>Once a type is marked ordered, C++/Tree alters its mapping - in several ways. Firstly, for each local element, element - wildcard (<a href="#2.12.4">Section 2.12.4, "Element Wildcard - Order"</a>), and mixed content text (<a href="#2.13">Section - 2.13, "Mapping for Mixed Content Models"</a>) in this type, a - content id constant is generated. Secondly, an addition sequence - is added to the class that captures the content order. Here - is how the mapping of our <code>batch</code> class changes - once we make it ordered:</p> - - <pre class="c++"> -class batch: public xml_schema::type -{ -public: - // withdraw - // - typedef withdraw withdraw_type; - typedef sequence<withdraw_type> withdraw_sequence; - typedef withdraw_sequence::iterator withdraw_iterator; - typedef withdraw_sequence::const_iterator withdraw_const_iterator; - - static const std::size_t withdraw_id = 1; - - const withdraw_sequence& - withdraw () const; - - withdraw_sequence& - withdraw (); - - void - withdraw (const withdraw_sequence&); - - // deposit - // - typedef deposit deposit_type; - typedef sequence<deposit_type> deposit_sequence; - typedef deposit_sequence::iterator deposit_iterator; - typedef deposit_sequence::const_iterator deposit_const_iterator; - - static const std::size_t deposit_id = 2; - - const deposit_sequence& - deposit () const; - - deposit_sequence& - deposit (); - - void - deposit (const deposit_sequence&); - - // content_order - // - typedef xml_schema::content_order content_order_type; - typedef std::vector<content_order_type> content_order_sequence; - typedef content_order_sequence::iterator content_order_iterator; - typedef content_order_sequence::const_iterator content_order_const_iterator; - - const content_order_sequence& - content_order () const; - - content_order_sequence& - content_order (); - - void - content_order (const content_order_sequence&); - - ... -}; - </pre> - - <p>Notice the <code>withdraw_id</code> and <code>deposit_id</code> - content ids as well as the extra <code>content_order</code> - sequence that does not correspond to any element in the - schema definition. The other changes to the mapping for ordered - types has to do with XML parsing and serialization code. During - parsing the content order is captured in the <code>content_order</code> - sequence while during serialization this sequence is used to - determine the order in which content is serialized. The - <code>content_order</code> sequence is also copied during - copy construction and assigned during copy assignment. It is also - taken into account during comparison.</p> - - <p>The entry type of the <code>content_order</code> sequence is the - <code>xml_schema::content_order</code> type that has the following - interface:</p> - - <pre class="c++"> -namespace xml_schema -{ - struct content_order - { - content_order (std::size_t id, std::size_t index = 0); - - std::size_t id; - std::size_t index; - }; - - bool - operator== (const content_order&, const content_order&); - - bool - operator!= (const content_order&, const content_order&); - - bool - operator< (const content_order&, const content_order&); -} - </pre> - - <p>The <code>content_order</code> sequence describes the order of - content (elements, including wildcards, as well as mixed content - text). Each entry in this sequence consists of the content id - (for example, <code>withdraw_id</code> or <code>deposit_id</code> - in our case) as well as, for elements of the sequence cardinality - class, an index into the corresponding sequence container (the - index is unused for the one and optional cardinality classes). - For example, in our case, if the content id is <code>withdraw_id</code>, - then the index will point into the <code>withdraw</code> element - sequence.</p> - - <p>With all this information we can now examine how to iterate over - transaction in the batch in content order:</p> - - <pre class="c++"> -batch& b = ... - -for (batch::content_order_const_iterator i (b.content_order ().begin ()); - i != b.content_order ().end (); - ++i) -{ - switch (i->id) - { - case batch::withdraw_id: - { - const withdraw& t (b.withdraw ()[i->index]); - cerr << t.account () << " withdraw " << t.amount () << endl; - break; - } - case batch::deposit_id: - { - const deposit& t (b.deposit ()[i->index]); - cerr << t.account () << " deposit " << t.amount () << endl; - break; - } - default: - { - assert (false); // Unknown content id. - } - } -} - </pre> - - <p>If we serialized our batch back to XML, we would also see that the - order of transactions in the output is exactly the same as in the - input rather than all the withdrawals first followed by all the - deposits.</p> - - <p>The most complex aspect of working with ordered types is - modifications. Now we not only need to change the content, - but also remember to update the order information corresponding - to this change. As a first example, we add a deposit transaction - to the batch:</p> - - <pre class="c++"> -using xml_schema::content_order; - -batch::deposit_sequence& d (b.deposit ()); -batch::withdraw_sequence& w (b.withdraw ()); -batch::content_order_sequence& co (b.content_order ()); - -d.push_back (deposit (123456789, 100000)); -co.push_back (content_order (batch::deposit_id, d.size () - 1)); - </pre> - - <p>In the above example we first added the content (deposit - transaction) and then updated the content order information - by adding an entry with <code>deposit_id</code> content - id and the index of the just added deposit transaction.</p> - - <p>Removing the last transaction can be easy if we know which - transaction (deposit or withdrawal) is last:</p> - - <pre class="c++"> -d.pop_back (); -co.pop_back (); - </pre> - - <p>If, however, we do not know which transaction is last, then - things get a bit more complicated:</p> - - <pre class="c++"> -switch (co.back ().id) -{ -case batch::withdraw_id: - { - d.pop_back (); - break; - } -case batch::deposit_id: - { - w.pop_back (); - break; - } -} - -co.pop_back (); - </pre> - - <p>The following example shows how to add a transaction at the - beginning of the batch:</p> - - <pre class="c++"> -w.push_back (withdraw (123456789, 100000)); -co.insert (co.begin (), - content_order (batch::withdraw_id, w.size () - 1)); - </pre> - - <p>Note also that when we merely modify the content of one - of the elements in place, we do not need to update its - order since it doesn't change. For example, here is how - we can change the amount in the first withdrawal:</p> - - <pre class="c++"> -w[0].amount (10000); - </pre> - - <p>For the complete working code shown in this section refer to the - <code>order/element</code> example in the - <code>examples/cxx/tree/</code> directory in the XSD distribution.</p> - - <p>If both the base and derived types are ordered, then the - content order sequence is only added to the base and the content - ids are unique within the whole hierarchy. In this case - the content order sequence for the derived type contains - ordering information for both base and derived content.</p> - - <p>In some applications we may need to perform more complex - content processing. For example, in our case, we may need - to remove all the withdrawal transactions. The default - container, <code>std::vector</code>, is not particularly - suitable for such operations. What may be required by - some applications is a multi-index container that not - only allows us to iterate in content order similar to - <code>std::vector</code> but also search by the content - id as well as the content id and index pair.</p> - - <p>While C++/Tree does not provide this functionality by - default, it allows us to specify a custom container - type for content order with the <code>--order-container</code> - command line option. The only requirement from the - generated code side for such a container is to provide - the <code>vector</code>-like <code>push_back()</code>, - <code>size()</code>, and const iteration interfaces.</p> - - <p>As an example, here is how we can use the Boost Multi-Index - container for content order. First we create the - <code>content-order-container.hxx</code> header with the - following definition (in C++11, use the alias template - instead):</p> - - <pre class="c++"> -#ifndef CONTENT_ORDER_CONTAINER -#define CONTENT_ORDER_CONTAINER - -#include <cstddef> // std::size_t - -#include <boost/multi_index_container.hpp> -#include <boost/multi_index/member.hpp> -#include <boost/multi_index/identity.hpp> -#include <boost/multi_index/ordered_index.hpp> -#include <boost/multi_index/random_access_index.hpp> - -struct by_id {}; -struct by_id_index {}; - -template <typename T> -struct content_order_container: - boost::multi_index::multi_index_container< - T, - boost::multi_index::indexed_by< - boost::multi_index::random_access<>, - boost::multi_index::ordered_unique< - boost::multi_index::tag<by_id_index>, - boost::multi_index::identity<T> - >, - boost::multi_index::ordered_non_unique< - boost::multi_index::tag<by_id>, - boost::multi_index::member<T, std::size_t, &T::id> - > - > - > -{}; - -#endif - </pre> - - <p>Next we add the following two XSD compiler options to include - this header into every generated header file and to use the - custom container type (see the XSD compiler command line manual - for more information on shell quoting for the first option):</p> - - <pre class="term"> ---hxx-prologue '#include "content-order-container.hxx"' ---order-container content_order_container - </pre> - - <p>With these changes we can now use the multi-index functionality, - for example, to search for a specific content id:</p> - - <pre class="c++"> -typedef batch::content_order_sequence::index<by_id>::type id_set; -typedef id_set::iterator id_iterator; - -const id_set& ids (b.content_order ().get<by_id> ()); - -std::pair<id_iterator, id_iterator> r ( - ids.equal_range (std::size_t (batch::deposit_id)); - -for (id_iterator i (r.first); i != r.second; ++i) -{ - const deposit& t (b.deposit ()[i->index]); - cerr << t.account () << " deposit " << t.amount () << endl; -} - </pre> - - <h2><a name="2.9">2.9 Mapping for Global Elements</a></h2> - - <p>An XML Schema element definition is called global if it appears - directly under the <code>schema</code> element. - A global element is a valid root of an instance document. By - default, a global element is mapped to a set of overloaded - parsing and, optionally, serialization functions with the - same name as the element. It is also possible to generate types - for root elements instead of parsing and serialization functions. - This is primarily useful to distinguish object models with the - same root type but with different root elements. See - <a href="#2.9.1">Section 2.9.1, "Element Types"</a> for details. - It is also possible to request the generation of an element map - which allows uniform parsing and serialization of multiple root - elements. See <a href="#2.9.2">Section 2.9.2, "Element Map"</a> - for details. - </p> - - <p>The parsing functions read XML instance documents and return - corresponding object models as an automatic pointer - (<code>std::auto_ptr</code> or <code>std::unique_ptr</code>, - depending on the C++ standard selected). Their signatures - have the following pattern (<code>type</code> denotes - element's type and <code>name</code> denotes element's - name): - </p> - - <pre class="c++"> -std::[auto|unique]_ptr<type> -name (....); - </pre> - - <p>The process of parsing, including the exact signatures of the parsing - functions, is the subject of <a href="#3">Chapter 3, "Parsing"</a>. - </p> - - <p>The serialization functions write object models back to XML instance - documents. Their signatures have the following pattern: - </p> - - <pre class="c++"> -void -name (<stream type>&, const type&, ....); - </pre> - - <p>The process of serialization, including the exact signatures of the - serialization functions, is the subject of <a href="#4">Chapter 4, - "Serialization"</a>. - </p> - - - <h3><a name="2.9.1">2.9.1 Element Types</a></h3> - - <p>The generation of element types is requested with the - <code>--generate-element-map</code> option. With this option - each global element is mapped to a C++ class with the - same name as the element. Such a class is derived from - <code>xml_schema::element_type</code> and contains the same set - of type definitions, constructors, and member function as would a - type containing a single element with the One cardinality class - named <code>"value"</code>. In addition, the element type also - contains a set of member functions for accessing the element - name and namespace as well as its value in a uniform manner. - For example:</p> - - <pre class="xml"> -<complexType name="type"> - <sequence> - ... - </sequence> -</complexType> - -<element name="root" type="type"/> - </pre> - -<p>is mapped to:</p> - - <pre class="c++"> -class type -{ - ... -}; - -class root: public xml_schema::element_type -{ -public: - // Element value. - // - typedef type value_type; - - const value_type& - value () const; - - value_type& - value (); - - void - value (const value_type&); - - void - value (std::[auto|unique]_ptr<value_type>); - - // Constructors. - // - root (const value_type&); - - root (std::[auto|unique]_ptr<value_type>); - - root (const xercesc::DOMElement&, xml_schema::flags = 0); - - root (const root&, xml_schema::flags = 0); - - virtual root* - _clone (xml_schema::flags = 0) const; - - // Element name and namespace. - // - static const std::string& - name (); - - static const std::string& - namespace_ (); - - virtual const std::string& - _name () const; - - virtual const std::string& - _namespace () const; - - // Element value as xml_schema::type. - // - virtual const xml_schema::type* - _value () const; - - virtual xml_schema::type* - _value (); -}; - -void -operator<< (xercesc::DOMElement&, const root&); - </pre> - - <p>The <code>xml_schema::element_type</code> class is a common - base type for all element types and is defined as follows:</p> - - <pre class="c++"> -namespace xml_schema -{ - class element_type - { - public: - virtual - ~element_type (); - - virtual element_type* - _clone (flags f = 0) const = 0; - - virtual const std::basic_string<C>& - _name () const = 0; - - virtual const std::basic_string<C>& - _namespace () const = 0; - - virtual xml_schema::type* - _value () = 0; - - virtual const xml_schema::type* - _value () const = 0; - }; -} - </pre> - - <p>The <code>_value()</code> member function returns a pointer to - the element value or 0 if the element is of a fundamental C++ - type and therefore is not derived from <code>xml_schema::type</code>. - </p> - - <p>Unlike parsing and serialization functions, element types - are only capable of parsing and serializing from/to a - <code>DOMElement</code> object. This means that the application - will need to perform its own XML-to-DOM parsing and DOM-to-XML - serialization. The following section describes a mechanism - provided by the mapping to uniformly parse and serialize - multiple root elements.</p> - - - <h3><a name="2.9.2">2.9.2 Element Map</a></h3> - - <p>When element types are generated for root elements it is also - possible to request the generation of an element map with the - <code>--generate-element-map</code> option. The element map - allows uniform parsing and serialization of multiple root - elements via the common <code>xml_schema::element_type</code> - base type. The <code>xml_schema::element_map</code> class is - defined as follows:</p> - - <pre class="c++"> -namespace xml_schema -{ - class element_map - { - public: - static std::[auto|unique]_ptr<xml_schema::element_type> - parse (const xercesc::DOMElement&, flags = 0); - - static void - serialize (xercesc::DOMElement&, const element_type&); - }; -} - </pre> - - <p>The <code>parse()</code> function creates the corresponding - element type object based on the element name and namespace - and returns it as an automatic pointer (<code>std::auto_ptr</code> - or <code>std::unique_ptr</code>, depending on the C++ standard - selected) to <code>xml_schema::element_type</code>. - The <code>serialize()</code> function serializes the passed element - object to <code>DOMElement</code>. Note that in case of - <code>serialize()</code>, the <code>DOMElement</code> object - should have the correct name and namespace. If no element type is - available for an element, both functions throw the - <code>xml_schema::no_element_info</code> exception:</p> - - <pre class="c++"> -struct no_element_info: virtual exception -{ - no_element_info (const std::basic_string<C>& element_name, - const std::basic_string<C>& element_namespace); - - const std::basic_string<C>& - element_name () const; - - const std::basic_string<C>& - element_namespace () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The application can discover the actual type of the element - object returned by <code>parse()</code> either using - <code>dynamic_cast</code> or by comparing element names and - namespaces. The following code fragments illustrate how the - element map can be used:</p> - - <pre class="c++"> -// Parsing. -// -DOMElement& e = ... // Parse XML to DOM. - -auto_ptr<xml_schema::element_type> r ( - xml_schema::element_map::parse (e)); - -if (root1 r1 = dynamic_cast<root1*> (r.get ())) -{ - ... -} -else if (r->_name == root2::name () && - r->_namespace () == root2::namespace_ ()) -{ - root2& r2 (static_cast<root2&> (*r)); - - ... -} - </pre> - - <pre class="c++"> -// Serialization. -// -xml_schema::element_type& r = ... - -string name (r._name ()); -string ns (r._namespace ()); - -DOMDocument& doc = ... // Create a new DOMDocument with name and ns. -DOMElement& e (*doc->getDocumentElement ()); - -xml_schema::element_map::serialize (e, r); - -// Serialize DOMDocument to XML. - </pre> - - <!-- --> - - <h2><a name="2.10">2.10 Mapping for Global Attributes</a></h2> - - <p>An XML Schema attribute definition is called global if it appears - directly under the <code>schema</code> element. A global - attribute does not have any mapping. - </p> - - <!-- - When it is referenced from - a local attribute definition (using the <code>ref</code> attribute) - it is treated as a local attribute (see Section 2.8, "Mapping for - Local Elements and Attributes"). - --> - - <h2><a name="2.11">2.11 Mapping for <code>xsi:type</code> and Substitution - Groups</a></h2> - - <p>The mapping provides optional support for the XML Schema polymorphism - features (<code>xsi:type</code> and substitution groups) which can - be requested with the <code>--generate-polymorphic</code> option. - When used, the dynamic type of a member may be different from - its static type. Consider the following schema definition and - instance document: - </p> - - <pre class="xml"> -<!-- test.xsd --> -<schema> - <complexType name="base"> - <attribute name="text" type="string"/> - </complexType> - - <complexType name="derived"> - <complexContent> - <extension base="base"> - <attribute name="extra-text" type="string"/> - </extension> - </complexContent> - </complexType> - - <complexType name="root_type"> - <sequence> - <element name="item" type="base" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="root_type"/> -</schema> - -<!-- test.xml --> -<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <item text="hello"/> - <item text="hello" extra-text="world" xsi:type="derived"/> -</root> - </pre> - - <p>In the resulting object model, the container for - the <code>root::item</code> member will have two elements: - the first element's type will be <code>base</code> while - the second element's (dynamic) type will be - <code>derived</code>. This can be discovered using the - <code>dynamic_cast</code> operator as shown in the following - example: - </p> - - <pre class="c++"> -void -f (root& r) -{ - for (root::item_const_iterator i (r.item ().begin ()); - i != r.item ().end () - ++i) - { - if (derived* d = dynamic_cast<derived*> (&(*i))) - { - // derived - } - else - { - // base - } - } -} - </pre> - - <p>The <code>_clone</code> virtual function should be used instead of - copy constructors to make copies of members that might use - polymorphism: - </p> - - <pre class="c++"> -void -f (root& r) -{ - for (root::item_const_iterator i (r.item ().begin ()); - i != r.item ().end () - ++i) - { - std::auto_ptr<base> c (i->_clone ()); - } -} - </pre> - - <p>The mapping can often automatically determine which types are - polymorphic based on the substitution group declarations. However, - if your XML vocabulary is not using substitution groups or if - substitution groups are defined in a separate schema, then you will - need to use the <code>--polymorphic-type</code> option to specify - which types are polymorphic. When using this option you only need - to specify the root of a polymorphic type hierarchy and the mapping - will assume that all the derived types are also polymorphic. - Also note that you need to specify this option when compiling every - schema file that references the polymorphic type. Consider the following - two schemas as an example:</p> - - <pre class="xml"> -<!-- base.xsd --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="base"> - <xs:sequence> - <xs:element name="b" type="xs:int"/> - </xs:sequence> - </xs:complexType> - - <!-- substitution group root --> - <xs:element name="base" type="base"/> - -</xs:schema> - </pre> - - <pre class="xml"> -<!-- derived.xsd --> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <include schemaLocation="base.xsd"/> - - <xs:complexType name="derived"> - <xs:complexContent> - <xs:extension base="base"> - <xs:sequence> - <xs:element name="d" type="xs:string"/> - </xs:sequence> - </xs:extension> - </xs:complexContent> - </xs:complexType> - - <xs:element name="derived" type="derived" substitutionGroup="base"/> - -</xs:schema> - </pre> - - <p>In this example we need to specify "<code>--polymorphic-type base</code>" - when compiling both schemas because the substitution group is declared - in a schema other than the one defining type <code>base</code>.</p> - - <p>You can also indicate that all types should be treated as polymorphic - with the <code>--polymorphic-type-all</code>. However, this may result - in slower generated code with a greater footprint.</p> - - - <!-- Mapping for any and anyAttribute --> - - - <h2><a name="2.12">2.12 Mapping for <code>any</code> and <code>anyAttribute</code></a></h2> - - <p>For the XML Schema <code>any</code> and <code>anyAttribute</code> - wildcards an optional mapping can be requested with the - <code>--generate-wildcard</code> option. The mapping represents - the content matched by wildcards as DOM fragments. Because the - DOM API is used to access such content, the Xerces-C++ runtime - should be initialized by the application prior to parsing and - should remain initialized for the lifetime of objects with - the wildcard content. For more information on the Xerces-C++ - runtime initialization see <a href="#3.1">Section 3.1, - "Initializing the Xerces-C++ Runtime"</a>. - </p> - - <p>The mapping for <code>any</code> is similar to the mapping for - local elements (see <a href="#2.8">Section 2.8, "Mapping for Local - Elements and Attributes"</a>) except that the type used in the - wildcard mapping is <code>xercesc::DOMElement</code>. As with local - elements, the mapping divides all possible cardinality combinations - into three cardinality classes: <i>one</i>, <i>optional</i>, and - <i>sequence</i>. - </p> - - <p>The mapping for <code>anyAttribute</code> represents the attributes - matched by this wildcard as a set of <code>xercesc::DOMAttr</code> - objects with a key being the attribute's name and namespace.</p> - - <p>Similar to local elements and attributes, the <code>any</code> and - <code>anyAttribute</code> wildcards are mapped to a set of public type - definitions (typedefs) and a set of public accessor and modifier - functions. Type definitions have names derived from <code>"any"</code> - for the <code>any</code> wildcard and <code>"any_attribute"</code> - for the <code>anyAttribute</code> wildcard. The accessor and modifier - functions are named <code>"any"</code> for the <code>any</code> wildcard - and <code>"any_attribute"</code> for the <code>anyAttribute</code> - wildcard. Subsequent wildcards in the same type have escaped names - such as <code>"any1"</code> or <code>"any_attribute1"</code>. - </p> - - <p>Because Xerces-C++ DOM nodes always belong to a <code>DOMDocument</code>, - each type with a wildcard has an associated <code>DOMDocument</code> - object. The reference to this object can be obtained using the accessor - function called <code>dom_document</code>. The access to the document - object from the application code may be necessary to create or modify - the wildcard content. For example: - </p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <any namespace="##other"/> - </sequence> - <anyAttribute namespace="##other"/> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // any - // - const xercesc::DOMElement& - any () const; - - void - any (const xercesc::DOMElement&); - - ... - - // any_attribute - // - typedef attribute_set any_attribute_set; - typedef any_attribute_set::iterator any_attribute_iterator; - typedef any_attribute_set::const_iterator any_attribute_const_iterator; - - const any_attribute_set& - any_attribute () const; - - any_attribute_set& - any_attribute (); - - ... - - // DOMDocument object for wildcard content. - // - const xercesc::DOMDocument& - dom_document () const; - - xercesc::DOMDocument& - dom_document (); - - ... -}; - </pre> - - - <p>Names and semantics of type definitions for the wildcards as well - as signatures of the accessor and modifier functions depend on the - wildcard type as well as the cardinality class for the <code>any</code> - wildcard. They are described in the following sub-sections. - </p> - - - <h3><a name="2.12.1">2.12.1 Mapping for <code>any</code> with the One Cardinality Class</a></h3> - - <p>For <code>any</code> with the One cardinality class, - there are no type definitions. The accessor functions come in - constant and non-constant versions. The constant accessor function - returns a constant reference to <code>xercesc::DOMElement</code> and - can be used for read-only access. The non-constant version returns - an unrestricted reference to <code>xercesc::DOMElement</code> and can - be used for read-write access. - </p> - - <p>The first modifier function expects an argument of type reference - to constant <code>xercesc::DOMElement</code> and makes a deep copy - of its argument. The second modifier function expects an argument of - type pointer to <code>xercesc::DOMElement</code>. This modifier - function assumes ownership of its argument and expects the element - object to be created using the DOM document associated with this - instance. For example: - </p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <any namespace="##other"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Accessors. - // - const xercesc::DOMElement& - any () const; - - xercesc::DOMElement& - any (); - - // Modifiers. - // - void - any (const xercesc::DOMElement&); - - void - any (xercesc::DOMElement*); - - ... - -}; - </pre> - - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o, const xercesc::DOMElement& e) -{ - using namespace xercesc; - - DOMElement& e1 (o.any ()); // get - o.any (e) // set, deep copy - DOMDocument& doc (o.dom_document ()); - o.any (doc.createElement (...)); // set, assumes ownership -} - </pre> - - <h3><a name="2.12.2">2.12.2 Mapping for <code>any</code> with the Optional Cardinality Class</a></h3> - - <p>For <code>any</code> with the Optional cardinality class, the type - definitions consist of an alias for the container type with name - <code>any_optional</code> (or <code>any1_optional</code>, etc., for - subsequent wildcards in the type definition). - </p> - - <p>Unlike accessor functions for the One cardinality class, accessor - functions for the Optional cardinality class return references to - corresponding containers rather than directly to <code>DOMElement</code>. - The accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to - the container and can be used for read-only access. The non-constant - version returns an unrestricted reference to the container - and can be used for read-write access. - </p> - - <p>The modifier functions are overloaded for <code>xercesc::DOMElement</code> - and the container type. The first modifier function expects an argument of - type reference to constant <code>xercesc::DOMElement</code> and - makes a deep copy of its argument. The second modifier function - expects an argument of type pointer to <code>xercesc::DOMElement</code>. - This modifier function assumes ownership of its argument and expects - the element object to be created using the DOM document associated - with this instance. The third modifier function expects an argument - of type reference to constant of the container type and makes a - deep copy of its argument. For instance: - </p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <any namespace="##other" minOccurs="0"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef element_optional any_optional; - - // Accessors. - // - const any_optional& - any () const; - - any_optional& - any (); - - // Modifiers. - // - void - any (const xercesc::DOMElement&); - - void - any (xercesc::DOMElement*); - - void - any (const any_optional&); - - ... - -}; - </pre> - - - <p>The <code>element_optional</code> container is a - specialization of the <code>optional</code> class template described - in <a href="#2.8.2">Section 2.8.2, "Mapping for Members with the Optional - Cardinality Class"</a>. Its interface is presented below: - </p> - - <pre class="c++"> -class element_optional -{ -public: - explicit - element_optional (xercesc::DOMDocument&); - - // Makes a deep copy. - // - element_optional (const xercesc::DOMElement&, xercesc::DOMDocument&); - - // Assumes ownership. - // - element_optional (xercesc::DOMElement*, xercesc::DOMDocument&); - - element_optional (const element_optional&, xercesc::DOMDocument&); - -public: - element_optional& - operator= (const xercesc::DOMElement&); - - element_optional& - operator= (const element_optional&); - - // Pointer-like interface. - // -public: - const xercesc::DOMElement* - operator-> () const; - - xercesc::DOMElement* - operator-> (); - - const xercesc::DOMElement& - operator* () const; - - xercesc::DOMElement& - operator* (); - - typedef void (element_optional::*bool_convertible) (); - operator bool_convertible () const; - - // Get/set interface. - // -public: - bool - present () const; - - const xercesc::DOMElement& - get () const; - - xercesc::DOMElement& - get (); - - // Makes a deep copy. - // - void - set (const xercesc::DOMElement&); - - // Assumes ownership. - // - void - set (xercesc::DOMElement*); - - void - reset (); -}; - -bool -operator== (const element_optional&, const element_optional&); - -bool -operator!= (const element_optional&, const element_optional&); - </pre> - - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o, const xercesc::DOMElement& e) -{ - using namespace xercesc; - - DOMDocument& doc (o.dom_document ()); - - if (o.any ().present ()) // test - { - DOMElement& e1 (o.any ().get ()); // get - o.any ().set (e); // set, deep copy - o.any ().set (doc.createElement (...)); // set, assumes ownership - o.any ().reset (); // reset - } - - // Same as above but using pointer notation: - // - if (o.member ()) // test - { - DOMElement& e1 (*o.any ()); // get - o.any (e); // set, deep copy - o.any (doc.createElement (...)); // set, assumes ownership - o.any ().reset (); // reset - } -} - </pre> - - - - <h3><a name="2.12.3">2.12.3 Mapping for <code>any</code> with the Sequence Cardinality Class</a></h3> - - <p>For <code>any</code> with the Sequence cardinality class, the type - definitions consist of an alias of the container type with name - <code>any_sequence</code> (or <code>any1_sequence</code>, etc., for - subsequent wildcards in the type definition), an alias of the iterator - type with name <code>any_iterator</code> (or <code>any1_iterator</code>, - etc., for subsequent wildcards in the type definition), and an alias - of the constant iterator type with name <code>any_const_iterator</code> - (or <code>any1_const_iterator</code>, etc., for subsequent wildcards - in the type definition). - </p> - - <p>The accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to the - container and can be used for read-only access. The non-constant - version returns an unrestricted reference to the container and can - be used for read-write access. - </p> - - <p>The modifier function expects an argument of type reference to - constant of the container type. The modifier function makes - a deep copy of its argument. For instance: - </p> - - - <pre class="xml"> -<complexType name="object"> - <sequence> - <any namespace="##other" minOccurs="unbounded"/> - </sequence> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef element_sequence any_sequence; - typedef any_sequence::iterator any_iterator; - typedef any_sequence::const_iterator any_const_iterator; - - // Accessors. - // - const any_sequence& - any () const; - - any_sequence& - any (); - - // Modifier. - // - void - any (const any_sequence&); - - ... - -}; - </pre> - - <p>The <code>element_sequence</code> container is a - specialization of the <code>sequence</code> class template described - in <a href="#2.8.3">Section 2.8.3, "Mapping for Members with the - Sequence Cardinality Class"</a>. Its interface is similar to - the sequence interface as defined by the ISO/ANSI Standard for - C++ (ISO/IEC 14882:1998, Section 23.1.1, "Sequences") and is - presented below: - </p> - - <pre class="c++"> -class element_sequence -{ -public: - typedef xercesc::DOMElement value_type; - typedef xercesc::DOMElement* pointer; - typedef const xercesc::DOMElement* const_pointer; - typedef xercesc::DOMElement& reference; - typedef const xercesc::DOMElement& const_reference; - - typedef <implementation-defined> iterator; - typedef <implementation-defined> const_iterator; - typedef <implementation-defined> reverse_iterator; - typedef <implementation-defined> const_reverse_iterator; - - typedef <implementation-defined> size_type; - typedef <implementation-defined> difference_type; - typedef <implementation-defined> allocator_type; - -public: - explicit - element_sequence (xercesc::DOMDocument&); - - // DOMElement cannot be default-constructed. - // - // explicit - // element_sequence (size_type n); - - element_sequence (size_type n, - const xercesc::DOMElement&, - xercesc::DOMDocument&); - - template <typename I> - element_sequence (const I& begin, - const I& end, - xercesc::DOMDocument&); - - element_sequence (const element_sequence&, xercesc::DOMDocument&); - - element_sequence& - operator= (const element_sequence&); - -public: - void - assign (size_type n, const xercesc::DOMElement&); - - template <typename I> - void - assign (const I& begin, const I& end); - -public: - // This version of resize can only be used to shrink the - // sequence because DOMElement cannot be default-constructed. - // - void - resize (size_type); - - void - resize (size_type, const xercesc::DOMElement&); - -public: - size_type - size () const; - - size_type - max_size () const; - - size_type - capacity () const; - - bool - empty () const; - - void - reserve (size_type); - - void - clear (); - -public: - const_iterator - begin () const; - - const_iterator - end () const; - - iterator - begin (); - - iterator - end (); - - const_reverse_iterator - rbegin () const; - - const_reverse_iterator - rend () const - - reverse_iterator - rbegin (); - - reverse_iterator - rend (); - -public: - xercesc::DOMElement& - operator[] (size_type); - - const xercesc::DOMElement& - operator[] (size_type) const; - - xercesc::DOMElement& - at (size_type); - - const xercesc::DOMElement& - at (size_type) const; - - xercesc::DOMElement& - front (); - - const xercesc::DOMElement& - front () const; - - xercesc::DOMElement& - back (); - - const xercesc::DOMElement& - back () const; - -public: - // Makes a deep copy. - // - void - push_back (const xercesc::DOMElement&); - - // Assumes ownership. - // - void - push_back (xercesc::DOMElement*); - - void - pop_back (); - - // Makes a deep copy. - // - iterator - insert (iterator position, const xercesc::DOMElement&); - - // Assumes ownership. - // - iterator - insert (iterator position, xercesc::DOMElement*); - - void - insert (iterator position, size_type n, const xercesc::DOMElement&); - - template <typename I> - void - insert (iterator position, const I& begin, const I& end); - - iterator - erase (iterator position); - - iterator - erase (iterator begin, iterator end); - -public: - // Note that the DOMDocument object of the two sequences being - // swapped should be the same. - // - void - swap (sequence& x); -}; - -inline bool -operator== (const element_sequence&, const element_sequence&); - -inline bool -operator!= (const element_sequence&, const element_sequence&); - </pre> - - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o, const xercesc::DOMElement& e) -{ - using namespace xercesc; - - object::any_sequence& s (o.any ()); - - // Iteration. - // - for (object::any_iterator i (s.begin ()); i != s.end (); ++i) - { - DOMElement& e (*i); - } - - // Modification. - // - s.push_back (e); // deep copy - DOMDocument& doc (o.dom_document ()); - s.push_back (doc.createElement (...)); // assumes ownership -} - </pre> - - <h3><a name="2.12.4">2.12.4 Element Wildcard Order</a></h3> - - <p>Similar to elements, element wildcards in ordered types - (<a href="#2.8.4">Section 2.8.4, "Element Order"</a>) are assigned - content ids and are included in the content order sequence. - Continuing with the bank transactions example started in Section - 2.8.4, we can extend the batch by allowing custom transactions:</p> - - <pre class="xml"> -<complexType name="batch"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="withdraw" type="withdraw"/> - <element name="deposit" type="deposit"/> - <any namespace="##other" processContents="lax"/> - </choice> -</complexType> - </pre> - - <p>This will lead to the following changes in the generated - <code>batch</code> C++ class:</p> - - <pre class="c++"> -class batch: public xml_schema::type -{ -public: - ... - - // any - // - typedef element_sequence any_sequence; - typedef any_sequence::iterator any_iterator; - typedef any_sequence::const_iterator any_const_iterator; - - static const std::size_t any_id = 3UL; - - const any_sequence& - any () const; - - any_sequence& - any (); - - void - any (const any_sequence&); - - ... -}; - </pre> - - <p>With this change we also need to update the iteration code to handle - the new content id:</p> - - <pre class="c++"> -for (batch::content_order_const_iterator i (b.content_order ().begin ()); - i != b.content_order ().end (); - ++i) -{ - switch (i->id) - { - ... - - case batch::any_id: - { - const DOMElement& e (b.any ()[i->index]); - ... - break; - } - - ... - } -} - </pre> - - <p>For the complete working code that shows the use of wildcards in - ordered types refer to the <code>order/element</code> example in - the <code>examples/cxx/tree/</code> directory in the XSD - distribution.</p> - - <h3><a name="2.12.5">2.12.5 Mapping for <code>anyAttribute</code></a></h3> - - <p>For <code>anyAttribute</code> the type definitions consist of an alias - of the container type with name <code>any_attribute_set</code> - (or <code>any1_attribute_set</code>, etc., for subsequent wildcards - in the type definition), an alias of the iterator type with name - <code>any_attribute_iterator</code> (or <code>any1_attribute_iterator</code>, - etc., for subsequent wildcards in the type definition), and an alias - of the constant iterator type with name <code>any_attribute_const_iterator</code> - (or <code>any1_attribute_const_iterator</code>, etc., for subsequent - wildcards in the type definition). - </p> - - <p>The accessor functions come in constant and non-constant versions. - The constant accessor function returns a constant reference to the - container and can be used for read-only access. The non-constant - version returns an unrestricted reference to the container and can - be used for read-write access. - </p> - - <p>The modifier function expects an argument of type reference to - constant of the container type. The modifier function makes - a deep copy of its argument. For instance: - </p> - - - <pre class="xml"> -<complexType name="object"> - <sequence> - ... - </sequence> - <anyAttribute namespace="##other"/> -</complexType> - </pre> - - <p>is mapped to:</p> - - <pre class="c++"> -class object: public xml_schema::type -{ -public: - // Type definitions. - // - typedef attribute_set any_attribute_set; - typedef any_attribute_set::iterator any_attribute_iterator; - typedef any_attribute_set::const_iterator any_attribute_const_iterator; - - // Accessors. - // - const any_attribute_set& - any_attribute () const; - - any_attribute_set& - any_attribute (); - - // Modifier. - // - void - any_attribute (const any_attribute_set&); - - ... - -}; - </pre> - - <p>The <code>attribute_set</code> class is an associative container - similar to the <code>std::set</code> class template as defined by - the ISO/ANSI Standard for C++ (ISO/IEC 14882:1998, Section 23.3.3, - "Class template set") with the key being the attribute's name - and namespace. Unlike <code>std::set</code>, <code>attribute_set</code> - allows searching using names and namespaces instead of - <code>xercesc::DOMAttr</code> objects. It is defined in an - implementation-specific namespace and its interface is presented - below: - </p> - - <pre class="c++"> -class attribute_set -{ -public: - typedef xercesc::DOMAttr key_type; - typedef xercesc::DOMAttr value_type; - typedef xercesc::DOMAttr* pointer; - typedef const xercesc::DOMAttr* const_pointer; - typedef xercesc::DOMAttr& reference; - typedef const xercesc::DOMAttr& const_reference; - - typedef <implementation-defined> iterator; - typedef <implementation-defined> const_iterator; - typedef <implementation-defined> reverse_iterator; - typedef <implementation-defined> const_reverse_iterator; - - typedef <implementation-defined> size_type; - typedef <implementation-defined> difference_type; - typedef <implementation-defined> allocator_type; - -public: - attribute_set (xercesc::DOMDocument&); - - template <typename I> - attribute_set (const I& begin, const I& end, xercesc::DOMDocument&); - - attribute_set (const attribute_set&, xercesc::DOMDocument&); - - attribute_set& - operator= (const attribute_set&); - -public: - const_iterator - begin () const; - - const_iterator - end () const; - - iterator - begin (); - - iterator - end (); - - const_reverse_iterator - rbegin () const; - - const_reverse_iterator - rend () const; - - reverse_iterator - rbegin (); - - reverse_iterator - rend (); - -public: - size_type - size () const; - - size_type - max_size () const; - - bool - empty () const; - - void - clear (); - -public: - // Makes a deep copy. - // - std::pair<iterator, bool> - insert (const xercesc::DOMAttr&); - - // Assumes ownership. - // - std::pair<iterator, bool> - insert (xercesc::DOMAttr*); - - // Makes a deep copy. - // - iterator - insert (iterator position, const xercesc::DOMAttr&); - - // Assumes ownership. - // - iterator - insert (iterator position, xercesc::DOMAttr*); - - template <typename I> - void - insert (const I& begin, const I& end); - -public: - void - erase (iterator position); - - size_type - erase (const std::basic_string<C>& name); - - size_type - erase (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name); - - size_type - erase (const XMLCh* name); - - size_type - erase (const XMLCh* namespace_, const XMLCh* name); - - void - erase (iterator begin, iterator end); - -public: - size_type - count (const std::basic_string<C>& name) const; - - size_type - count (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) const; - - size_type - count (const XMLCh* name) const; - - size_type - count (const XMLCh* namespace_, const XMLCh* name) const; - - iterator - find (const std::basic_string<C>& name); - - iterator - find (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name); - - iterator - find (const XMLCh* name); - - iterator - find (const XMLCh* namespace_, const XMLCh* name); - - const_iterator - find (const std::basic_string<C>& name) const; - - const_iterator - find (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) const; - - const_iterator - find (const XMLCh* name) const; - - const_iterator - find (const XMLCh* namespace_, const XMLCh* name) const; - -public: - // Note that the DOMDocument object of the two sets being - // swapped should be the same. - // - void - swap (attribute_set&); -}; - -bool -operator== (const attribute_set&, const attribute_set&); - -bool -operator!= (const attribute_set&, const attribute_set&); - </pre> - - <p>The following code shows how one could use this mapping:</p> - - <pre class="c++"> -void -f (object& o, const xercesc::DOMAttr& a) -{ - using namespace xercesc; - - object::any_attribute_set& s (o.any_attribute ()); - - // Iteration. - // - for (object::any_attribute_iterator i (s.begin ()); i != s.end (); ++i) - { - DOMAttr& a (*i); - } - - // Modification. - // - s.insert (a); // deep copy - DOMDocument& doc (o.dom_document ()); - s.insert (doc.createAttribute (...)); // assumes ownership - - // Searching. - // - object::any_attribute_iterator i (s.find ("name")); - i = s.find ("http://www.w3.org/XML/1998/namespace", "lang"); -} - </pre> - - <!-- Mapping for Mixed Content Models --> - - <h2><a name="2.13">2.13 Mapping for Mixed Content Models</a></h2> - - <p>For XML Schema types with mixed content models C++/Tree provides - mapping support only if the type is marked as ordered - (<a href="#2.8.4">Section 2.8.4, "Element Order"</a>). Use the - <code>--ordered-type-mixed</code> XSD compiler option to - automatically mark all types with mixed content as ordered.</p> - - <p>For an ordered type with mixed content, C++/Tree adds an extra - text content sequence that is used to store the text fragments. - This text content sequence is also assigned the content id and - its entries are included in the content order sequence, just - like elements. As a result, it is possible to capture the order - between elements and text fragments.</p> - - <p>As an example, consider the following schema that describes text - with embedded links:</p> - - <pre class="xml"> -<complexType name="anchor"> - <simpleContent> - <extension base="string"> - <attribute name="href" type="anyURI" use="required"/> - </extension> - </simpleContent> -</complexType> - -<complexType name="text" mixed="true"> - <sequence> - <element name="a" type="anchor" minOccurs="0" maxOccurs="unbounded"/> - </sequence> -</complexType> - </pre> - - <p>The generated <code>text</code> C++ class will provide the following - API (assuming it is marked as ordered):</p> - - <pre class="c++"> -class text: public xml_schema::type -{ -public: - // a - // - typedef anchor a_type; - typedef sequence<a_type> a_sequence; - typedef a_sequence::iterator a_iterator; - typedef a_sequence::const_iterator a_const_iterator; - - static const std::size_t a_id = 1UL; - - const a_sequence& - a () const; - - a_sequence& - a (); - - void - a (const a_sequence&); - - // text_content - // - typedef xml_schema::string text_content_type; - typedef sequence<text_content_type> text_content_sequence; - typedef text_content_sequence::iterator text_content_iterator; - typedef text_content_sequence::const_iterator text_content_const_iterator; - - static const std::size_t text_content_id = 2UL; - - const text_content_sequence& - text_content () const; - - text_content_sequence& - text_content (); - - void - text_content (const text_content_sequence&); - - // content_order - // - typedef xml_schema::content_order content_order_type; - typedef std::vector<content_order_type> content_order_sequence; - typedef content_order_sequence::iterator content_order_iterator; - typedef content_order_sequence::const_iterator content_order_const_iterator; - - const content_order_sequence& - content_order () const; - - content_order_sequence& - content_order (); - - void - content_order (const content_order_sequence&); - - ... -}; - </pre> - - <p>Given this interface we can iterate over both link elements - and text in content order. The following code fragment converts - our format to plain text with references.</p> - - <pre class="c++"> -const text& t = ... - -for (text::content_order_const_iterator i (t.content_order ().begin ()); - i != t.content_order ().end (); - ++i) -{ - switch (i->id) - { - case text::a_id: - { - const anchor& a (t.a ()[i->index]); - cerr << a << "[" << a.href () << "]"; - break; - } - case text::text_content_id: - { - const xml_schema::string& s (t.text_content ()[i->index]); - cerr << s; - break; - } - default: - { - assert (false); // Unknown content id. - } - } -} - </pre> - - <p>For the complete working code that shows the use of mixed content - in ordered types refer to the <code>order/mixed</code> example in - the <code>examples/cxx/tree/</code> directory in the XSD - distribution.</p> - - <!-- Parsing --> - - - <h1><a name="3">3 Parsing</a></h1> - - <p>This chapter covers various aspects of parsing XML instance - documents in order to obtain corresponding tree-like object - model. - </p> - - <p>Each global XML Schema element in the form:</p> - - <pre class="xml"> -<element name="name" type="type"/> - </pre> - - <p>is mapped to 14 overloaded C++ functions in the form:</p> - - <pre class="c++"> -// Read from a URI or a local file. -// - -std::[auto|unique]_ptr<type> -name (const std::basic_string<C>& uri, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (const std::basic_string<C>& uri, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (const std::basic_string<C>& uri, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - - -// Read from std::istream. -// - -std::[auto|unique]_ptr<type> -name (std::istream&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (std::istream&, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (std::istream&, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - - -std::[auto|unique]_ptr<type> -name (std::istream&, - const std::basic_string<C>& id, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (std::istream&, - const std::basic_string<C>& id, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (std::istream&, - const std::basic_string<C>& id, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - - -// Read from InputSource. -// - -std::[auto|unique]_ptr<type> -name (xercesc::InputSource&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (xercesc::InputSource&, - xml_schema::error_handler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (xercesc::InputSource&, - xercesc::DOMErrorHandler&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - - -// Read from DOM. -// - -std::[auto|unique]_ptr<type> -name (const xercesc::DOMDocument&, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - -std::[auto|unique]_ptr<type> -name (xml_schema::dom::[auto|unique]_ptr<xercesc::DOMDocument>, - xml_schema::flags = 0, - const xml_schema::properties& = xml_schema::properties ()); - </pre> - - <p>You can choose between reading an XML instance from a local file, - URI, <code>std::istream</code>, <code>xercesc::InputSource</code>, - or a pre-parsed DOM instance in the form of - <code>xercesc::DOMDocument</code>. All the parsing functions - return a dynamically allocated object model as either - <code>std::auto_ptr</code> or <code>std::unique_ptr</code>, - depending on the C++ standard selected. Each of these parsing - functions is discussed in more detail in the following sections. - </p> - - <h2><a name="3.1">3.1 Initializing the Xerces-C++ Runtime</a></h2> - - <p>Some parsing functions expect you to initialize the Xerces-C++ - runtime while others initialize and terminate it as part of their - work. The general rule is as follows: if a function has any arguments - or return a value that is an instance of a Xerces-C++ type, then - this function expects you to initialize the Xerces-C++ runtime. - Otherwise, the function initializes and terminates the runtime for - you. Note that it is legal to have nested calls to the Xerces-C++ - initialize and terminate functions as long as the calls are balanced. - </p> - - <p>You can instruct parsing functions that initialize and terminate - the runtime not to do so by passing the - <code>xml_schema::flags::dont_initialize</code> flag (see - <a href="#3.2">Section 3.2, "Flags and Properties"</a>). - </p> - - - <h2><a name="3.2">3.2 Flags and Properties</a></h2> - - <p>Parsing flags and properties are the last two arguments of every - parsing function. They allow you to fine-tune the process of - instance validation and parsing. Both arguments are optional. - </p> - - - <p>The following flags are recognized by the parsing functions:</p> - - <dl> - <dt><code>xml_schema::flags::keep_dom</code></dt> - <dd>Keep association between DOM nodes and the resulting - object model nodes. For more information about DOM association - refer to <a href="#5.1">Section 5.1, "DOM Association"</a>.</dd> - - <dt><code>xml_schema::flags::own_dom</code></dt> - <dd>Assume ownership of the DOM document passed. This flag only - makes sense together with the <code>keep_dom</code> flag in - the call to the parsing function with the - <code>xml_schema::dom::[auto|unique]_ptr<DOMDocument></code> - argument.</dd> - - <dt><code>xml_schema::flags::dont_validate</code></dt> - <dd>Do not validate instance documents against schemas.</dd> - - <dt><code>xml_schema::flags::dont_initialize</code></dt> - <dd>Do not initialize the Xerces-C++ runtime.</dd> - </dl> - - <p>You can pass several flags by combining them using the bit-wise OR - operator. For example:</p> - - <pre class="c++"> -using xml_schema::flags; - -std::auto_ptr<type> r ( - name ("test.xml", flags::keep_dom | flags::dont_validate)); - </pre> - - <p>By default, validation of instance documents is turned on even - though parsers generated by XSD do not assume instance - documents are valid. They include a number of checks that prevent - construction of inconsistent object models. This, - however, does not mean that an instance document that was - successfully parsed by the XSD-generated parsers is - valid per the corresponding schema. If an instance document is not - "valid enough" for the generated parsers to construct consistent - object model, one of the exceptions defined in - <code>xml_schema</code> namespace is thrown (see - <a href="#3.3">Section 3.3, "Error Handling"</a>). - </p> - - <p>For more information on the Xerces-C++ runtime initialization - refer to <a href="#3.1">Section 3.1, "Initializing the Xerces-C++ - Runtime"</a>. - </p> - - <p>The <code>xml_schema::properties</code> class allows you to - programmatically specify schema locations to be used instead - of those specified with the <code>xsi::schemaLocation</code> - and <code>xsi::noNamespaceSchemaLocation</code> attributes - in instance documents. The interface of the <code>properties</code> - class is presented below: - </p> - - <pre class="c++"> -class properties -{ -public: - void - schema_location (const std::basic_string<C>& namespace_, - const std::basic_string<C>& location); - void - no_namespace_schema_location (const std::basic_string<C>& location); -}; - </pre> - - <p>Note that all locations are relative to an instance document unless - they are URIs. For example, if you want to use a local file as your - schema, then you will need to pass - <code>file:///absolute/path/to/your/schema</code> as the location - argument. - </p> - - <h2><a name="3.3">3.3 Error Handling</a></h2> - - <p>As discussed in <a href="#2.2">Section 2.2, "Error Handling"</a>, - the mapping uses the C++ exception handling mechanism as its primary - way of reporting error conditions. However, to handle recoverable - parsing and validation errors and warnings, a callback interface maybe - preferred by the application.</p> - - <p>To better understand error handling and reporting strategies employed - by the parsing functions, it is useful to know that the - transformation of an XML instance document to a statically-typed - tree happens in two stages. The first stage, performed by Xerces-C++, - consists of parsing an XML document into a DOM instance. For short, - we will call this stage the XML-DOM stage. Validation, if not disabled, - happens during this stage. The second stage, - performed by the generated parsers, consist of parsing the DOM - instance into the statically-typed tree. We will call this stage - the DOM-Tree stage. Additional checks are performed during this - stage in order to prevent construction of inconsistent tree which - could otherwise happen when validation is disabled, for example.</p> - - <p>All parsing functions except the one that operates on a DOM instance - come in overloaded triples. The first function in such a triple - reports error conditions exclusively by throwing exceptions. It - accumulates all the parsing and validation errors of the XML-DOM - stage and throws them in a single instance of the - <code>xml_schema::parsing</code> exception (described below). - The second and the third functions in the triple use callback - interfaces to report parsing and validation errors and warnings. - The two callback interfaces are <code>xml_schema::error_handler</code> - and <code>xercesc::DOMErrorHandler</code>. For more information - on the <code>xercesc::DOMErrorHandler</code> interface refer to - the Xerces-C++ documentation. The <code>xml_schema::error_handler</code> - interface is presented below: - </p> - - <pre class="c++"> -class error_handler -{ -public: - struct severity - { - enum value - { - warning, - error, - fatal - }; - }; - - virtual bool - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity, - const std::basic_string<C>& message) = 0; - - virtual - ~error_handler (); -}; - </pre> - - <p>The <code>id</code> argument of the <code>error_handler::handle</code> - function identifies the resource being parsed (e.g., a file name or - URI). - </p> - - <p>By returning <code>true</code> from the <code>handle</code> function - you instruct the parser to recover and continue parsing. Returning - <code>false</code> results in termination of the parsing process. - An error with the <code>fatal</code> severity level results in - termination of the parsing process no matter what is returned from - the <code>handle</code> function. It is safe to throw an exception - from the <code>handle</code> function. - </p> - - <p>The DOM-Tree stage reports error conditions exclusively by throwing - exceptions. Individual exceptions thrown by the parsing functions - are described in the following sub-sections. - </p> - - - <h3><a name="3.3.1">3.3.1 <code>xml_schema::parsing</code></a></h3> - - <pre class="c++"> -struct severity -{ - enum value - { - warning, - error - }; - - severity (value); - operator value () const; -}; - -struct error -{ - error (severity, - const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message); - - severity - severity () const; - - const std::basic_string<C>& - id () const; - - unsigned long - line () const; - - unsigned long - column () const; - - const std::basic_string<C>& - message () const; -}; - -std::basic_ostream<C>& -operator<< (std::basic_ostream<C>&, const error&); - -struct diagnostics: std::vector<error> -{ -}; - -std::basic_ostream<C>& -operator<< (std::basic_ostream<C>&, const diagnostics&); - -struct parsing: virtual exception -{ - parsing (); - parsing (const diagnostics&); - - const diagnostics& - diagnostics () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::parsing</code> exception is thrown if there - were parsing or validation errors reported during the XML-DOM stage. - If no callback interface was provided to the parsing function, the - exception contains a list of errors and warnings accessible using - the <code>diagnostics</code> function. The usual conditions when - this exception is thrown include malformed XML instances and, if - validation is turned on, invalid instance documents. - </p> - - <h3><a name="3.3.2">3.3.2 <code>xml_schema::expected_element</code></a></h3> - - <pre class="c++"> -struct expected_element: virtual exception -{ - expected_element (const std::basic_string<C>& name, - const std::basic_string<C>& namespace_); - - - const std::basic_string<C>& - name () const; - - const std::basic_string<C>& - namespace_ () const; - - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::expected_element</code> exception is thrown - when an expected element is not encountered by the DOM-Tree stage. - The name and namespace of the expected element can be obtained using - the <code>name</code> and <code>namespace_</code> functions respectively. - </p> - - - <h3><a name="3.3.3">3.3.3 <code>xml_schema::unexpected_element</code></a></h3> - - <pre class="c++"> -struct unexpected_element: virtual exception -{ - unexpected_element (const std::basic_string<C>& encountered_name, - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& expected_namespace) - - - const std::basic_string<C>& - encountered_name () const; - - const std::basic_string<C>& - encountered_namespace () const; - - - const std::basic_string<C>& - expected_name () const; - - const std::basic_string<C>& - expected_namespace () const; - - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::unexpected_element</code> exception is thrown - when an unexpected element is encountered by the DOM-Tree stage. - The name and namespace of the encountered element can be obtained - using the <code>encountered_name</code> and - <code>encountered_namespace</code> functions respectively. If an - element was expected instead of the encountered one, its name - and namespace can be obtained using the <code>expected_name</code> and - <code>expected_namespace</code> functions respectively. Otherwise - these functions return empty strings. - </p> - - <h3><a name="3.3.4">3.3.4 <code>xml_schema::expected_attribute</code></a></h3> - - <pre class="c++"> -struct expected_attribute: virtual exception -{ - expected_attribute (const std::basic_string<C>& name, - const std::basic_string<C>& namespace_); - - - const std::basic_string<C>& - name () const; - - const std::basic_string<C>& - namespace_ () const; - - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::expected_attribute</code> exception is thrown - when an expected attribute is not encountered by the DOM-Tree stage. - The name and namespace of the expected attribute can be obtained using - the <code>name</code> and <code>namespace_</code> functions respectively. - </p> - - - <h3><a name="3.3.5">3.3.5 <code>xml_schema::unexpected_enumerator</code></a></h3> - - <pre class="c++"> -struct unexpected_enumerator: virtual exception -{ - unexpected_enumerator (const std::basic_string<C>& enumerator); - - const std::basic_string<C>& - enumerator () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::unexpected_enumerator</code> exception is thrown - when an unexpected enumerator is encountered by the DOM-Tree stage. - The enumerator can be obtained using the <code>enumerator</code> - functions. - </p> - - <h3><a name="3.3.6">3.3.6 <code>xml_schema::expected_text_content</code></a></h3> - - <pre class="c++"> -struct expected_text_content: virtual exception -{ - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::expected_text_content</code> exception is thrown - when a content other than text is encountered and the text content was - expected by the DOM-Tree stage. - </p> - - <h3><a name="3.3.7">3.3.7 <code>xml_schema::no_type_info</code></a></h3> - - <pre class="c++"> -struct no_type_info: virtual exception -{ - no_type_info (const std::basic_string<C>& type_name, - const std::basic_string<C>& type_namespace); - - const std::basic_string<C>& - type_name () const; - - const std::basic_string<C>& - type_namespace () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::no_type_info</code> exception is thrown - when there is no type information associated with a type specified - by the <code>xsi:type</code> attribute. This exception is thrown - by the DOM-Tree stage. The name and namespace of the type in question - can be obtained using the <code>type_name</code> and - <code>type_namespace</code> functions respectively. Usually, catching - this exception means that you haven't linked the code generated - from the schema defining the type in question with your application - or this schema has been compiled without the - <code>--generate-polymorphic</code> option. - </p> - - - <h3><a name="3.3.8">3.3.8 <code>xml_schema::not_derived</code></a></h3> - - <pre class="c++"> -struct not_derived: virtual exception -{ - not_derived (const std::basic_string<C>& base_type_name, - const std::basic_string<C>& base_type_namespace, - const std::basic_string<C>& derived_type_name, - const std::basic_string<C>& derived_type_namespace); - - const std::basic_string<C>& - base_type_name () const; - - const std::basic_string<C>& - base_type_namespace () const; - - - const std::basic_string<C>& - derived_type_name () const; - - const std::basic_string<C>& - derived_type_namespace () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::not_derived</code> exception is thrown - when a type specified by the <code>xsi:type</code> attribute is - not derived from the expected base type. This exception is thrown - by the DOM-Tree stage. The name and namespace of the expected - base type can be obtained using the <code>base_type_name</code> and - <code>base_type_namespace</code> functions respectively. The name - and namespace of the offending type can be obtained using the - <code>derived_type_name</code> and - <code>derived_type_namespace</code> functions respectively. - </p> - - <h3><a name="3.3.9">3.3.9 <code>xml_schema::no_prefix_mapping</code></a></h3> - - <pre class="c++"> -struct no_prefix_mapping: virtual exception -{ - no_prefix_mapping (const std::basic_string<C>& prefix); - - const std::basic_string<C>& - prefix () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::no_prefix_mapping</code> exception is thrown - during the DOM-Tree stage if a namespace prefix is encountered for - which a prefix-namespace mapping hasn't been provided. The namespace - prefix in question can be obtained using the <code>prefix</code> - function. - </p> - - <h2><a name="3.4">3.4 Reading from a Local File or URI</a></h2> - - <p>Using a local file or URI is the simplest way to parse an XML instance. - For example:</p> - - <pre class="c++"> -using std::auto_ptr; - -auto_ptr<type> r1 (name ("test.xml")); -auto_ptr<type> r2 (name ("http://www.codesynthesis.com/test.xml")); - </pre> - - <p>Or, in the C++11 mode:</p> - - <pre class="c++"> -using std::unique_ptr; - -unique_ptr<type> r1 (name ("test.xml")); -unique_ptr<type> r2 (name ("http://www.codesynthesis.com/test.xml")); - </pre> - - <h2><a name="3.5">3.5 Reading from <code>std::istream</code></a></h2> - - <p>When using an <code>std::istream</code> instance, you may also - pass an optional resource id. This id is used to identify the - resource (for example in error messages) as well as to resolve - relative paths. For instance:</p> - - <pre class="c++"> -using std::auto_ptr; - -{ - std::ifstream ifs ("test.xml"); - auto_ptr<type> r (name (ifs, "test.xml")); -} - -{ - std::string str ("..."); // Some XML fragment. - std::istringstream iss (str); - auto_ptr<type> r (name (iss)); -} - </pre> - - <h2><a name="3.6">3.6 Reading from <code>xercesc::InputSource</code></a></h2> - - <p>Reading from a <code>xercesc::InputSource</code> instance - is similar to the <code>std::istream</code> case except - the resource id is maintained by the <code>InputSource</code> - object. For instance:</p> - - <pre class="c++"> -xercesc::StdInInputSource is; -std::auto_ptr<type> r (name (is)); - </pre> - - <h2><a name="3.7">3.7 Reading from DOM</a></h2> - - <p>Reading from a <code>xercesc::DOMDocument</code> instance allows - you to setup a custom XML-DOM stage. Things like DOM - parser reuse, schema pre-parsing, and schema caching can be achieved - with this approach. For more information on how to obtain DOM - representation from an XML instance refer to the Xerces-C++ - documentation. In addition, the - <a href="http://wiki.codesynthesis.com/Tree/FAQ">C++/Tree Mapping - FAQ</a> shows how to parse an XML instance to a Xerces-C++ - DOM document using the XSD runtime utilities. - </p> - - <p>The last parsing function is useful when you would like to perform - your own XML-to-DOM parsing and associate the resulting DOM document - with the object model nodes. The automatic <code>DOMDocument</code> - pointer is reset and the resulting object model assumes ownership - of the DOM document passed. For example:</p> - - <pre class="c++"> -// C++98 version. -// -xml_schema::dom::auto_ptr<xercesc::DOMDocument> doc = ... - -std::auto_ptr<type> r ( - name (doc, xml_schema::flags::keep_dom | xml_schema::flags::own_dom)); - -// At this point doc is reset to 0. - -// C++11 version. -// -xml_schema::dom::unique_ptr<xercesc::DOMDocument> doc = ... - -std::unique_ptr<type> r ( - name (std::move (doc), - xml_schema::flags::keep_dom | xml_schema::flags::own_dom)); - -// At this point doc is reset to 0. - </pre> - - <h1><a name="4">4 Serialization</a></h1> - - <p>This chapter covers various aspects of serializing a - tree-like object model to DOM or XML. - In this regard, serialization is complimentary to the reverse - process of parsing a DOM or XML instance into an object model - which is discussed in <a href="#3">Chapter 3, - "Parsing"</a>. Note that the generation of the serialization code - is optional and should be explicitly requested with the - <code>--generate-serialization</code> option. See the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a> for more information. - </p> - - <p>Each global XML Schema element in the form: - </p> - - - <pre class="xml"> -<xsd:element name="name" type="type"/> - </pre> - - <p>is mapped to 8 overloaded C++ functions in the form:</p> - - <pre class="c++"> -// Serialize to std::ostream. -// -void -name (std::ostream&, - const type&, - const xml_schema::namespace_fomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - -void -name (std::ostream&, - const type&, - xml_schema::error_handler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - -void -name (std::ostream&, - const type&, - xercesc::DOMErrorHandler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - - -// Serialize to XMLFormatTarget. -// -void -name (xercesc::XMLFormatTarget&, - const type&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - -void -name (xercesc::XMLFormatTarget&, - const type&, - xml_schema::error_handler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - -void -name (xercesc::XMLFormatTarget&, - const type&, - xercesc::DOMErrorHandler&, - const xml_schema::namespace_infomap& = - xml_schema::namespace_infomap (), - const std::basic_string<C>& encoding = "UTF-8", - xml_schema::flags = 0); - - -// Serialize to DOM. -// -xml_schema::dom::[auto|unique]_ptr<xercesc::DOMDocument> -name (const type&, - const xml_schema::namespace_infomap& - xml_schema::namespace_infomap (), - xml_schema::flags = 0); - -void -name (xercesc::DOMDocument&, - const type&, - xml_schema::flags = 0); - </pre> - - <p>You can choose between writing XML to <code>std::ostream</code> or - <code>xercesc::XMLFormatTarget</code> and creating a DOM instance - in the form of <code>xercesc::DOMDocument</code>. Serialization - to <code>ostream</code> or <code>XMLFormatTarget</code> requires a - considerably less work while serialization to DOM provides - for greater flexibility. Each of these serialization functions - is discussed in more detail in the following sections. - </p> - - - <h2><a name="4.1">4.1 Initializing the Xerces-C++ Runtime</a></h2> - - <p>Some serialization functions expect you to initialize the Xerces-C++ - runtime while others initialize and terminate it as part of their - work. The general rule is as follows: if a function has any arguments - or return a value that is an instance of a Xerces-C++ type, then - this function expects you to initialize the Xerces-C++ runtime. - Otherwise, the function initializes and terminates the runtime for - you. Note that it is legal to have nested calls to the Xerces-C++ - initialize and terminate functions as long as the calls are balanced. - </p> - - <p>You can instruct serialization functions that initialize and terminate - the runtime not to do so by passing the - <code>xml_schema::flags::dont_initialize</code> flag (see - <a href="#4.3">Section 4.3, "Flags"</a>). - </p> - - <h2><a name="4.2">4.2 Namespace Infomap and Character Encoding</a></h2> - - <p>When a document being serialized uses XML namespaces, custom - prefix-namespace associations can to be established. If custom - prefix-namespace mapping is not provided then generic prefixes - (<code>p1</code>, <code>p2</code>, etc) are automatically assigned - to namespaces as needed. Also, if - you would like the resulting instance document to contain the - <code>schemaLocation</code> or <code>noNamespaceSchemaLocation</code> - attributes, you will need to provide namespace-schema associations. - The <code>xml_schema::namespace_infomap</code> class is used - to capture this information:</p> - - <pre class="c++"> -struct namespace_info -{ - namespace_info (); - namespace_info (const std::basic_string<C>& name, - const std::basic_string<C>& schema); - - std::basic_string<C> name; - std::basic_string<C> schema; -}; - -// Map of namespace prefix to namespace_info. -// -struct namespace_infomap: public std::map<std::basic_string<C>, - namespace_info> -{ -}; - </pre> - - <p>Consider the following associations as an example:</p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - </pre> - - <p>This map, if passed to one of the serialization functions, - could result in the following XML fragment:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<t:name xmlns:t="http://www.codesynthesis.com/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/test test.xsd"> - </pre> - - <p>As you can see, the serialization function automatically added namespace - mapping for the <code>xsi</code> prefix. You can change this by - providing your own prefix:</p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map["xsn"].name = "http://www.w3.org/2001/XMLSchema-instance"; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - </pre> - - <p>This could result in the following XML fragment:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<t:name xmlns:t="http://www.codesynthesis.com/test" - xmlns:xsn="http://www.w3.org/2001/XMLSchema-instance" - xsn:schemaLocation="http://www.codesynthesis.com/test test.xsd"> - </pre> - - <p>To specify the location of a schema without a namespace you can use - an empty prefix as in the example below: </p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map[""].schema = "test.xsd"; - </pre> - - <p>This would result in the following XML fragment:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="test.xsd"> - </pre> - - <p>To make a particular namespace default you can use an empty - prefix, for example:</p> - - <pre class="c++"> -xml_schema::namespace_infomap map; - -map[""].name = "http://www.codesynthesis.com/test"; -map[""].schema = "test.xsd"; - </pre> - - <p>This could result in the following XML fragment:</p> - - <pre class="xml"> -<?xml version="1.0" ?> -<name xmlns="http://www.codesynthesis.com/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/test test.xsd"> - </pre> - - - <p>Another bit of information that you can pass to the serialization - functions is the character encoding method that you would like to use. - Common values for this argument are <code>"US-ASCII"</code>, - <code>"ISO8859-1"</code>, <code>"UTF-8"</code>, - <code>"UTF-16BE"</code>, <code>"UTF-16LE"</code>, - <code>"UCS-4BE"</code>, and <code>"UCS-4LE"</code>. The default - encoding is <code>"UTF-8"</code>. For more information on - encoding methods see the - "<a href="http://en.wikipedia.org/wiki/Character_code">Character - Encoding</a>" article from Wikipedia. - </p> - - <h2><a name="4.3">4.3 Flags</a></h2> - - <p>Serialization flags are the last argument of every serialization - function. They allow you to fine-tune the process of serialization. - The flags argument is optional. - </p> - - - <p>The following flags are recognized by the serialization - functions:</p> - - <dl> - <dt><code>xml_schema::flags::dont_initialize</code></dt> - <dd>Do not initialize the Xerces-C++ runtime.</dd> - - <dt><code>xml_schema::flags::dont_pretty_print</code></dt> - <dd>Do not add extra spaces or new lines that make the resulting XML - slightly bigger but easier to read.</dd> - - <dt><code>xml_schema::flags::no_xml_declaration</code></dt> - <dd>Do not write XML declaration (<?xml ... ?>).</dd> - </dl> - - <p>You can pass several flags by combining them using the bit-wise OR - operator. For example:</p> - - <pre class="c++"> -std::auto_ptr<type> r = ... -std::ofstream ofs ("test.xml"); -xml_schema::namespace_infomap map; -name (ofs, - *r, - map, - "UTF-8", - xml_schema::flags::no_xml_declaration | - xml_schema::flags::dont_pretty_print); - </pre> - - <p>For more information on the Xerces-C++ runtime initialization - refer to <a href="#4.1">Section 4.1, "Initializing the Xerces-C++ - Runtime"</a>. - </p> - - <h2><a name="4.4">4.4 Error Handling</a></h2> - - <p>As with the parsing functions (see <a href="#3.3">Section 3.3, - "Error Handling"</a>), to better understand error handling and - reporting strategies employed by the serialization functions, it - is useful to know that the transformation of a statically-typed - tree to an XML instance document happens in two stages. The first - stage, performed by the generated code, consist of building a DOM - instance from the statically-typed tree . For short, we will call - this stage the Tree-DOM stage. The second stage, performed by - Xerces-C++, consists of serializing the DOM instance into the XML - document. We will call this stage the DOM-XML stage. - </p> - - <p>All serialization functions except the two that serialize into - a DOM instance come in overloaded triples. The first function - in such a triple reports error conditions exclusively by throwing - exceptions. It accumulates all the serialization errors of the - DOM-XML stage and throws them in a single instance of the - <code>xml_schema::serialization</code> exception (described below). - The second and the third functions in the triple use callback - interfaces to report serialization errors and warnings. The two - callback interfaces are <code>xml_schema::error_handler</code> and - <code>xercesc::DOMErrorHandler</code>. The - <code>xml_schema::error_handler</code> interface is described in - <a href="#3.3">Section 3.3, "Error Handling"</a>. For more information - on the <code>xercesc::DOMErrorHandler</code> interface refer to the - Xerces-C++ documentation. - </p> - - <p>The Tree-DOM stage reports error conditions exclusively by throwing - exceptions. Individual exceptions thrown by the serialization functions - are described in the following sub-sections. - </p> - - <h3><a name="4.4.1">4.4.1 <code>xml_schema::serialization</code></a></h3> - - <pre class="c++"> -struct serialization: virtual exception -{ - serialization (); - serialization (const diagnostics&); - - const diagnostics& - diagnostics () const; - - virtual const char* - what () const throw (); -}; - </pre> - - <p>The <code>xml_schema::diagnostics</code> class is described in - <a href="#3.3.1">Section 3.3.1, "<code>xml_schema::parsing</code>"</a>. - The <code>xml_schema::serialization</code> exception is thrown if - there were serialization errors reported during the DOM-XML stage. - If no callback interface was provided to the serialization function, - the exception contains a list of errors and warnings accessible using - the <code>diagnostics</code> function. - </p> - - - <h3><a name="4.4.2">4.4.2 <code>xml_schema::unexpected_element</code></a></h3> - - <p>The <code>xml_schema::unexpected_element</code> exception is - described in <a href="#3.3.3">Section 3.3.3, - "<code>xml_schema::unexpected_element</code>"</a>. It is thrown - by the serialization functions during the Tree-DOM stage if the - root element name of the provided DOM instance does not match with - the name of the element this serialization function is for. - </p> - - <h3><a name="4.4.3">4.4.3 <code>xml_schema::no_type_info</code></a></h3> - - <p>The <code>xml_schema::no_type_info</code> exception is - described in <a href="#3.3.7">Section 3.3.7, - "<code>xml_schema::no_type_info</code>"</a>. It is thrown - by the serialization functions during the Tree-DOM stage when there - is no type information associated with a dynamic type of an - element. Usually, catching this exception means that you haven't - linked the code generated from the schema defining the type in - question with your application or this schema has been compiled - without the <code>--generate-polymorphic</code> option. - </p> - - <h2><a name="4.5">4.5 Serializing to <code>std::ostream</code></a></h2> - - <p>In order to serialize to <code>std::ostream</code> you will need - an object model, an output stream and, optionally, a namespace - infomap. For instance:</p> - - <pre class="c++"> -// Obtain the object model. -// -std::auto_ptr<type> r = ... - -// Prepare namespace mapping and schema location information. -// -xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - -// Write it out. -// -name (std::cout, *r, map); - </pre> - - <p>Note that the output stream is treated as a binary stream. This - becomes important when you use a character encoding that is wider - than 8-bit <code>char</code>, for instance UTF-16 or UCS-4. For - example, things will most likely break if you try to serialize - to <code>std::ostringstream</code> with UTF-16 or UCS-4 as an - encoding. This is due to the special value, - <code>'\0'</code>, that will most likely occur as part of such - serialization and it won't have the special meaning assumed by - <code>std::ostringstream</code>. - </p> - - - <h2><a name="4.6">4.6 Serializing to <code>xercesc::XMLFormatTarget</code></a></h2> - - <p>Serializing to an <code>xercesc::XMLFormatTarget</code> instance - is similar the <code>std::ostream</code> case. For instance: - </p> - - <pre class="c++"> -using std::auto_ptr; - -// Obtain the object model. -// -auto_ptr<type> r = ... - -// Prepare namespace mapping and schema location information. -// -xml_schema::namespace_infomap map; - -map["t"].name = "http://www.codesynthesis.com/test"; -map["t"].schema = "test.xsd"; - -using namespace xercesc; - -XMLPlatformUtils::Initialize (); - -{ - // Choose a target. - // - auto_ptr<XMLFormatTarget> ft; - - if (argc != 2) - { - ft = auto_ptr<XMLFormatTarget> (new StdOutFormatTarget ()); - } - else - { - ft = auto_ptr<XMLFormatTarget> ( - new LocalFileFormatTarget (argv[1])); - } - - // Write it out. - // - name (*ft, *r, map); -} - -XMLPlatformUtils::Terminate (); - </pre> - - <p>Note that we had to initialize the Xerces-C++ runtime before we - could call this serialization function.</p> - - <h2><a name="4.7">4.7 Serializing to DOM</a></h2> - - <p>The mapping provides two overloaded functions that implement - serialization to a DOM instance. The first creates a DOM instance - for you and the second serializes to an existing DOM instance. - While serializing to a new DOM instance is similar to serializing - to <code>std::ostream</code> or <code>xercesc::XMLFormatTarget</code>, - serializing to an existing DOM instance requires quite a bit of work - from your side. You will need to set all the custom namespace mapping - attributes as well as the <code>schemaLocation</code> and/or - <code>noNamespaceSchemaLocation</code> attributes. The following - listing should give you an idea about what needs to be done: - </p> - - <pre class="c++"> -// Obtain the object model. -// -std::auto_ptr<type> r = ... - -using namespace xercesc; - -XMLPlatformUtils::Initialize (); - -{ - // Create a DOM instance. Set custom namespace mapping and schema - // location attributes. - // - DOMDocument& doc = ... - - // Serialize to DOM. - // - name (doc, *r); - - // Serialize the DOM document to XML. - // - ... -} - -XMLPlatformUtils::Terminate (); - </pre> - - <p>For more information on how to create and serialize a DOM instance - refer to the Xerces-C++ documentation. In addition, the - <a href="http://wiki.codesynthesis.com/Tree/FAQ">C++/Tree Mapping - FAQ</a> shows how to implement these operations using the XSD - runtime utilities. - </p> - - <h1><a name="5">5 Additional Functionality</a></h1> - - <p>The C++/Tree mapping provides a number of optional features - that can be useful in certain situations. They are described - in the following sections.</p> - - <h2><a name="5.1">5.1 DOM Association</a></h2> - - <p>Normally, after parsing is complete, the DOM document which - was used to extract the data is discarded. However, the parsing - functions can be instructed to preserve the DOM document - and create an association between the DOM nodes and object model - nodes. When there is an association between the DOM and - object model nodes, you can obtain the corresponding DOM element - or attribute node from an object model node as well as perform - the reverse transition: obtain the corresponding object model - from a DOM element or attribute node.</p> - - <p>Maintaining DOM association is normally useful when the application - needs access to XML constructs that are not preserved in the - object model, for example, XML comments. - Another useful aspect of DOM association is the ability of the - application to navigate the document tree using the generic DOM - interface (for example, with the help of an XPath processor) - and then move back to the statically-typed object model. Note - also that while you can change the underlying DOM document, - these changes are not reflected in the object model and will - be ignored during serialization. If you need to not only access - but also modify some aspects of XML that are not preserved in - the object model, then type customization with custom parsing - constructors and serialization operators should be used instead.</p> - - <p>To request DOM association you will need to pass the - <code>xml_schema::flags::keep_dom</code> flag to one of the - parsing functions (see <a href="#3.2">Section 3.2, - "Flags and Properties"</a> for more information). In this case the - DOM document is retained and will be released when the object model - is deleted. Note that since DOM nodes "out-live" the parsing function - call, you need to initialize the Xerces-C++ runtime before calling - one of the parsing functions with the <code>keep_dom</code> flag and - terminate it after the object model is destroyed (see - <a href="#3.1">Section 3.1, "Initializing the Xerces-C++ Runtime"</a>).</p> - - <p>If the <code>keep_dom</code> flag is passed - as the second argument to the copy constructor and the copy - being made is of a complete tree, then the DOM association - is also maintained in the copy by cloning the underlying - DOM document and reestablishing the associations. For example:</p> - - <pre class="c++"> -using namespace xercesc; - -XMLPlatformUtils::Initialize (); - -{ - // Parse XML to object model. - // - std::auto_ptr<type> r (root ( - "root.xml", - xml_schema::flags::keep_dom | - xml_schema::flags::dont_initialize)); - - // Copy without DOM association. - // - type copy1 (*r); - - // Copy with DOM association. - // - type copy2 (*r, xml_schema::flags::keep_dom); -} - -XMLPlatformUtils::Terminate (); - </pre> - - - <p>To obtain the corresponding DOM node from an object model node - you will need to call the <code>_node</code> accessor function - which returns a pointer to <code>DOMNode</code>. You can then query - this DOM node's type and cast it to either <code>DOMAttr*</code> - or <code>DOMElement*</code>. To obtain the corresponding object - model node from a DOM node, the DOM user data API is used. The - <code>xml_schema::dom::tree_node_key</code> variable contains - the key for object model nodes. The following schema and code - fragment show how to navigate from DOM to object model nodes - and in the opposite direction:</p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="a" type="string"/> - </sequence> -</complexType> - -<element name="root" type="object"/> - </pre> - - <pre class="c++"> -using namespace xercesc; - -XMLPlatformUtils::Initialize (); - -{ - // Parse XML to object model. - // - std::auto_ptr<type> r (root ( - "root.xml", - xml_schema::flags::keep_dom | - xml_schema::flags::dont_initialize)); - - DOMNode* n = root->_node (); - assert (n->getNodeType () == DOMNode::ELEMENT_NODE); - DOMElement* re = static_cast<DOMElement*> (n); - - // Get the 'a' element. Note that it is not necessarily the - // first child node of 'root' since there could be whitespace - // nodes before it. - // - DOMElement* ae; - - for (n = re->getFirstChild (); n != 0; n = n->getNextSibling ()) - { - if (n->getNodeType () == DOMNode::ELEMENT_NODE) - { - ae = static_cast<DOMElement*> (n); - break; - } - } - - // Get from the 'a' DOM element to xml_schema::string object model - // node. - // - xml_schema::type& t ( - *reinterpret_cast<xml_schema::type*> ( - ae->getUserData (xml_schema::dom::tree_node_key))); - - xml_schema::string& a (dynamic_cast<xml_schema::string&> (t)); -} - -XMLPlatformUtils::Terminate (); - </pre> - - <p>The 'mixed' example which can be found in the XSD distribution - shows how to handle the mixed content using DOM association.</p> - - <h2><a name="5.2">5.2 Binary Serialization</a></h2> - - <p>Besides reading from and writing to XML, the C++/Tree mapping - also allows you to save the object model to and load it from a - number of predefined as well as custom data representation - formats. The predefined binary formats are CDR (Common Data - Representation) and XDR (eXternal Data Representation). A - custom format can easily be supported by providing - insertion and extraction operators for basic types.</p> - - <p>Binary serialization saves only the data without any meta - information or markup. As a result, saving to and loading - from a binary representation can be an order of magnitude - faster than parsing and serializing the same data in XML. - Furthermore, the resulting representation is normally several - times smaller than the equivalent XML representation. These - properties make binary serialization ideal for internal data - exchange and storage. A typical application that uses this - facility stores the data and communicates within the - system using a binary format and reads/writes the data - in XML when communicating with the outside world.</p> - - <p>In order to request the generation of insertion operators and - extraction constructors for a specific predefined or custom - data representation stream, you will need to use the - <code>--generate-insertion</code> and <code>--generate-extraction</code> - compiler options. See the - <a href="http://www.codesynthesis.com/projects/xsd/documentation/xsd.xhtml">XSD - Compiler Command Line Manual</a> for more information.</p> - - <p>Once the insertion operators and extraction constructors are - generated, you can use the <code>xml_schema::istream</code> - and <code>xml_schema::ostream</code> wrapper stream templates - to save the object model to and load it from a specific format. - The following code fragment shows how to do this using ACE - (Adaptive Communication Environment) CDR streams as an example:</p> - - <pre class="xml"> -<complexType name="object"> - <sequence> - <element name="a" type="string"/> - <element name="b" type="int"/> - </sequence> -</complexType> - -<element name="root" type="object"/> - </pre> - - <pre class="c++"> -// Parse XML to object model. -// -std::auto_ptr<type> r (root ("root.xml")); - -// Save to a CDR stream. -// -ACE_OutputCDR ace_ocdr; -xml_schema::ostream<ACE_OutputCDR> ocdr (ace_ocdr); - -ocdr << *r; - -// Load from a CDR stream. -// -ACE_InputCDR ace_icdr (buf, size); -xml_schema::istream<ACE_InputCDR> icdr (ace_icdr); - -std::auto_ptr<object> copy (new object (icdr)); - -// Serialize to XML. -// -root (std::cout, *copy); - </pre> - - <p>The XSD distribution contains a number of examples that - show how to save the object model to and load it from - CDR, XDR, and a custom format.</p> - - <!-- Appendix A --> - - - <h1><a name="A">Appendix A — Default and Fixed Values</a></h1> - - <p>The following table summarizes the effect of default and fixed - values (specified with the <code>default</code> and <code>fixed</code> - attributes, respectively) on attribute and element values. The - <code>default</code> and <code>fixed</code> attributes are mutually - exclusive. It is also worthwhile to note that the fixed value semantics - is a superset of the default value semantics. - </p> - - <!-- border="1" is necessary for html2ps --> - <table id="default-fixed" border="1"> - <tr> - <th></th> - <th></th> - <th colspan="2">default</th> - <th colspan="2">fixed</th> - </tr> - - <!-- element --> - - <tr> - <th rowspan="4">element</th> - <th rowspan="2">not present</th> - <th>optional</th> - <th>required</th> - <th>optional</th> - <th>required</th> - </tr> - <tr> - <td>not present</td> - <td>invalid instance</td> - <td>not present</td> - <td>invalid instance</td> - </tr> - - - <tr> - <th>empty</th> - <td colspan="2">default value is used</td> - <td colspan="2">fixed value is used</td> - </tr> - - <tr> - <th>value</th> - <td colspan="2">value is used</td> - <td colspan="2">value is used provided it's the same as fixed</td> - </tr> - - <!-- attribute --> - - <!-- element --> - - <tr> - <th rowspan="4">attribute</th> - <th rowspan="2">not present</th> - <th>optional</th> - <th>required</th> - <th>optional</th> - <th>required</th> - </tr> - <tr> - <td>default value is used</td> - <td>invalid schema</td> - <td>fixed value is used</td> - <td>invalid instance</td> - </tr> - - - <tr> - <th>empty</th> - <td colspan="2">empty value is used</td> - <td colspan="2">empty value is used provided it's the same as fixed</td> - </tr> - - <tr> - <th>value</th> - <td colspan="2">value is used</td> - <td colspan="2">value is used provided it's the same as fixed</td> - </tr> - - </table> - - </div> -</div> - - -</body> -</html> diff --git a/xsd/doc/cxx/tree/manual/makefile b/xsd/doc/cxx/tree/manual/makefile deleted file mode 100644 index 3cb0d80..0000000 --- a/xsd/doc/cxx/tree/manual/makefile +++ /dev/null @@ -1,54 +0,0 @@ -# file : doc/cxx/tree/manual/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(out_base)/cxx-tree-manual.ps $(out_base)/cxx-tree-manual.pdf - - -$(out_base)/cxx-tree-manual.ps: $(src_base)/index.xhtml \ - $(src_base)/manual.html2ps \ - | $(out_base)/. - $(call message,html2ps $<,html2ps -f $(src_base)/manual.html2ps -o $@ $<) - -$(out_base)/cxx-tree-manual.pdf: $(out_base)/cxx-tree-manual.ps | $(out_base)/. - $(call message,ps2pdf $<,ps2pdf14 $< $@) - -# Install & Dist. -# -$(install): path := $(subst $(src_root)/doc/,,$(src_base)) -$(dist): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(out_base)/cxx-tree-manual.ps $(out_base)/cxx-tree-manual.pdf - $(call install-data,$(src_base)/index.xhtml,$(install_doc_dir)/xsd/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-tree-manual.ps,$(install_doc_dir)/xsd/$(path)/cxx-tree-manual.ps) - $(call install-data,$(out_base)/cxx-tree-manual.pdf,$(install_doc_dir)/xsd/$(path)/cxx-tree-manual.pdf) - -$(dist): $(out_base)/cxx-tree-manual.ps $(out_base)/cxx-tree-manual.pdf - $(call install-data,$(src_base)/index.xhtml,$(dist_prefix)/$(path)/index.xhtml) - $(call install-data,$(out_base)/cxx-tree-manual.ps,$(dist_prefix)/$(path)/cxx-tree-manual.ps) - $(call install-data,$(out_base)/cxx-tree-manual.pdf,$(dist_prefix)/$(path)/cxx-tree-manual.pdf) - -$(dist-win): $(dist) - - -# Clean -# -$(clean): -ifneq ($(xsd_clean_gen),n) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-tree-manual.ps) - $(call message,rm $$1,rm -f $$1,$(out_base)/cxx-tree-manual.pdf) -endif - -# How to. -# -$(call include,$(bld_root)/install.make) diff --git a/xsd/doc/cxx/tree/manual/manual.html2ps b/xsd/doc/cxx/tree/manual/manual.html2ps deleted file mode 100644 index 6e714a6..0000000 --- a/xsd/doc/cxx/tree/manual/manual.html2ps +++ /dev/null @@ -1,66 +0,0 @@ -@html2ps { - option { - toc: hb; - colour: 1; - hyphenate: 1; - titlepage: 1; - } - - datefmt: "%B %Y"; - - titlepage { - content: " -<div align=center> - <h1><big>C++/Tree Mapping User Manual</big></h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> - <h1> </h1> -</div> - <p>Revision $[revision] $D</p> - <p>Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC</p> - - <p>Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href='http://www.codesynthesis.com/licenses/fdl-1.2.txt'>GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </p> - - <p>This document is available in the following formats: - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/index.xhtml'>XHTML</a>, - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.pdf'>PDF</a>, and - <a href='http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/manual/cxx-tree-manual.ps'>PostScript</a>.</p>"; - } - - toc { - indent: 2em; - } - - header { - odd-right: $H; - even-left: $H; - } - - footer { - odd-left: $D; - odd-center: $T, v$[revision]; - odd-right: $N; - - even-left: $N; - even-center: $T, v$[revision]; - even-right: $D; - } -} - -body { - font-size: 12pt; - text-align: justify; -} - -pre { - font-size: 10pt; -} diff --git a/xsd/doc/cxx/tree/reference/footer.html b/xsd/doc/cxx/tree/reference/footer.html deleted file mode 100644 index 4325116..0000000 --- a/xsd/doc/cxx/tree/reference/footer.html +++ /dev/null @@ -1,6 +0,0 @@ -<hr size="1"> -<div style="text-align: center; font-size: 80%;"> - Copyright © 2005-2014 CODE SYNTHESIS TOOLS CC -</div> -</body> -</html> diff --git a/xsd/doc/cxx/tree/reference/libxsd.doxygen b/xsd/doc/cxx/tree/reference/libxsd.doxygen deleted file mode 100644 index 376d34a..0000000 --- a/xsd/doc/cxx/tree/reference/libxsd.doxygen +++ /dev/null @@ -1,1322 +0,0 @@ -# Doxyfile 1.5.4 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file that -# follow. The default is UTF-8 which is also the encoding used for all text before -# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into -# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of -# possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "C++/Tree Mapping Runtime Library" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = YES - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct (or union) is -# documented as struct with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code where the coding convention is that all structs are -# typedef'ed and only the typedef is referenced never the struct's name. - -TYPEDEF_HIDES_STRUCT = NO - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be extracted -# and appear in the documentation as a namespace called 'anonymous_namespace{file}', -# where file will be replaced with the base name of the file that contains the anonymous -# namespace. By default anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command <command> <input-file>, where <command> is the value of -# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = \ -../../../../libxsd/xsd/cxx/tree/buffer.hxx \ -../../../../libxsd/xsd/cxx/tree/types.hxx \ -../../../../libxsd/xsd/cxx/tree/date-time.hxx \ -../../../../libxsd/xsd/cxx/tree/elements.hxx \ -../../../../libxsd/xsd/cxx/tree/element-map.hxx \ -../../../../libxsd/xsd/cxx/tree/exceptions.hxx - -# This tag can be used to specify the character encoding of the source files that -# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default -# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. -# See http://www.gnu.org/software/libiconv for the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the output. -# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, -# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command <filter> <input-file>, where <filter> -# is the value of the INPUT_FILTER tag, and <input-file> is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH -# then you must also enable this option. If you don't then doxygen will produce -# a warning and turn it on anyway - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -# C++98 version. -# -PREDEFINED = XSD_AUTO_PTR=std::auto_ptr - -# C++11 version. -# -# PREDEFINED = XSD_AUTO_PTR=std::unique_ptr - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = libxsd.doxytag - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to -# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to -# specify the directory where the mscgen tool resides. If left empty the tool is assumed to -# be found in the default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the number -# of direct children of the root node in a graph is already larger than -# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/xsd/doc/cxx/tree/reference/makefile b/xsd/doc/cxx/tree/reference/makefile deleted file mode 100644 index 5df62c9..0000000 --- a/xsd/doc/cxx/tree/reference/makefile +++ /dev/null @@ -1,18 +0,0 @@ -.PHONY: all -all: libxsd.doxytag - -headers := \ -../../../../libxsd/xsd/cxx/tree/buffer.hxx \ -../../../../libxsd/xsd/cxx/tree/types.hxx \ -../../../../libxsd/xsd/cxx/tree/date-time.hxx \ -../../../../libxsd/xsd/cxx/tree/elements.hxx \ -../../../../libxsd/xsd/cxx/tree/exceptions.hxx - -libxsd.doxytag: libxsd.doxygen footer.html $(headers) - doxygen $< - -.PHONY: clean -clean: - rm -f libxsd.doxytag - rm -rf html - diff --git a/xsd/doc/default.css b/xsd/doc/default.css deleted file mode 100644 index bb3805b..0000000 --- a/xsd/doc/default.css +++ /dev/null @@ -1,319 +0,0 @@ -html { - margin : 0; - padding : 0; - background : white; -} - -body { - font-family : "Lucida Grande", Verdana, "Bitstream Vera Sans", sans-serif; - font-weight : normal; - font-size : 13px; - line-height : 19px; - - color : black; - - margin : 0 2em 0 2em; - padding : 0; -} - - -body { - min-width: 40em; -} - -#container { - max-width : 46em; - margin : 0 auto; - padding : 0 1em 0 1em; -} - - - -/* - * Footer - * - */ -#footer { - color : #3a84a7; - - padding : 1em 0 0.5em 0; - - font-size : 10px; - line-height : 15px; - - text-align: center; -} - -#footer a:link, #footer a:visited { - - color:#1d6699; - text-decoration: underline; -} - -#footer a { - margin-left: 0.7em; - margin-right: 0.7em; -} - -#footer p { - padding: 0; - margin: 0.3em 0 0 0; -} - -/* Distribution terms. */ -#footer #terms { - text-align: justify; - - font-size : 110%; - font-family : monospace; - - padding : 1em 0 0.5em 0; -} - - -/* - * Content - * - */ - -#content { - padding : 0em 0.1em 0 1.3em; - margin : 1.4em 0 0 0; -} - -#content p, -#content ol, -#content ul, -#content dl { - text-align: justify; -} - -#content h1 { - margin-left: -0.89em; -} - -a:link { - color:#0536d2; -} - - -/* - * Headings - * - */ - -h1, h2, h3, h4, h5, h6 { - font-weight : 500; -} - -h1 { font-size : 155%; } -h2 { font-size : 130%; } -h3 { font-size : 125%; } -h4 { font-size : 110%; } -h5 { font-size : 106%; } -h6 { font-size : 100%; } - -h1 { margin : 1.8em 0 0.8em 0;} -h2 { margin-top : 1.4em;} -h3 { margin-top : 1em;} - -p.indent { - margin-left : 1.5em; -} - - -/* - * Fix for IE 5.5 table font problem - * - */ - -table { - font-size : 13px; -} - - -/* - * table of content - * - */ - -ul.toc li { - padding : .4em 0em 0em 0em; -} - - -/* Toc links don't need to show when they are visited. */ -.toc a:visited { - color:#0536d2; -} - - -/* - * lists - * - */ - - -/* list of links */ -ul.menu { - list-style-type : none; -} - -ul.menu li { - padding-top : 0.3em; - padding-bottom : 0.3em; -} - - - -/* @@ I should probably use child selector here */ -/* list with multiline list-elements */ -ul.multiline li, ol.multiline li, dl.multiline dd { - padding-top : 0.16em; - padding-bottom : 0.16em; - - font-size : 11px; - line-height : 15px; -} - - - -/* C++ code snippet */ -pre.cxx { - margin-top : 0em; - margin-bottom : 2em; - - margin-left : 1em; -} - - - -/* make code snippet */ -pre.make { - margin-top : 0em; - margin-bottom : 2em; - - margin-left : 1em; -} - - - -/* terminal output */ -pre.term { - margin-top : 0em; - margin-bottom : 2em; - - margin-left : 1em; -} - - -/* Images */ -div.center { - text-align: center; -} - -/* Document info. */ -#docinfo { - margin-top: 4em; - border-top: 1px dashed #000000; - font-size: 70%; -} - - -/* Footnote */ - -#footnote { - margin-top : 2.5em; -} - -#footnote hr, hr.footnote { - margin-left: 0; - margin-bottom: 0.6em; - width: 8em; - border-top: 1px solid #000000; - border-right: none; - border-bottom: none; - border-left: none; - -} - -#footnote ol { - margin-left: 0; - padding-left: 1.45em; -} - -#footnote li { - text-align : left; - font-size : 11px; - line-height : 15px; - - padding : .4em 0 .4em 0; -} - - -/* Normal table with borders, etc. */ - -table.std { - margin: 2em 0 2em 0; - - border-collapse : collapse; - border : 1px solid; - border-color : #000000; - - font-size : 11px; - line-height : 14px; -} - -table.std th, table.std td { - border : 1px solid; - padding : 0.6em 0.8em 0.6em 0.8em; -} - -table.std th { - background : #cde8f6; -} - -table.std td { - text-align: left; -} - - -/* - * "item | description" table. - * - */ - -table.description { - border-style : none; - border-collapse : separate; - border-spacing : 0; - - font-size : 13px; - - margin : 0.6em 0 0.6em 0; - padding : 0 0 0 0; -} - -table.description tr { - padding : 0 0 0 0; - margin : 0 0 0 0; -} - -table.description * td, table.description * th { - border-style : none; - margin : 0 0 0 0; - vertical-align : top; -} - -table.description * th { - font-weight : normal; - padding : 0.4em 1em 0.4em 0; - text-align : left; - white-space : nowrap; - background : none; -} - -table.description * td { - padding : 0.4em 0 0.4em 1em; - text-align : justify; -} diff --git a/xsd/doc/makefile b/xsd/doc/makefile deleted file mode 100644 index 4ed00cc..0000000 --- a/xsd/doc/makefile +++ /dev/null @@ -1,143 +0,0 @@ -# file : doc/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/cli/stub.make,\ - cli: cli,cli-rules: cli_rules) - -# Build. -# -$(default): \ -$(out_base)/cxx/ \ -$(out_base)/xsd.xhtml \ -$(out_base)/xsd.1 - -# Man/html pages. -# -$(out_base)/xsd.xhtml $(out_base)/xsd.1: cli := $(cli) -$(out_base)/xsd.xhtml $(out_base)/xsd.1: cli_options += -I $(src_root)/xsd - -$(out_base)/xsd.xhtml $(out_base)/xsd.1: \ -$(src_root)/xsd/options.cli \ -$(src_root)/xsd/cxx/options.cli \ -$(src_root)/xsd/cxx/tree/options.cli \ -$(src_root)/xsd/cxx/parser/options.cli - -# Assemble the options from different files in a specific order. -# - -# XHTML -# -$(out_base)/xsd.xhtml: $(src_base)/xsd-prologue.xhtml \ - $(src_base)/xsd-epilogue.xhtml \ - $(src_base)/xsd-tree-header.xhtml \ - $(src_base)/xsd-parser-header.xhtml \ - | $(out_base)/. -# Common options. -# - $(call message,cli-html $$1,$(cli) $(cli_options) --generate-html \ ---stdout --suppress-undocumented --exclude-base --class CXX::options \ ---class options --html-prologue-file $(src_base)/xsd-prologue.xhtml \ -$$1 >$@, $(src_root)/xsd/cxx/options.cli) - -# C++/Tree options. -# - $(call message,cli-html $$1,$(cli) $(cli_options) --generate-html \ ---stdout --suppress-undocumented --exclude-base \ ---html-prologue-file $(src_base)/xsd-tree-header.xhtml \ -$$1 >>$@, $(src_root)/xsd/cxx/tree/options.cli) - -# C++/Parser options. -# - $(call message,cli-html $$1,$(cli) $(cli_options) --generate-html \ ---stdout --suppress-undocumented --exclude-base \ ---html-prologue-file $(src_base)/xsd-parser-header.xhtml \ ---html-epilogue-file $(src_base)/xsd-epilogue.xhtml \ -$$1 >>$@, $(src_root)/xsd/cxx/parser/options.cli) - -# MAN -# -$(out_base)/xsd.1: $(src_base)/xsd-prologue.1 \ - $(src_base)/xsd-epilogue.1 \ - $(src_base)/xsd-tree-header.1 \ - $(src_base)/xsd-parser-header.1 \ - | $(out_base)/. -# Common options. -# - $(call message,cli-man $$1,$(cli) $(cli_options) --generate-man \ ---stdout --suppress-undocumented --exclude-base --class CXX::options \ ---class options --man-prologue-file $(src_base)/xsd-prologue.1 \ -$$1 >$@, $(src_root)/xsd/cxx/options.cli) - -# C++/Tree options. -# - $(call message,cli-man $$1,$(cli) $(cli_options) --generate-man \ ---stdout --suppress-undocumented --exclude-base \ ---man-prologue-file $(src_base)/xsd-tree-header.1 \ -$$1 >>$@, $(src_root)/xsd/cxx/tree/options.cli) - -# C++/Parser options. -# - $(call message,cli-man $$1,$(cli) $(cli_options) --generate-man \ ---stdout --suppress-undocumented --exclude-base \ ---man-prologue-file $(src_base)/xsd-parser-header.1 \ ---man-epilogue-file $(src_base)/xsd-epilogue.1 \ -$$1 >>$@, $(src_root)/xsd/cxx/parser/options.cli) - - -# Install. -# -$(install): $(out_base)/cxx/.install \ - $(out_base)/xsd.xhtml \ - $(out_base)/xsd.1 - $(call install-data,$(src_base)/default.css,$(install_doc_dir)/xsd/default.css) - $(call install-data,$(out_base)/xsd.xhtml,$(install_doc_dir)/xsd/xsd.xhtml) - $(call install-data,$(src_base)/custom-literals.xsd,$(install_doc_dir)/xsd/custom-literals.xsd) - $(call install-data,$(out_base)/xsd.1,$(install_man_dir)/man1/xsd.1) - -# Dist. -# -dist-common := $(out_base)/.dist-common - -$(dist-common): $(out_base)/xsd.xhtml \ - $(out_base)/xsd.1 - $(call install-data,$(src_base)/default.css,$(dist_prefix)/doc/default.css) - $(call install-data,$(out_base)/xsd.xhtml,$(dist_prefix)/doc/xsd.xhtml) - $(call install-data,$(out_base)/xsd.1,$(dist_prefix)/doc/xsd.1) - $(call install-data,$(src_base)/custom-literals.xsd,$(dist_prefix)/doc/custom-literals.xsd) - -$(dist): $(dist-common) $(out_base)/cxx/.dist -$(dist-win): $(dist-common) $(out_base)/cxx/.dist-win - -# Clean. -# -$(clean): $(out_base)/cxx/.clean -ifneq ($(xsd_clean_gen),n) - $(call message,rm $$1,rm -f $$1,$(out_base)/xsd.1) - $(call message,rm $$1,rm -f $$1,$(out_base)/xsd.xhtml) -endif - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(out_base)/xsd.xhtml $(out_base)/xsd.1: | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := xsd.1 xsd.xhtml -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -$(call include,$(bld_root)/install.make) -$(call import,$(src_base)/cxx/makefile) diff --git a/xsd/doc/xsd-epilogue.1 b/xsd/doc/xsd-epilogue.1 deleted file mode 100644 index 2b78ff7..0000000 --- a/xsd/doc/xsd-epilogue.1 +++ /dev/null @@ -1,566 +0,0 @@ -\" -\" NAMING CONVENTION -\" - -.SH NAMING CONVENTION -The compiler can be instructed to use a particular naming convention in -the generated code. A number of widely-used conventions can be selected -using the -.B --type-naming -and -.B --function-naming -options. A custom naming convention can be achieved using the -.BR --type-regex , -.BR --accessor-regex , -.BR --one-accessor-regex , -.BR --opt-accessor-regex , -.BR --seq-accessor-regex , -.BR --modifier-regex , -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -.BR --seq-modifier-regex , -.BR --parser-regex , -.BR --serializer-regex , -.BR --const-regex , -.BR --enumerator-regex , -and -.B --element-type-regex -options. - -The -.B --type-naming -option specifies the convention that should be used for naming C++ types. -Possible values for this option are -.B knr -(default), -.BR ucc , -and -.BR java . -The -.B knr -value (stands for K&R) signifies the standard, lower-case naming convention -with the underscore used as a word delimiter, for example: foo, foo_bar. -The -.B ucc -(stands for upper-camel-case) and -.B java -values a synonyms for the same naming convention where the first letter -of each word in the name is capitalized, for example: Foo, FooBar. - -Similarly, the -.B --function-naming -option specifies the convention that should be used for naming C++ functions. -Possible values for this option are -.B knr -(default), -.BR lcc , -and -.BR java . -The -.B knr -value (stands for K&R) signifies the standard, lower-case naming convention -with the underscore used as a word delimiter, for example: foo(), foo_bar(). -The -.B lcc -value (stands for lower-camel-case) signifies a naming convention where the -first letter of each word except the first is capitalized, for example: foo(), -fooBar(). The -.B java -naming convention is similar to the lower-camel-case one except that accessor -functions are prefixed with get, modifier functions are prefixed with set, -parsing functions are prefixed with parse, and serialization functions are -prefixed with serialize, for example: getFoo(), setFooBar(), parseRoot(), -serializeRoot(). - -Note that the naming conventions specified with the -.B --type-naming -and -.B --function-naming -options perform only limited transformations on the -names that come from the schema in the form of type, attribute, and element -names. In other words, to get consistent results, your schemas should follow -a similar naming convention as the one you would like to have in the generated -code. Alternatively, you can use the -.B --*-regex -options (discussed below) to perform further transformations on the names -that come from the schema. - -The -.BR --type-regex , -.BR --accessor-regex , -.BR --one-accessor-regex , -.BR --opt-accessor-regex , -.BR --seq-accessor-regex , -.BR --modifier-regex , -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -.BR --seq-modifier-regex , -.BR --parser-regex , -.BR --serializer-regex , -.BR --const-regex , -.BR --enumerator-regex , -and -.B --element-type-regex -options allow you to specify extra regular expressions for each name -category in addition to the predefined set that is added depending on -the -.B --type-naming -and -.B --function-naming -options. Expressions that are provided with the -.B --*-regex -options are evaluated prior to any predefined expressions. This allows -you to selectively override some or all of the predefined transformations. -When debugging your own expressions, it is often useful to see which -expressions match which names. The -.B --name-regex-trace -option allows you to trace the process of applying -regular expressions to names. - -The value for the -.B --*-regex -options should be a perl-like regular expression in the form -.BI / pattern / replacement /\fR. -Any character can be used as a delimiter instead of -.BR / . -Escaping of the delimiter character in -.I pattern -or -.I replacement -is not supported. All the regular expressions for each category are pushed -into a category-specific stack with the last specified expression -considered first. The first match that succeeds is used. For the -.B --one-accessor-regex -(accessors with cardinality one), -.B --opt-accessor-regex -(accessors with cardinality optional), and -.B --seq-accessor-regex -(accessors with cardinality sequence) categories the -.B --accessor-regex -expressions are used as a fallback. For the -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -and -.B --seq-modifier-regex -categories the -.B --modifier-regex -expressions are used as a fallback. For the -.B --element-type-regex -category the -.B --type-regex -expressions are used as a fallback. - -The type name expressions -.RB ( --type-regex ) -are evaluated on the name string that has the following format: - -[\fInamespace \fR]\fIname\fR[\fB,\fIname\fR][\fB,\fIname\fR][\fB,\fIname\fR] - -The element type name expressions -.RB ( --element-type-regex ), -effective only when the -.B --generate-element-type -option is specified, are evaluated on the name string that has the following -format: - -.I namespace name - -In the type name format the -.I namespace -part followed by a space is only present for global type names. For global -types and elements defined in schemas without a target namespace, the -.I namespace -part is empty but the space is still present. In the type name format after -the initial -.I name -component, up to three additional -.I name -components can be present, separated by commas. For example: - -.B http://example.com/hello type - -.B foo - -.B foo,iterator - -.B foo,const,iterator - -The following set of predefined regular expressions is used to transform -type names when the upper-camel-case naming convention is selected: - -.B /(?:[^ ]* )?([^,]+)/\\\\u$1/ - -.B /(?:[^ ]* )?([^,]+),([^,]+)/\\\\u$1\\\\u$2/ - -.B /(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\\\\u$1\\\\u$2\\\\u$3/ - -.B /(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\\\\u$1\\\\u$2\\\\u$3\\\\u$4/ - -The accessor and modifier expressions -.RB ( --*accessor-regex -and -.BR --*modifier-regex ) -are evaluated on the name string that has the following format: - -\fIname\fR[\fB,\fIname\fR][\fB,\fIname\fR] - -After the initial -.I name -component, up to two additional -.I name -components can be present, separated by commas. For example: - -.B foo - -.B dom,document - -.B foo,default,value - -The following set of predefined regular expressions is used to transform -accessor names when the -.B java -naming convention is selected: - -.B /([^,]+)/get\\\\u$1/ - -.B /([^,]+),([^,]+)/get\\\\u$1\\\\u$2/ - -.B /([^,]+),([^,]+),([^,]+)/get\\\\u$1\\\\u$2\\\\u$3/ - -For the parser, serializer, and enumerator categories, the corresponding -regular expressions are evaluated on local names of elements and on -enumeration values, respectively. For example, the following predefined -regular expression is used to transform parsing function names when the -.B java -naming convention is selected: - -.B /(.+)/parse\\\\u$1/ - -The const category is used to create C++ constant names for the -element/wildcard/text content ids in ordered types. - -See also the REGEX AND SHELL QUOTING section below. - -\" -\" TYPE MAP -\" -.SH TYPE MAP -Type map files are used in C++/Parser to define a mapping between XML -Schema and C++ types. The compiler uses this information to determine -the return types of -.B post_* -functions in parser skeletons corresponding to XML Schema types -as well as argument types for callbacks corresponding to elements -and attributes of these types. - -The compiler has a set of predefined mapping rules that map built-in -XML Schema types to suitable C++ types (discussed below) and all -other types to -.BR void . -By providing your own type maps you can override these predefined rules. -The format of the type map file is presented below: - -.RS -.B namespace -.I schema-namespace -[ -.I cxx-namespace -] -.br -.B { -.br - ( -.B include -.IB file-name ; -)* -.br - ([ -.B type -] -.I schema-type cxx-ret-type -[ -.I cxx-arg-type -.RB ] ; -)* -.br -.B } -.br -.RE - -Both -.I schema-namespace -and -.I schema-type -are regex patterns while -.IR cxx-namespace , -.IR cxx-ret-type , -and -.I cxx-arg-type -are regex pattern substitutions. All names can be optionally enclosed -in \fR" "\fR, for example, to include white-spaces. - -.I schema-namespace -determines XML Schema namespace. Optional -.I cxx-namespace -is prefixed to every C++ type name in this namespace declaration. -.I cxx-ret-type -is a C++ type name that is used as a return type for the -.B post_* -functions. Optional -.I cxx-arg-type -is an argument type for callback functions corresponding to elements and -attributes of this type. If -.I cxx-arg-type -is not specified, it defaults to -.I cxx-ret-type -if -.I cxx-ret-type -ends with -.B * -or -.B & -(that is, it is a pointer or a reference) and -.B const -\fIcxx-ret-type\fB&\fR otherwise. -.I file-name -is a file name either in the \fR" "\fR or < > format and is added with the -.B #include -directive to the generated code. - -The \fB#\fR character starts a comment that ends with a new line or end of -file. To specify a name that contains \fB#\fR enclose it in \fR" "\fR. For -example: - -.RS -namespace http://www.example.com/xmlns/my my -.br -{ -.br - include "my.hxx"; -.br - - # Pass apples by value. - # - apple apple; -.br - - # Pass oranges as pointers. - # - orange orange_t*; -.br -} -.br -.RE - -In the example above, for the -.B http://www.example.com/xmlns/my#orange -XML Schema type, the -.B my::orange_t* -C++ type will be used as both return and argument types. - -Several namespace declarations can be specified in a single file. -The namespace declaration can also be completely omitted to map -types in a schema without a namespace. For instance: - -.RS -include "my.hxx"; -.br -apple apple; -.br - -namespace http://www.example.com/xmlns/my -.br -{ -.br - orange "const orange_t*"; -.br -} -.br -.RE - - -The compiler has a number of predefined mapping rules that can be -presented as the following map files. The string-based XML Schema -built-in types are mapped to either -.B std::string -or -.B std::wstring -depending on the character type selected with the -.B --char-type -option -.RB ( char -by default). - -.RS -namespace http://www.w3.org/2001/XMLSchema -.br -{ -.br - boolean bool bool; -.br - - byte "signed char" "signed char"; -.br - unsignedByte "unsigned char" "unsigned char"; -.br - - short short short; -.br - unsignedShort "unsigned short" "unsigned short"; -.br - - int int int; -.br - unsignedInt "unsigned int" "unsigned int"; -.br - - long "long long" "long long"; -.br - unsignedLong "unsigned long long" "unsigned long long"; -.br - - integer "long long" "long long"; -.br - - negativeInteger "long long" "long long"; -.br - nonPositiveInteger "long long" "long long"; -.br - - positiveInteger "unsigned long long" "unsigned long long"; -.br - nonNegativeInteger "unsigned long long" "unsigned long long"; -.br - - float float float; -.br - double double double; -.br - decimal double double; -.br - - string std::string; -.br - normalizedString std::string; -.br - token std::string; -.br - Name std::string; -.br - NMTOKEN std::string; -.br - NCName std::string; -.br - ID std::string; -.br - IDREF std::string; -.br - language std::string; -.br - anyURI std::string; -.br - - NMTOKENS xml_schema::string_sequence; -.br - IDREFS xml_schema::string_sequence; -.br - - QName xml_schema::qname; -.br - - base64Binary std::auto_ptr<xml_schema::buffer> -.br - std::auto_ptr<xml_schema::buffer>; -.br - hexBinary std::auto_ptr<xml_schema::buffer> -.br - std::auto_ptr<xml_schema::buffer>; -.br - - date xml_schema::date; -.br - dateTime xml_schema::date_time; -.br - duration xml_schema::duration; -.br - gDay xml_schema::gday; -.br - gMonth xml_schema::gmonth; -.br - gMonthDay xml_schema::gmonth_day; -.br - gYear xml_schema::gyear; -.br - gYearMonth xml_schema::gyear_month; -.br - time xml_schema::time; -.br -} -.br -.RE - - -The last predefined rule maps anything that wasn't mapped by previous -rules to -.BR void : - -.RS -namespace .* -.br -{ -.br - .* void void; -.br -} -.br -.RE - -When you provide your own type maps with the -.B --type-map -option, they are evaluated first. This allows you to selectively override -predefined rules. - -.\" -.\" REGEX AND SHELL QUOTING -.\" -.SH REGEX AND SHELL QUOTING -When entering a regular expression argument in the shell command line -it is often necessary to use quoting (enclosing the argument in " " -or ' ') in order to prevent the shell from interpreting certain -characters, for example, spaces as argument separators and $ as -variable expansions. - -Unfortunately it is hard to achieve this in a manner that is portable -across POSIX shells, such as those found on GNU/Linux and UNIX, and -Windows shell. For example, if you use " " for quoting you will get -a wrong result with POSIX shells if your expression contains $. The -standard way of dealing with this on POSIX systems is to use ' ' -instead. Unfortunately, Windows shell does not remove ' ' from -arguments when they are passed to applications. As a result you may -have to use ' ' for POSIX and " " for Windows ($ is not treated as -a special character on Windows). - -Alternatively, you can save regular expression options into a file, -one option per line, and use this file with the -.B --options-file -option. With this approach you don't need to worry about shell quoting. - -.\" -.\" DIAGNOSTICS -.\" -.SH DIAGNOSTICS -If the input file is not a valid W3C XML Schema definition, -.B xsd -will issue diagnostic messages to -.B STDERR -and exit with non-zero exit code. -.SH BUGS -Send bug reports to the xsd-users@codesynthesis.com mailing list. -.SH COPYRIGHT -Copyright (c) 2005-2014 Code Synthesis Tools CC. - -Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, -version 1.2; with no Invariant Sections, no Front-Cover Texts and -no Back-Cover Texts. Copy of the license can be obtained from -http://codesynthesis.com/licenses/fdl-1.2.txt diff --git a/xsd/doc/xsd-epilogue.xhtml b/xsd/doc/xsd-epilogue.xhtml deleted file mode 100644 index 5f91450..0000000 --- a/xsd/doc/xsd-epilogue.xhtml +++ /dev/null @@ -1,422 +0,0 @@ - <h1>NAMING CONVENTION</h1> - - <p>The compiler can be instructed to use a particular naming - convention in the generated code. A number of widely-used - conventions can be selected using the <code><b>--type-naming</b></code> - and <code><b>--function-naming</b></code> options. A custom - naming convention can be achieved using the - <code><b>--type-regex</b></code>, - <code><b>--accessor-regex</b></code>, - <code><b>--one-accessor-regex</b></code>, - <code><b>--opt-accessor-regex</b></code>, - <code><b>--seq-accessor-regex</b></code>, - <code><b>--modifier-regex</b></code>, - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, - <code><b>--seq-modifier-regex</b></code>, - <code><b>--parser-regex</b></code>, - <code><b>--serializer-regex</b></code>, - <code><b>--const-regex</b></code>, - <code><b>--enumerator-regex</b></code>, and - <code><b>--element-type-regex</b></code> options. - </p> - - <p>The <code><b>--type-naming</b></code> option specifies the - convention that should be used for naming C++ types. Possible - values for this option are <code><b>knr</b></code> (default), - <code><b>ucc</b></code>, and <code><b>java</b></code>. The - <code><b>knr</b></code> value (stands for K&R) signifies - the standard, lower-case naming convention with the underscore - used as a word delimiter, for example: <code>foo</code>, - <code>foo_bar</code>. The <code><b>ucc</b></code> (stands - for upper-camel-case) and - <code><b>java</b></code> values a synonyms for the same - naming convention where the first letter of each word in the - name is capitalized, for example: <code>Foo</code>, - <code>FooBar</code>.</p> - - <p>Similarly, the <code><b>--function-naming</b></code> option - specifies the convention that should be used for naming C++ - functions. Possible values for this option are <code><b>knr</b></code> - (default), <code><b>lcc</b></code>, and <code><b>java</b></code>. The - <code><b>knr</b></code> value (stands for K&R) signifies - the standard, lower-case naming convention with the underscore - used as a word delimiter, for example: <code>foo()</code>, - <code>foo_bar()</code>. The <code><b>lcc</b></code> value - (stands for lower-camel-case) signifies a naming convention - where the first letter of each word except the first is - capitalized, for example: <code>foo()</code>, <code>fooBar()</code>. - The <code><b>java</b></code> naming convention is similar to - the lower-camel-case one except that accessor functions are prefixed - with <code>get</code>, modifier functions are prefixed - with <code>set</code>, parsing functions are prefixed - with <code>parse</code>, and serialization functions are - prefixed with <code>serialize</code>, for example: - <code>getFoo()</code>, <code>setFooBar()</code>, - <code>parseRoot()</code>, <code>serializeRoot()</code>.</p> - - <p>Note that the naming conventions specified with the - <code><b>--type-naming</b></code> and - <code><b>--function-naming</b></code> options perform only limited - transformations on the names that come from the schema in the - form of type, attribute, and element names. In other words, to - get consistent results, your schemas should follow a similar - naming convention as the one you would like to have in the - generated code. Alternatively, you can use the - <code><b>--*-regex</b></code> options (discussed below) - to perform further transformations on the names that come from - the schema.</p> - - <p>The - <code><b>--type-regex</b></code>, - <code><b>--accessor-regex</b></code>, - <code><b>--one-accessor-regex</b></code>, - <code><b>--opt-accessor-regex</b></code>, - <code><b>--seq-accessor-regex</b></code>, - <code><b>--modifier-regex</b></code>, - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, - <code><b>--seq-modifier-regex</b></code>, - <code><b>--parser-regex</b></code>, - <code><b>--serializer-regex</b></code>, - <code><b>--const-regex</b></code>, - <code><b>--enumerator-regex</b></code>, and - <code><b>--element-type-regex</b></code> options allow you to - specify extra regular expressions for each name category in - addition to the predefined set that is added depending on - the <code><b>--type-naming</b></code> and - <code><b>--function-naming</b></code> options. Expressions - that are provided with the <code><b>--*-regex</b></code> - options are evaluated prior to any predefined expressions. - This allows you to selectively override some or all of the - predefined transformations. When debugging your own expressions, - it is often useful to see which expressions match which names. - The <code><b>--name-regex-trace</b></code> option allows you - to trace the process of applying regular expressions to - names.</p> - - <p>The value for the <code><b>--*-regex</b></code> options should be - a perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. - Any character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. - All the regular expressions for each category are pushed into a - category-specific stack with the last specified expression - considered first. The first match that succeeds is used. For the - <code><b>--one-accessor-regex</b></code> (accessors with cardinality one), - <code><b>--opt-accessor-regex</b></code> (accessors with cardinality optional), and - <code><b>--seq-accessor-regex</b></code> (accessors with cardinality sequence) - categories the <code><b>--accessor-regex</b></code> expressions are - used as a fallback. For the - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, and - <code><b>--seq-modifier-regex</b></code> - categories the <code><b>--modifier-regex</b></code> expressions are - used as a fallback. For the <code><b>--element-type-regex</b></code> - category the <code><b>--type-regex</b></code> expressions are - used as a fallback.</p> - - <p>The type name expressions (<code><b>--type-regex</b></code>) - are evaluated on the name string that has the following - format:</p> - - <p><code>[<i>namespace</i> ]<i>name</i>[,<i>name</i>][,<i>name</i>][,<i>name</i>]</code></p> - - <p>The element type name expressions - (<code><b>--element-type-regex</b></code>), effective only when - the <code><b>--generate-element-type</b></code> option is specified, - are evaluated on the name string that has the following - format:</p> - - <p><code><i>namespace</i> <i>name</i></code></p> - - <p>In the type name format the <code><i>namespace</i></code> part - followed by a space is only present for global type names. For - global types and elements defined in schemas without a target - namespace, the <code><i>namespace</i></code> part is empty but - the space is still present. In the type name format after the - initial <code><i>name</i></code> component, up to three additional - <code><i>name</i></code> components can be present, separated - by commas. For example:</p> - - <p><code><b>http://example.com/hello type</b></code></p> - <p><code><b>foo</b></code></p> - <p><code><b>foo,iterator</b></code></p> - <p><code><b>foo,const,iterator</b></code></p> - - <p>The following set of predefined regular expressions is used to - transform type names when the upper-camel-case naming convention - is selected:</p> - - <p><code><b>/(?:[^ ]* )?([^,]+)/\u$1/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+)/\u$1\u$2/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3\u$4/</b></code></p> - - <p>The accessor and modifier expressions - (<code><b>--*accessor-regex</b></code> and - <code><b>--*modifier-regex</b></code>) are evaluated on the name string - that has the following format:</p> - - <p><code><i>name</i>[,<i>name</i>][,<i>name</i>]</code></p> - - <p>After the initial <code><i>name</i></code> component, up to two - additional <code><i>name</i></code> components can be present, - separated by commas. For example:</p> - - <p><code><b>foo</b></code></p> - <p><code><b>dom,document</b></code></p> - <p><code><b>foo,default,value</b></code></p> - - <p>The following set of predefined regular expressions is used to - transform accessor names when the <code><b>java</b></code> naming - convention is selected:</p> - - <p><code><b>/([^,]+)/get\u$1/</b></code></p> - <p><code><b>/([^,]+),([^,]+)/get\u$1\u$2/</b></code></p> - <p><code><b>/([^,]+),([^,]+),([^,]+)/get\u$1\u$2\u$3/</b></code></p> - - <p>For the parser, serializer, and enumerator categories, the - corresponding regular expressions are evaluated on local names of - elements and on enumeration values, respectively. For example, the - following predefined regular expression is used to transform parsing - function names when the <code><b>java</b></code> naming convention - is selected:</p> - - <p><code><b>/(.+)/parse\u$1/</b></code></p> - - <p>The const category is used to create C++ constant names for the - element/wildcard/text content ids in ordered types.</p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p> - - <h1>TYPE MAP</h1> - - <p>Type map files are used in C++/Parser to define a mapping between - XML Schema and C++ types. The compiler uses this information - to determine the return types of <code><b>post_*</b></code> - functions in parser skeletons corresponding to XML Schema - types as well as argument types for callbacks corresponding - to elements and attributes of these types.</p> - - <p>The compiler has a set of predefined mapping rules that map - built-in XML Schema types to suitable C++ types (discussed - below) and all other types to <code><b>void</b></code>. - By providing your own type maps you can override these predefined - rules. The format of the type map file is presented below: - </p> - - <pre> -namespace <schema-namespace> [<cxx-namespace>] -{ - (include <file-name>;)* - ([type] <schema-type> <cxx-ret-type> [<cxx-arg-type>];)* -} - </pre> - - <p>Both <code><i><schema-namespace></i></code> and - <code><i><schema-type></i></code> are regex patterns while - <code><i><cxx-namespace></i></code>, - <code><i><cxx-ret-type></i></code>, and - <code><i><cxx-arg-type></i></code> are regex pattern - substitutions. All names can be optionally enclosed in - <code><b>" "</b></code>, for example, to include white-spaces.</p> - - <p><code><i><schema-namespace></i></code> determines XML - Schema namespace. Optional <code><i><cxx-namespace></i></code> - is prefixed to every C++ type name in this namespace declaration. - <code><i><cxx-ret-type></i></code> is a C++ type name that is - used as a return type for the <code><b>post_*</b></code> functions. - Optional <code><i><cxx-arg-type></i></code> is an argument - type for callback functions corresponding to elements and attributes - of this type. If - <code><i><cxx-arg-type></i></code> is not specified, it defaults - to <code><i><cxx-ret-type></i></code> if <code><i><cxx-ret-type></i></code> - ends with <code><b>*</b></code> or <code><b>&</b></code> (that is, - it is a pointer or a reference) and - <code><b>const</b> <i><cxx-ret-type></i><b>&</b></code> - otherwise. - <code><i><file-name></i></code> is a file name either in the - <code><b>" "</b></code> or <code><b>< ></b></code> format - and is added with the <code><b>#include</b></code> directive to - the generated code.</p> - - <p>The <code><b>#</b></code> character starts a comment that ends - with a new line or end of file. To specify a name that contains - <code><b>#</b></code> enclose it in <code><b>" "</b></code>. - For example:</p> - - <pre> -namespace http://www.example.com/xmlns/my my -{ - include "my.hxx"; - - # Pass apples by value. - # - apple apple; - - # Pass oranges as pointers. - # - orange orange_t*; -} - </pre> - - <p>In the example above, for the - <code><b>http://www.example.com/xmlns/my#orange</b></code> - XML Schema type, the <code><b>my::orange_t*</b></code> C++ type will - be used as both return and argument types.</p> - - <p>Several namespace declarations can be specified in a single - file. The namespace declaration can also be completely - omitted to map types in a schema without a namespace. For - instance:</p> - - <pre> -include "my.hxx"; -apple apple; - -namespace http://www.example.com/xmlns/my -{ - orange "const orange_t*"; -} - </pre> - - <p>The compiler has a number of predefined mapping rules that can be - presented as the following map files. The string-based XML Schema - built-in types are mapped to either <code><b>std::string</b></code> - or <code><b>std::wstring</b></code> depending on the character type - selected with the <code><b>--char-type</b></code> option - (<code><b>char</b></code> by default).</p> - - <pre> -namespace http://www.w3.org/2001/XMLSchema -{ - boolean bool bool; - - byte "signed char" "signed char"; - unsignedByte "unsigned char" "unsigned char"; - - short short short; - unsignedShort "unsigned short" "unsigned short"; - - int int int; - unsignedInt "unsigned int" "unsigned int"; - - long "long long" "long long"; - unsignedLong "unsigned long long" "unsigned long long"; - - integer "long long" "long long"; - - negativeInteger "long long" "long long"; - nonPositiveInteger "long long" "long long"; - - positiveInteger "unsigned long long" "unsigned long long"; - nonNegativeInteger "unsigned long long" "unsigned long long"; - - float float float; - double double double; - decimal double double; - - string std::string; - normalizedString std::string; - token std::string; - Name std::string; - NMTOKEN std::string; - NCName std::string; - ID std::string; - IDREF std::string; - language std::string; - anyURI std::string; - - NMTOKENS xml_schema::string_sequence; - IDREFS xml_schema::string_sequence; - - QName xml_schema::qname; - - base64Binary std::auto_ptr<xml_schema::buffer> - std::auto_ptr<xml_schema::buffer>; - hexBinary std::auto_ptr<xml_schema::buffer> - std::auto_ptr<xml_schema::buffer>; - - date xml_schema::date; - dateTime xml_schema::date_time; - duration xml_schema::duration; - gDay xml_schema::gday; - gMonth xml_schema::gmonth; - gMonthDay xml_schema::gmonth_day; - gYear xml_schema::gyear; - gYearMonth xml_schema::gyear_month; - time xml_schema::time; -} - </pre> - - <p>The last predefined rule maps anything that wasn't mapped by - previous rules to <code><b>void</b></code>:</p> - - <pre> -namespace .* -{ - .* void void; -} - </pre> - - - <p>When you provide your own type maps with the - <code><b>--type-map</b></code> option, they are evaluated first. - This allows you to selectively override predefined rules.</p> - - <h1>REGEX AND SHELL QUOTING</h1> - - <p>When entering a regular expression argument in the shell - command line it is often necessary to use quoting (enclosing - the argument in <code><b>" "</b></code> or - <code><b>' '</b></code>) in order to prevent the shell - from interpreting certain characters, for example, spaces as - argument separators and <code><b>$</b></code> as variable - expansions.</p> - - <p>Unfortunately it is hard to achieve this in a manner that is - portable across POSIX shells, such as those found on - GNU/Linux and UNIX, and Windows shell. For example, if you - use <code><b>" "</b></code> for quoting you will get a - wrong result with POSIX shells if your expression contains - <code><b>$</b></code>. The standard way of dealing with this - on POSIX systems is to use <code><b>' '</b></code> instead. - Unfortunately, Windows shell does not remove <code><b>' '</b></code> - from arguments when they are passed to applications. As a result you - may have to use <code><b>' '</b></code> for POSIX and - <code><b>" "</b></code> for Windows (<code><b>$</b></code> is - not treated as a special character on Windows).</p> - - <p>Alternatively, you can save regular expression options into - a file, one option per line, and use this file with the - <code><b>--options-file</b></code> option. With this approach - you don't need to worry about shell quoting.</p> - - <h1>DIAGNOSTICS</h1> - - <p>If the input file is not a valid W3C XML Schema definition, - <code><b>xsd</b></code> will issue diagnostic messages to STDERR - and exit with non-zero exit code.</p> - - <h1>BUGS</h1> - - <p>Send bug reports to the - <a href="mailto:xsd-users@codesynthesis.com">xsd-users@codesynthesis.com</a> mailing list.</p> - - </div> - <div id="footer"> - ©2005-2014 <a href="http://codesynthesis.com">CODE SYNTHESIS TOOLS CC</a> - - <div id="terms"> - Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href="http://codesynthesis.com/licenses/fdl-1.2.txt">GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </div> - </div> -</div> -</body> -</html> diff --git a/xsd/doc/xsd-parser-header.1 b/xsd/doc/xsd-parser-header.1 deleted file mode 100644 index e0cf84e..0000000 --- a/xsd/doc/xsd-parser-header.1 +++ /dev/null @@ -1,4 +0,0 @@ -\" -\" C++/Parser -\" -.SS cxx-parser command options diff --git a/xsd/doc/xsd-parser-header.xhtml b/xsd/doc/xsd-parser-header.xhtml deleted file mode 100644 index 94fa2c1..0000000 --- a/xsd/doc/xsd-parser-header.xhtml +++ /dev/null @@ -1 +0,0 @@ - <h2>CXX-PARSER COMMAND OPTIONS</h2> diff --git a/xsd/doc/xsd-prologue.1 b/xsd/doc/xsd-prologue.1 deleted file mode 100644 index f5c93b8..0000000 --- a/xsd/doc/xsd-prologue.1 +++ /dev/null @@ -1,119 +0,0 @@ -.\" Process this file with -.\" groff -man -Tascii xsd.1 -.\" -.TH XSD 1 "July 2014" "XSD 4.0.0" -.SH NAME -xsd \- W3C XML Schema to C++ Compiler -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH SYNOPSIS -.\"-------------------------------------------------------------------- -.B xsd -.I command -.B [ -.I options -.B ] -.I file -.B [ -.I file -.B ...] -.in -.B xsd help -.B [ -.I command -.B ] -.in -.B xsd version -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH DESCRIPTION -.\"-------------------------------------------------------------------- -.B xsd -generates vocabulary-specific, statically-typed C++ mapping from W3C XML -Schema definitions. Particular mapping to produce is selected by a -.IR command . -Each mapping has a number of mapping-specific -.I options -that should appear, if any, after the -.IR command . -Input files should be W3C XML Schema definitions. The exact set of the -generated files depends on the selected mapping and options. -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH COMMANDS -.\"-------------------------------------------------------------------- -.IP \fBcxx-tree\fR -Generate the C++/Tree mapping. For each input file in the form -.B name.xsd -the following C++ files are generated: -.B name.hxx -(header file), -.B name.ixx -(inline file, generated only if the -.B --generate-inline -option is specified), -.B name.cxx -(source file), and -.B name-fwd.hxx -(forward declaration file, generated only if the -.B --generate-forward -option is specified). - -.IP \fBcxx-parser\fR -Generate the C++/Parser mapping. For each input file in the form -.B name.xsd -the following C++ files are generated: -.B name-pskel.hxx -(parser skeleton header file), -.B name-pskel.ixx -(parser skeleton inline file, generated only if the -.B --generate-inline -option is specified), and -.B name-pskel.cxx -(parser skeleton source file). If the -.B --generate-noop-impl -or -.B --generate-print-impl -option is specified, the following additional sample implementation files -are generated: -.B name-pimpl.hxx -(parser implementation header file) and -.B name-pimpl.cxx -(parser implementation source file). If the -.B --generate-test-driver -option is specified, the additional -.B name-driver.cxx -test driver file is generated. - -.IP \fBhelp\fR -Print usage information and exit. Use -.PP -.RS -.RS 3 -.B xsd help -.I command -.RE -.PP -for command-specific help. -.RE -.IP \fBversion\fR -Print version and exit. -.\"-------------------------------------------------------------------- -.SH OPTIONS -.\"-------------------------------------------------------------------- -Command-specific -.IR options , -if any, should appear after the corresponding -.IR command . - -.\" -.\" Common options. -.\" -.SS common options -. diff --git a/xsd/doc/xsd-prologue.xhtml b/xsd/doc/xsd-prologue.xhtml deleted file mode 100644 index 4be8de7..0000000 --- a/xsd/doc/xsd-prologue.xhtml +++ /dev/null @@ -1,120 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - <title>XSD 4.0.0 Compiler Command Line Manual</title> - - <meta name="copyright" content="© 2005-2014 Code Synthesis Tools CC"/> - <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,code,generator,manual,man,page"/> - <meta name="description" content="XSD Compiler Command Line Manual"/> - - <link rel="stylesheet" type="text/css" href="default.css" /> - -<style type="text/css"> - - #synopsis { - list-style-type: none; - } - - #synopsis li { - padding-top : 0.0em; - padding-bottom : 0.0em; - } - - #commands dt { - padding-top : 0.4em; - } - - #commands dd { - padding-bottom : 0.4em; - padding-left : 2em; - } - - .options dt { - padding-top : 0.4em; - } - - .options dd { - padding-top : 0.1em; - padding-bottom : 0.4em; - padding-left : 1.4em; - } - -</style> -</head> - -<body> -<div id="container"> - <div id="content"> - - <h1>NAME</h1> - - <p>xsd - W3C XML Schema to C++ Compiler</p> - - <h1>SYNOPSIS</h1> - - <dl id="synopsis"> - <dt><code><b>xsd</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt> - <dt><code><b>xsd help</b> [<i>command</i>]</code></dt> - <dt><code><b>xsd version</b></code></dt> - </dl> - - <h1>DESCRIPTION</h1> - - <p><code><b>xsd</b></code> generates vocabulary-specific, statically-typed - C++ mapping from W3C XML Schema definitions. Particular mapping to - produce is selected by a <code><i>command</i></code>. Each mapping has - a number of mapping-specific <code><i>options</i></code> that should - appear, if any, after the <code><i>command</i></code>. Input files should - be W3C XML Schema definitions. The exact set of the generated files depends - on the selected mapping and options.</p> - - <h1>COMMANDS</h1> - - <dl id="commands"> - <dt><code><b>cxx-tree</b></code></dt> - <dd>Generate the C++/Tree mapping. For each input file in the form - <code><b>name.xsd</b></code> the following C++ files are generated: - <code><b>name.hxx</b></code> (header file), - <code><b>name.ixx</b></code> (inline file, generated only if the - <code><b>--generate-inline</b></code> option is specified), - <code><b>name.cxx</b></code> (source file), and - <code><b>name-fwd.hxx</b></code> (forward declaration file, generated - only if the <code><b>--generate-forward</b></code> option is - specified).</dd> - - <dt><code><b>cxx-parser</b></code></dt> - <dd>Generate the C++/Parser mapping. For each input file in the form - <code><b>name.xsd</b></code> the following C++ files are generated: - <code><b>name-pskel.hxx</b></code> (parser skeleton header file), - <code><b>name-pskel.ixx</b></code> (parser skeleton inline file, - generated only if the <code><b>--generate-inline</b></code> - option is specified), and - <code><b>name-pskel.cxx</b></code> (parser skeleton source file). - If the <code><b>--generate-noop-impl</b></code> or - <code><b>--generate-print-impl</b></code> option is specified, - the following additional sample implementation files are generated: - <code><b>name-pimpl.hxx</b></code> (parser implementation header - file) and - <code><b>name-pimpl.cxx</b></code> (parser implementation source - file). If the <code><b>--generate-test-driver</b></code> option - is specified, the additional <code><b>name-driver.cxx</b></code> - test driver file is generated.</dd> - - <dt><code><b>help</b></code></dt> - <dd>Print usage information and exit. Use - <p><code><b>xsd help</b> <i>command</i></code></p> - for command-specific help. - </dd> - - <dt><code><b>version</b></code></dt> - <dd>Print version and exit.</dd> - </dl> - - <h1>OPTIONS</h1> - - <p>Command-specific <code><i>options</i></code>, if any, should appear - after the corresponding <code><i>command</i></code>.</p> - - <h2>COMMON OPTIONS</h2> diff --git a/xsd/doc/xsd-tree-header.1 b/xsd/doc/xsd-tree-header.1 deleted file mode 100644 index b9146a7..0000000 --- a/xsd/doc/xsd-tree-header.1 +++ /dev/null @@ -1,4 +0,0 @@ -.\" -.\" C++/Tree options. -.\" -.SS cxx-tree command options diff --git a/xsd/doc/xsd-tree-header.xhtml b/xsd/doc/xsd-tree-header.xhtml deleted file mode 100644 index 73f9c99..0000000 --- a/xsd/doc/xsd-tree-header.xhtml +++ /dev/null @@ -1 +0,0 @@ - <h2>CXX-TREE COMMAND OPTIONS</h2> diff --git a/xsd/doc/xsd.1 b/xsd/doc/xsd.1 deleted file mode 100644 index dc5b38a..0000000 --- a/xsd/doc/xsd.1 +++ /dev/null @@ -1,1648 +0,0 @@ -.\" Process this file with -.\" groff -man -Tascii xsd.1 -.\" -.TH XSD 1 "July 2014" "XSD 4.0.0" -.SH NAME -xsd \- W3C XML Schema to C++ Compiler -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH SYNOPSIS -.\"-------------------------------------------------------------------- -.B xsd -.I command -.B [ -.I options -.B ] -.I file -.B [ -.I file -.B ...] -.in -.B xsd help -.B [ -.I command -.B ] -.in -.B xsd version -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH DESCRIPTION -.\"-------------------------------------------------------------------- -.B xsd -generates vocabulary-specific, statically-typed C++ mapping from W3C XML -Schema definitions. Particular mapping to produce is selected by a -.IR command . -Each mapping has a number of mapping-specific -.I options -that should appear, if any, after the -.IR command . -Input files should be W3C XML Schema definitions. The exact set of the -generated files depends on the selected mapping and options. -.\" -.\" -.\" -.\"-------------------------------------------------------------------- -.SH COMMANDS -.\"-------------------------------------------------------------------- -.IP \fBcxx-tree\fR -Generate the C++/Tree mapping. For each input file in the form -.B name.xsd -the following C++ files are generated: -.B name.hxx -(header file), -.B name.ixx -(inline file, generated only if the -.B --generate-inline -option is specified), -.B name.cxx -(source file), and -.B name-fwd.hxx -(forward declaration file, generated only if the -.B --generate-forward -option is specified). - -.IP \fBcxx-parser\fR -Generate the C++/Parser mapping. For each input file in the form -.B name.xsd -the following C++ files are generated: -.B name-pskel.hxx -(parser skeleton header file), -.B name-pskel.ixx -(parser skeleton inline file, generated only if the -.B --generate-inline -option is specified), and -.B name-pskel.cxx -(parser skeleton source file). If the -.B --generate-noop-impl -or -.B --generate-print-impl -option is specified, the following additional sample implementation files -are generated: -.B name-pimpl.hxx -(parser implementation header file) and -.B name-pimpl.cxx -(parser implementation source file). If the -.B --generate-test-driver -option is specified, the additional -.B name-driver.cxx -test driver file is generated. - -.IP \fBhelp\fR -Print usage information and exit. Use -.PP -.RS -.RS 3 -.B xsd help -.I command -.RE -.PP -for command-specific help. -.RE -.IP \fBversion\fR -Print version and exit. -.\"-------------------------------------------------------------------- -.SH OPTIONS -.\"-------------------------------------------------------------------- -Command-specific -.IR options , -if any, should appear after the corresponding -.IR command . - -.\" -.\" Common options. -.\" -.SS common options -. -.\" -.\" The following documentation was generated by CLI, a command -.\" line interface compiler for C++. -.\" -.IP "\fB--std\fP \fIversion\fP" -Specify the C++ standard that the generated code should conform to\. Valid -values are \fBc++98\fP (default) and \fBc++11\fP\. - -The C++ standard affects various aspects of the generated code that are -discussed in more detail in various mapping-specific documentation\. -Overall, when C++11 is selected, the generated code relies on the move -semantics and uses \fBstd::unique_ptr\fP instead of deprecated -\fBstd::auto_ptr\fP\. - -When the C++11 mode is selected, you normally don't need to perform any -extra steps other than enable C++11 in your C++ compiler, if required\. The -XSD compiler will automatically add the necessary macro defines to the -generated header files that will switch the header-only XSD runtime library -(\fBlibxsd\fP) to the C++11 mode\. However, if you include any of the XSD -runtime headers directly in your application (normally you just include the -generated headers), then you will need to define the \fBXSD_CXX11\fP macro -for your entire project\. - -.IP "\fB--char-type\fP \fItype\fP" -Generate code using the provided character \fItype\fP instead of the default -\fBchar\fP\. Valid values are \fBchar\fP and \fBwchar_t\fP\. - -.IP "\fB--char-encoding\fP \fIenc\fP" -Specify the character encoding that should be used in the generated code\. -Valid values for the \fBchar\fP character type are \fButf8\fP (default), -\fBiso8859-1\fP, \fBlcp\fP (Xerces-C++ local code page), and \fBcustom\fP\. -If you pass \fBcustom\fP as the value then you will need to include the -transcoder implementation header for your encoding at the beginning of the -generated header files (see the \fB--hxx-prologue\fP option)\. - -For the \fBwchar_t\fP character type the only valid value is \fBauto\fP and -the encoding is automatically selected between UTF-16 and UTF-32/UCS-4, -depending on the \fBwchar_t\fP type size\. - -.IP "\fB--output-dir\fP \fIdir\fP" -Write generated files to \fIdir\fP instead of the current directory\. - -.IP "\fB--generate-inline\fP" -Generate simple functions inline\. This option triggers creation of the -inline file\. - -.IP "\fB--generate-xml-schema\fP" -Generate a C++ header file as if the schema being compiled defines the XML -Schema namespace\. For the C++/Tree mapping, the resulting file will contain -definitions for all XML Schema built-in types\. For the C++/Parser mapping, -the resulting file will contain definitions for all the parser skeletons and -implementations corresponding to the XML Schema built-in types\. - -The schema file provided to the compiler need not exist and is only used to -derive the name of the resulting header file\. Use the -\fB--extern-xml-schema\fP option to include this file in the generated files -for other schemas\. - -.IP "\fB--extern-xml-schema\fP \fIfile\fP" -Include a header file derived from \fIfile\fP instead of generating the XML -Schema namespace mapping inline\. The provided file need not exist and is -only used to derive the name of the included header file\. Use the -\fB--generate-xml-schema\fP option to generate this header file\. - -.IP "\fB--namespace-map\fP \fIxns\fP=\fIcns\fP" -Map XML Schema namespace \fIxns\fP to C++ namespace \fIcns\fP\. Repeat this -option to specify mapping for more than one XML Schema namespace\. For -example, the following option: - -\fB--namespace-map http://example\.com/foo/bar=foo::bar\fP - -Will map the \fBhttp://example\.com/foo/bar\fP XML Schema namespace to the -\fBfoo::bar\fP C++ namespace\. - -.IP "\fB--namespace-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema namespace names to C++ namespace names\. \fIregex\fP is a Perl-like -regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Any character can be -used as a delimiter instead of \fB/\fP\. Escaping of the delimiter character -in \fIpattern\fP or \fIreplacement\fP is not supported\. - -All the regular expressions are pushed into a stack with the last specified -expression considered first\. The first match that succeeds is used\. -Regular expressions are applied to a string in the form - -\fIfilename\fP \fInamespace\fP - -For example, if you have file \fBhello\.xsd\fP with namespace -\fBhttp://example\.com/hello\fP and you run \fBxsd\fP on this file, then the -string in question will be: - -\fBhello\.xsd\. http://example\.com/hello\fP - -For the built-in XML Schema namespace the string is: - -\fBXMLSchema\.xsd http://www\.w3\.org/2001/XMLSchema\fP - -The following three steps are performed for each regular expression until -the match is found: - -1\. The expression is applied and if the result is empty the next expression -is considered\. - -2\. All \fB/\fP are replaced with \fB::\fP\. - -3\. The result is verified to be a valid C++ scope name (e\.g\., -\fBfoo::bar\fP)\. If this test succeeds, the result is used as a C++ -namespace name\. - -As an example, the following expression maps XML Schema namespaces in the -form \fBhttp://example\.com/foo/bar\fP to C++ namespaces in the form -\fBfoo::bar\fP: - -\fB%\.* http://example\.com/(\.+)%$1%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--namespace-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--namespace-regex\fP option\. Use this option to find out why your -regular expressions don't do what you expected them to do\. - -.IP "\fB--reserved-name\fP \fIn\fP[=\fIr\fP]" -Add name \fIn\fP to the list of names that should not be used as -identifiers\. The name can optionally be followed by \fB=\fP and the -replacement name \fIr\fP that should be used instead\. All the C++ keywords -are already in this list\. - -.IP "\fB--include-with-brackets\fP" -Use angle brackets (<>) instead of quotes ("") in generated \fB#include\fP -directives\. - -.IP "\fB--include-prefix\fP \fIprefix\fP" -Add \fIprefix\fP to generated \fB#include\fP directive paths\. - -For example, if you had the following import element in your schema - -\fB<import namespace="\.\.\." schemaLocation="base\.xsd"/>\fP - -and compiled this fragment with \fB--include-prefix schemas/\fP, then the -include directive in the generated code would be: - -\fB#include "schemas/base\.hxx"\fP - -.IP "\fB--include-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to transform -\fB#include\fP directive paths\. \fIregex\fP is a Perl-like regular -expression in the form \fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. -Any character can be used as a delimiter instead of \fB/\fP\. Escaping of -the delimiter character in \fIpattern\fP or \fIreplacement\fP is not -supported\. - -All the regular expressions are pushed into a stack with the last specified -expression considered first\. The first match that succeeds is used\. - -As an example, the following expression transforms paths in the form -\fBschemas/foo/bar\fP to paths in the form \fBgenerated/foo/bar\fP: - -\fB%schemas/(\.+)%generated/$1%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--include-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--include-regex\fP option\. Use this option to find out why your regular -expressions don't do what you expected them to do\. - -.IP "\fB--guard-prefix\fP \fIprefix\fP" -Add \fIprefix\fP to generated header inclusion guards\. The prefix is -transformed to upper case and characters that are illegal in a preprocessor -macro name are replaced with underscores\. If this option is not specified -then the directory part of the input schema file is used as a prefix\. - -.IP "\fB--hxx-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB\.hxx\fP to -construct the name of the header file\. Note that this suffix is also used -to construct names of header files corresponding to included/imported -schemas\. - -.IP "\fB--ixx-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB\.ixx\fP to -construct the name of the inline file\. - -.IP "\fB--cxx-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB\.cxx\fP to -construct the name of the source file\. - -.IP "\fB--fwd-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB-fwd\.hxx\fP to -construct the name of the forward declaration file\. - -.IP "\fB--hxx-regex\fP \fIregex\fP" -Use the provided expression to construct the name of the header file\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Note that this -expression is also used to construct names of header files corresponding to -included/imported schemas\. See also the REGEX AND SHELL QUOTING section -below\. - -.IP "\fB--ixx-regex\fP \fIregex\fP" -Use the provided expression to construct the name of the inline file\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. See also the REGEX AND -SHELL QUOTING section below\. - -.IP "\fB--cxx-regex\fP \fIregex\fP" -Use the provided expression to construct the name of the source file\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. See also the REGEX AND -SHELL QUOTING section below\. - -.IP "\fB--fwd-regex\fP \fIregex\fP" -Use the provided expression to construct the name of the forward declaration -file\. \fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. See also the REGEX AND -SHELL QUOTING section below\. - -.IP "\fB--hxx-prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of the header file\. - -.IP "\fB--ixx-prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of the inline file\. - -.IP "\fB--cxx-prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of the source file\. - -.IP "\fB--fwd-prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of the forward declaration file\. - -.IP "\fB--prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of each generated file for which there is -no file-specific prologue\. - -.IP "\fB--hxx-epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of the header file\. - -.IP "\fB--ixx-epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of the inline file\. - -.IP "\fB--cxx-epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of the source file\. - -.IP "\fB--fwd-epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of the forward declaration file\. - -.IP "\fB--epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of each generated file for which there is no -file-specific epilogue\. - -.IP "\fB--hxx-prologue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the beginning of the header file\. - -.IP "\fB--ixx-prologue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the beginning of the inline file\. - -.IP "\fB--cxx-prologue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the beginning of the source file\. - -.IP "\fB--fwd-prologue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the beginning of the forward -declaration file\. - -.IP "\fB--prologue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the beginning of each generated file -for which there is no file-specific prologue file\. - -.IP "\fB--hxx-epilogue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the end of the header file\. - -.IP "\fB--ixx-epilogue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the end of the inline file\. - -.IP "\fB--cxx-epilogue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the end of the source file\. - -.IP "\fB--fwd-epilogue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the end of the forward declaration -file\. - -.IP "\fB--epilogue-file\fP \fIfile\fP" -Insert the content of the \fIfile\fP at the end of each generated file for -which there is no file-specific epilogue file\. - -.IP "\fB--export-symbol\fP \fIsymbol\fP" -Insert \fIsymbol\fP in places where DLL export/import control statements -(\fB__declspec(dllexport/dllimport)\fP) are necessary\. - -.IP "\fB--export-xml-schema\fP" -Export/import types in the XML Schema namespace using the export symbol -provided with the \fB--export-symbol\fP option\. The \fBXSD_NO_EXPORT\fP -macro can be used to omit this code during C++ compilation, which may be -useful if you would like to use the same generated code across multiple -platforms\. - -.IP "\fB--export-maps\fP" -Export polymorphism support maps from a Win32 DLL into which this generated -code is placed\. This is necessary when your type hierarchy is split across -several DLLs since otherwise each DLL will have its own set of maps\. In -this situation the generated code for the DLL which contains base types -and/or substitution group heads should be compiled with this option and the -generated code for all other DLLs should be compiled with -\fB--import-maps\fP\. This option is only valid together with -\fB--generate-polymorphic\fP\. The \fBXSD_NO_EXPORT\fP macro can be used to -omit this code during C++ compilation, which may be useful if you would like -to use the same generated code across multiple platforms\. - -.IP "\fB--import-maps\fP" -Import polymorphism support maps to a Win32 DLL or executable into which -this generated code is linked\. See the \fB--export-maps\fP option -documentation for details\. This options is only valid together with -\fB--generate-polymorphic\fP\. The \fBXSD_NO_EXPORT\fP macro can be used to -omit this code during C++ compilation, which may be useful if you would like -to use the same generated code across multiple platforms\. - -.IP "\fB--generate-dep\fP" -Generate \fBmake\fP dependency information\. This option triggers the -creation of the \fB\.d\fP file containing the dependencies of the generated -files on the main schema file as well as all the schema files that it -includes/imports, transitively\. This dependency file is then normally -included into the main \fBmakefile\fP to implement automatic dependency -tracking\. - -Note also that automatic dependency generation is not supported in the -file-per-type mode (\fB--file-per-type\fP)\. In this case, all the generated -files are produced with a single compiler invocation and depend on all the -schemas\. As a result, it is easier to establish such a dependency manually, -perhaps with the help of the \fB--file-list*\fP options\. - -.IP "\fB--generate-dep-only\fP" -Generate \fBmake\fP dependency information only\. - -.IP "\fB--dep-phony\fP" -Generate phony targets for included/imported schema files, causing each to -depend on nothing\. Such dummy rules work around \fBmake\fP errors caused by -the removal of schema files without also updating the dependency file to -match\. - -.IP "\fB--dep-target\fP \fItarget\fP" -Change the target of the dependency rule\. By default it contains all the -generated C++ files as well as the dependency file itself, without any -directory prefixes\. If you require multiple targets, then you can specify -them as a single, space-separated argument or you can repeat this option -multiple times\. - -.IP "\fB--dep-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB\.d\fP to construct -the name of the dependency file\. - -.IP "\fB--dep-regex\fP \fIregex\fP" -Use the provided expression to construct the name of the dependency file\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. See also the REGEX AND -SHELL QUOTING section below\. - -.IP "\fB--disable-warning\fP \fIwarn\fP" -Disable printing warning with id \fIwarn\fP\. If \fBall\fP is specified for -the warning id then all warnings are disabled\. - -.IP "\fB--options-file\fP \fIfile\fP" -Read additional options from \fIfile\fP\. Each option should appearing on a -separate line optionally followed by space and an option value\. Empty lines -and lines starting with \fB#\fP are ignored\. Option values can be enclosed -in double (\fB"\fP) or single (\fB'\fP) quotes to preserve leading and -trailing whitespaces as well as to specify empty values\. If the value -itself contains trailing or leading quotes, enclose it with an extra pair of -quotes, for example \fB'"x"'\fP\. Non-leading and non-trailing quotes are -interpreted as being part of the option value\. - -The semantics of providing options in a file is equivalent to providing the -same set of options in the same order on the command line at the point where -the \fB--options-file\fP option is specified except that the shell escaping -and quoting is not required\. You can repeat this option to specify more -than one options file\. - -.IP "\fB--show-sloc\fP" -Show the number of generated physical source lines of code (SLOC)\. - -.IP "\fB--sloc-limit\fP \fInum\fP" -Check that the number of generated physical source lines of code (SLOC) does -not exceed \fInum\fP\. - -.IP "\fB--proprietary-license\fP" -Indicate that the generated code is licensed under a proprietary license -instead of the GPL\. - -.IP "\fB--custom-literals\fP \fIfile\fP" -Load custom XML string to C++ literal mappings from \fIfile\fP\. This -mechanism can be useful if you are using a custom character encoding and -some of the strings in your schemas, for example element/attribute names or -enumeration values, contain non-ASCII characters\. In this case you will -need to provide a custom mapping to C++ literals for such strings\. The -format of this file is specified in the \fBcustom-literals\.xsd\fP XML -Schema file that can be found in the documentation directory\. - -.IP "\fB--preserve-anonymous\fP" -Preserve anonymous types\. By default anonymous types are automatically -named with names derived from the enclosing elements/attributes\. Because -mappings implemented by this compiler require all types to be named, this -option is only useful if you want to make sure your schemas don't have -anonymous types\. - -.IP "\fB--show-anonymous\fP" -Show elements and attributes that are of anonymous types\. This option only -makes sense together with the \fB--preserve-anonymous\fP option\. - -.IP "\fB--anonymous-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to derive names for -anonymous types from the enclosing attributes/elements\. \fIregex\fP is a -Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Any character can be -used as a delimiter instead of \fB/\fP\. Escaping of the delimiter character -in \fIpattern\fP or \fIreplacement\fP is not supported\. - -All the regular expressions are pushed into a stack with the last specified -expression considered first\. The first match that succeeds is used\. -Regular expressions are applied to a string in the form - -\fIfilename\fP \fInamespace\fP \fIxpath\fP - -For instance: - -\fBhello\.xsd http://example\.com/hello element\fP - -\fBhello\.xsd http://example\.com/hello type/element\fP - -As an example, the following expression makes all the derived names start -with capital letters\. This could be useful when your naming convention -requires type names to start with capital letters: - -\fB%\.* \.* (\.+/)*(\.+)%\eu$2%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--anonymous-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--anonymous-regex\fP option\. Use this option to find out why your -regular expressions don't do what you expected them to do\. - -.IP "\fB--location-map\fP \fIol\fP=\fInl\fP" -Map the original schema location \fIol\fP that is specified in the XML -Schema include or import elements to new schema location \fInl\fP\. Repeat -this option to map more than one schema location\. For example, the -following option maps the \fBhttp://example\.com/foo\.xsd\fP URL to the -\fBfoo\.xsd\fP local file\. - -\fB--location-map http://example\.com/foo\.xsd=foo\.xsd\fP - -.IP "\fB--location-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to map schema -locations that are specified in the XML Schema include or import elements\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Any character can be -used as a delimiter instead of \fB/\fP\. Escaping of the delimiter character -in \fIpattern\fP or \fIreplacement\fP is not supported\. All the regular -expressions are pushed into a stack with the last specified expression -considered first\. The first match that succeeds is used\. - -For example, the following expression maps URL locations in the form -\fBhttp://example\.com/foo/bar\.xsd\fP to local files in the form -\fBbar\.xsd\fP: - -\fB%http://\.+/(\.+)%$1%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--location-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--location-regex\fP option\. Use this option to find out why your regular -expressions don't do what you expected them to do\. - -.IP "\fB--file-per-type\fP" -Generate a separate set of C++ files for each type defined in XML Schema\. -Note that in this mode you only need to compile the root schema(s) and the -code will be generated for all included and imported schemas\. This -compilation mode is primarily useful when some of your schemas cannot be -compiled separately or have cyclic dependencies which involve type -inheritance\. Other options related to this mode are: -\fB--type-file-regex\fP, \fB--schema-file-regex\fP, \fB--fat-type-file\fP, -and \fB--file-list\fP\. - -.IP "\fB--type-file-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate type -names to file names when the \fB--file-per-type\fP option is specified\. -\fIregex\fP is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Any character can be -used as a delimiter instead of \fB/\fP\. Escaping of the delimiter character -in \fIpattern\fP or \fIreplacement\fP is not supported\. All the regular -expressions are pushed into a stack with the last specified expression -considered first\. The first match that succeeds is used\. Regular -expressions are applied to a string in the form - -\fInamespace\fP \fItype-name\fP - -For example, the following expression maps type \fBfoo\fP that is defined in -the \fBhttp://example\.com/bar\fP namespace to file name \fBbar-foo\fP: - -\fB%http://example\.com/(\.+) (\.+)%$1-$2%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--type-file-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--type-file-regex\fP option\. Use this option to find out why your -regular expressions don't do what you expected them to do\. - -.IP "\fB--schema-file-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate schema -file names when the \fB--file-per-type\fP option is specified\. \fIregex\fP -is a Perl-like regular expression in the form -\fB/\fP\fIpattern\fP\fB/\fP\fIreplacement\fP\fB/\fP\. Any character can be -used as a delimiter instead of \fB/\fP\. Escaping of the delimiter character -in \fIpattern\fP or \fIreplacement\fP is not supported\. All the regular -expressions are pushed into a stack with the last specified expression -considered first\. The first match that succeeds is used\. Regular -Expressions are applied to the absolute filesystem path of a schema file and -the result, including the directory part, if any, is used to derive the -\fB#include\fP directive paths as well as the generated C++ file paths\. -This option, along with \fB--type-file-regex\fP are primarily useful to -place the generated files into subdirectories or to resolve file name -conflicts\. - -For example, the following expression maps schema files in the -\fBfoo/1\.0\.0/\fP subdirectory to the files in the \fBfoo/\fP -subdirectory\. As a result, the \fB#include\fP directive paths for such -schemas will be in the \fBfoo/schema\.hxx\fP form and the generated C++ -files will be placed into the \fBfoo/\fP subdirectory: - -\fB%\.*/foo/1\.0\.0/(\.+)%foo/$1%\fP - -See also the REGEX AND SHELL QUOTING section below\. - -.IP "\fB--schema-file-regex-trace\fP" -Trace the process of applying regular expressions specified with the -\fB--schema-file-regex\fP option\. Use this option to find out why your -regular expressions don't do what you expected them to do\. - -.IP "\fB--fat-type-file\fP" -Generate code corresponding to global elements into type files instead of -schema files when the \fB--type-file-regex\fP option is specified\. This -option is primarily useful when trying to minimize the amount of object code -that is linked to an executable by packaging compiled generated code into a -static (archive) library\. - -.IP "\fB--file-list\fP \fIfile\fP" -Write a list of generated C++ files to \fIfile\fP\. This option is primarily -useful in the file-per-type compilation mode (\fB--file-per-type\fP) to -create a list of generated C++ files, for example, as a makefile fragment\. - -.IP "\fB--file-list-prologue\fP \fItext\fP" -Insert \fItext\fP at the beginning of the file list\. As a convenience, all -occurrences of the \fB\en\fP character sequence in \fItext\fP are replaced -with new lines\. This option can, for example, be used to assign the -generated file list to a makefile variable\. - -.IP "\fB--file-list-epilogue\fP \fItext\fP" -Insert \fItext\fP at the end of the file list\. As a convenience, all -occurrences of the \fB\en\fP character sequence in \fItext\fP are replaced -with new lines\. - -.IP "\fB--file-list-delim\fP \fItext\fP" -Delimit file names written to the file list with \fItext\fP instead of new -lines\. As a convenience, all occurrences of the \fB\en\fP character -sequence in \fItext\fP are replaced with new lines\. - -.\" -.\" C++/Tree options. -.\" -.SS cxx-tree command options -.\" -.\" The following documentation was generated by CLI, a command -.\" line interface compiler for C++. -.\" -.IP "\fB--generate-polymorphic\fP" -Generate polymorphism-aware code\. Specify this option if you use -substitution groups or \fBxsi:type\fP\. Use the \fB--polymorphic-type\fP or -\fB--polymorphic-type-all\fP option to specify which type hierarchies are -polymorphic\. - -.IP "\fB--polymorphic-type\fP \fItype\fP" -Indicate that \fItype\fP is a root of a polymorphic type hierarchy\. The -compiler can often automatically determine which types are polymorphic based -on the substitution group declarations\. However, you may need to use this -option if you are not using substitution groups or if substitution groups -are defined in another schema\. You need to specify this option when -compiling every schema file that references \fItype\fP\. The \fItype\fP -argument is an XML Schema type name that can be optionally qualified with a -namespace in the \fInamespace\fP\fB#\fP\fIname\fP form\. - -.IP "\fB--polymorphic-type-all\fP" -Indicate that all types should be treated as polymorphic\. - -.IP "\fB--polymorphic-plate\fP \fInum\fP" -Specify the polymorphic map plate the generated code should register on\. -This functionality is primarily useful to segregate multiple schemas that -define the same polymorphic types\. - -.IP "\fB--ordered-type\fP \fItype\fP" -Indicate that element order in \fItype\fP is significant\. An example would -be a complex type with unbounded choice as a content model where the element -order in XML has application-specific semantics\. For ordered types the -compiler generates a special container data member and a corresponding set -of accessors and modifiers that are used to capture the order of elements -and, for mixed content, of text\. - -The \fItype\fP argument is an XML Schema type name that can be optionally -qualified with a namespace in the \fInamespace\fP\fB#\fP\fIname\fP form\. -Note also that you will need to specify this option when compiling every -schema file that has other ordered types derived from this type\. - -.IP "\fB--ordered-type-derived\fP" -Automatically treat types derived from ordered bases as also ordered\. This -is primarily useful if you would like to be able to iterate over the -complete content using the content order container\. - -.IP "\fB--ordered-type-mixed\fP" -Automatically treat complex types with mixed content as ordered\. - -.IP "\fB--ordered-type-all\fP" -Indicate that element order in all types is significant\. - -.IP "\fB--order-container\fP \fItype\fP" -Specify a custom class template that should be used as a container for the -content order in ordered types instead of the default \fBstd::vector\fP\. -See \fB--ordered-type\fP for more information on ordered type\. This option -is primarily useful if you need to perform more complex lookups in the -content order container, for example by element id\. In this case, a -container like Boost multi-index may be more convenient\. Note that if using -a custom container, you will also most likely need to include the relevant -headers using the \fB--hxx-prologue*\fP options\. - -.IP "\fB--generate-serialization\fP" -Generate serialization functions\. Serialization functions convert the -object model back to XML\. - -.IP "\fB--generate-ostream\fP" -Generate ostream insertion operators (\fBoperator<<\fP) for generated -types\. This allows one to easily print a fragment or the whole object model -for debugging or logging\. - -.IP "\fB--generate-doxygen\fP" -Generate documentation comments suitable for extraction by the Doxygen -documentation system\. Documentation from annotations is added to the -comments if present in the schema\. - -.IP "\fB--generate-comparison\fP" -Generate comparison operators (\fBoperator==\fP and \fBoperator!=\fP) for -complex types\. Comparison is performed member-wise\. - -.IP "\fB--generate-default-ctor\fP" -Generate default constructors even for types that have required members\. -Required members of an instance constructed using such a constructor are not -initialized and accessing them results in undefined behavior\. - -.IP "\fB--generate-from-base-ctor\fP" -Generate constructors that expect an instance of a base type followed by all -required members\. - -.IP "\fB--suppress-assignment\fP" -Suppress the generation of copy assignment operators for complex types\. If -this option is specified, the copy assignment operators for such types are -declared private and left unimplemented\. - -.IP "\fB--generate-detach\fP" -Generate detach functions for required elements and attributes\. Detach -functions for optional and sequence cardinalities are provided by the -respective containers\. These functions, for example, allow you to move -sub-trees in the object model either within the same tree or between -different trees\. - -.IP "\fB--generate-wildcard\fP" -Generate accessors and modifiers as well as parsing and serialization code -for XML Schema wildcards (\fBany\fP and \fBanyAttribute\fP)\. XML content -matched by wildcards is presented as DOM fragments\. Note that you need to -initialize the Xerces-C++ runtime if you are using this option\. - -.IP "\fB--generate-any-type\fP" -Extract and store content of the XML Schema \fBanyType\fP type as a DOM -fragment\. Note that you need to initialize the Xerces-C++ runtime if you -are using this option\. - -.IP "\fB--generate-insertion\fP \fIos\fP" -Generate data representation stream insertion operators for the \fIos\fP -output stream type\. Repeat this option to specify more than one stream -type\. The ACE CDR stream (\fBACE_OutputCDR\fP) and RPC XDR are recognized -by the compiler and the necessary \fB#include\fP directives are -automatically generated\. For custom stream types use the -\fB--hxx-prologue*\fP options to provide the necessary declarations\. - -.IP "\fB--generate-extraction\fP \fIis\fP" -Generate data representation stream extraction constructors for the \fIis\fP -input stream type\. Repeat this option to specify more than one stream -type\. The ACE CDR stream (\fBACE_InputCDR\fP) and RPC XDR are recognized by -the compiler and the necessary \fB#include\fP directives are automatically -generated\. For custom stream types use the \fB--hxx-prologue*\fP options to -provide the necessary declarations\. - -.IP "\fB--generate-forward\fP" -Generate a separate header file with forward declarations for the types -being generated\. - -.IP "\fB--suppress-parsing\fP" -Suppress the generation of the parsing functions and constructors\. Use this -option to reduce the generated code size when parsing from XML is not -needed\. - -.IP "\fB--generate-element-type\fP" -Generate types instead of parsing and serialization functions for root -elements\. This is primarily useful to distinguish object models with the -same root type but with different root elements\. - -.IP "\fB--generate-element-map\fP" -Generate a root element map that allows uniform parsing and serialization of -multiple root elements\. This option is only valid together with -\fB--generate-element-type\fP\. - -.IP "\fB--generate-intellisense\fP" -Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8\.0)\. -When this option is used, the resulting code is slightly more verbose\. -IntelliSense in Visual Studio 2008 (9\.0) and later does not require these -workarounds\. Support for IntelliSense in Visual Studio 2003 (7\.1) is -improved with this option but is still incomplete\. - -.IP "\fB--omit-default-attributes\fP" -Omit attributes with default and fixed values from serialized XML -documents\. - -.IP "\fB--type-naming\fP \fIstyle\fP" -Specify the type naming convention that should be used in the generated -code\. Valid styles are \fBknr\fP (default), \fBucc\fP, and \fBjava\fP\. See -the NAMING CONVENTION section below for more information\. - -.IP "\fB--function-naming\fP \fIstyle\fP" -Specify the function naming convention that should be used in the generated -code\. Valid styles are \fBknr\fP (default), \fBlcc\fP, and \fBjava\fP\. See -the NAMING CONVENTION section below for more information\. - -.IP "\fB--type-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema type names to C++ type names\. See the NAMING CONVENTION section -below for more information\. - -.IP "\fB--accessor-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes to C++ accessor function names\. See the -NAMING CONVENTION section below for more information\. - -.IP "\fB--one-accessor-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality one to C++ accessor -function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--opt-accessor-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality optional to C++ -accessor function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--seq-accessor-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality sequence to C++ -accessor function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--modifier-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes to C++ modifier function names\. See the -NAMING CONVENTION section below for more information\. - -.IP "\fB--one-modifier-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality one to C++ modifier -function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--opt-modifier-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality optional to C++ -modifier function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--seq-modifier-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema names of elements/attributes with cardinality sequence to C++ -modifier function names\. See the NAMING CONVENTION section below for more -information\. - -.IP "\fB--parser-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema element names to C++ parsing function names\. See the NAMING -CONVENTION section below for more information\. - -.IP "\fB--serializer-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema element names to C++ serialization function names\. See the NAMING -CONVENTION section below for more information\. - -.IP "\fB--const-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema-derived names to C++ constant names\. See the NAMING CONVENTION -section below for more information\. - -.IP "\fB--enumerator-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema enumeration values to C++ enumerator names\. See the NAMING -CONVENTION section below for more information\. - -.IP "\fB--element-type-regex\fP \fIregex\fP" -Add \fIregex\fP to the list of regular expressions used to translate XML -Schema element names to C++ element type names\. See the NAMING CONVENTION -section below for more information\. - -.IP "\fB--name-regex-trace\fP" -Trace the process of applying regular expressions specified with the name -transformation options\. Use this option to find out why your regular -expressions don't do what you expected them to do\. - -.IP "\fB--root-element-first\fP" -Treat only the first global element as a document root\. By default all -global elements are considered document roots\. - -.IP "\fB--root-element-last\fP" -Treat only the last global element as a document root\. By default all -global elements are considered document roots\. - -.IP "\fB--root-element-all\fP" -Treat all global elements as document roots\. This is the default behavior\. -By explicitly specifying this option you can suppress the warning that is -issued if more than one global element is defined\. - -.IP "\fB--root-element-none\fP" -Do not treat any global elements as document roots\. By default all global -elements are considered document roots\. - -.IP "\fB--root-element\fP \fIelement\fP" -Treat only \fIelement\fP as a document root\. Repeat this option to specify -more than one root element\. - -.IP "\fB--custom-type\fP \fImap\fP" -Use a custom C++ type instead of the generated class\. The \fImap\fP -argument is in the form \fIname\fP[\fB=\fP\fItype\fP[\fB/\fP\fIbase\fP]], -where \fIname\fP is a type name as defined in XML Schema and \fItype\fP is a -C++ type name that should be used instead\. If \fItype\fP is not present or -empty then the custom type is assumed to have the same name and be defined -in the same namespace as the generated class would have\. If \fIbase\fP is -specified then the generated class is still generated but with that name\. - -.IP "\fB--custom-type-regex\fP \fIregex\fP" -Use custom C++ types instead of the generated classes\. The \fIregex\fP -argument is in the form -\fB/\fP\fIname-pat\fP\fB/\fP[\fItype-sub\fP\fB/\fP[\fIbase-sub\fP\fB/\fP]], -where \fIname-pat\fP is a regex pattern that will be matched against type -names as defined in XML Schema and \fItype-sub\fP is a C++ type name -substitution that should be used instead\. If \fItype-sub\fP is not present -or its substitution results in an empty string then the custom type is -assumed to have the same name and be defined in the same namespace as the -generated class would have\. If \fIbase-sub\fP is present and its -substitution results in a non-empty string then the generated class is still -generated but with the result of this substitution as its name\. The pattern -and substitutions are in the Perl regular expression format\. See also the -REGEX AND SHELL QUOTING section below\. - -.IP "\fB--parts\fP \fInum\fP" -Split generated source code into \fInum\fP parts\. This is useful when -translating large, monolithic schemas and a C++ compiler is not able to -compile the resulting source code at once (usually due to insufficient -memory)\. - -.IP "\fB--parts-suffix\fP \fIsuffix\fP" -Use \fIsuffix\fP instead of the default '\fB-\fP' to separate the file name -from the part number\. - -\" -\" C++/Parser -\" -.SS cxx-parser command options -.\" -.\" The following documentation was generated by CLI, a command -.\" line interface compiler for C++. -.\" -.IP "\fB--type-map\fP \fImapfile\fP" -Read XML Schema to C++ type mapping information from \fImapfile\fP\. Repeat -this option to specify several type maps\. Type maps are considered in order -of appearance and the first match is used\. By default all user-defined -types are mapped to \fBvoid\fP\. See the TYPE MAP section below for more -information\. - -.IP "\fB--xml-parser\fP \fIparser\fP" -Use \fIparser\fP as the underlying XML parser\. Valid values are -\fBxerces\fP for Xerces-C++ (default) and \fBexpat\fP for Expat\. - -.IP "\fB--generate-validation\fP" -Generate validation code\. The validation code ("perfect parser") ensures -that instance documents conform to the schema\. Validation code is generated -by default when the selected underlying XML parser is non-validating -(\fBexpat\fP)\. - -.IP "\fB--suppress-validation\fP" -Suppress the generation of validation code\. Validation is suppressed by -default when the selected underlying XML parser is validating -(\fBxerces\fP)\. - -.IP "\fB--generate-polymorphic\fP" -Generate polymorphism-aware code\. Specify this option if you use -substitution groups or \fBxsi:type\fP\. - -.IP "\fB--generate-noop-impl\fP" -Generate a sample parser implementation that does nothing (no operation)\. -The sample implementation can then be filled with the application-specific -code\. For an input file in the form \fBname\.xsd\fP this option triggers -the generation of two additional C++ files in the form: -\fBname-pimpl\.hxx\fP (parser implementation header file) and -\fBname-pimpl\.cxx\fP (parser implementation source file)\. - -.IP "\fB--generate-print-impl\fP" -Generate a sample parser implementation that prints the XML data to STDOUT\. -For an input file in the form \fBname\.xsd\fP this option triggers the -generation of two additional C++ files in the form: \fBname-pimpl\.hxx\fP -(parser implementation header file) and \fBname-pimpl\.cxx\fP (parser -implementation source file)\. - -.IP "\fB--generate-test-driver\fP" -Generate a test driver for the sample parser implementation\. For an input -file in the form \fBname\.xsd\fP this option triggers the generation of an -additional C++ file in the form \fBname-driver\.cxx\fP\. - -.IP "\fB--force-overwrite\fP" -Force overwriting of the existing implementation and test driver files\. Use -this option only if you do not mind loosing the changes you have made in the -sample implementation or test driver files\. - -.IP "\fB--root-element-first\fP" -Indicate that the first global element is the document root\. This -information is used to generate the test driver for the sample -implementation\. - -.IP "\fB--root-element-last\fP" -Indicate that the last global element is the document root\. This -information is used to generate the test driver for the sample -implementation\. - -.IP "\fB--root-element\fP \fIelement\fP" -Indicate that \fIelement\fP is the document root\. This information is used -to generate the test driver for the sample implementation\. - -.IP "\fB--skel-type-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB_pskel\fP to -construct the names of the generated parser skeletons\. - -.IP "\fB--skel-file-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB-pskel\fP to -construct the names of the generated parser skeleton files\. - -.IP "\fB--impl-type-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB_pimpl\fP to -construct the names of the parser implementations for the built-in XML -Schema types as well as sample parser implementations\. - -.IP "\fB--impl-file-suffix\fP \fIsuffix\fP" -Use the provided \fIsuffix\fP instead of the default \fB-pimpl\fP to -construct the names of the generated sample parser implementation files\. - -\" -\" NAMING CONVENTION -\" - -.SH NAMING CONVENTION -The compiler can be instructed to use a particular naming convention in -the generated code. A number of widely-used conventions can be selected -using the -.B --type-naming -and -.B --function-naming -options. A custom naming convention can be achieved using the -.BR --type-regex , -.BR --accessor-regex , -.BR --one-accessor-regex , -.BR --opt-accessor-regex , -.BR --seq-accessor-regex , -.BR --modifier-regex , -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -.BR --seq-modifier-regex , -.BR --parser-regex , -.BR --serializer-regex , -.BR --const-regex , -.BR --enumerator-regex , -and -.B --element-type-regex -options. - -The -.B --type-naming -option specifies the convention that should be used for naming C++ types. -Possible values for this option are -.B knr -(default), -.BR ucc , -and -.BR java . -The -.B knr -value (stands for K&R) signifies the standard, lower-case naming convention -with the underscore used as a word delimiter, for example: foo, foo_bar. -The -.B ucc -(stands for upper-camel-case) and -.B java -values a synonyms for the same naming convention where the first letter -of each word in the name is capitalized, for example: Foo, FooBar. - -Similarly, the -.B --function-naming -option specifies the convention that should be used for naming C++ functions. -Possible values for this option are -.B knr -(default), -.BR lcc , -and -.BR java . -The -.B knr -value (stands for K&R) signifies the standard, lower-case naming convention -with the underscore used as a word delimiter, for example: foo(), foo_bar(). -The -.B lcc -value (stands for lower-camel-case) signifies a naming convention where the -first letter of each word except the first is capitalized, for example: foo(), -fooBar(). The -.B java -naming convention is similar to the lower-camel-case one except that accessor -functions are prefixed with get, modifier functions are prefixed with set, -parsing functions are prefixed with parse, and serialization functions are -prefixed with serialize, for example: getFoo(), setFooBar(), parseRoot(), -serializeRoot(). - -Note that the naming conventions specified with the -.B --type-naming -and -.B --function-naming -options perform only limited transformations on the -names that come from the schema in the form of type, attribute, and element -names. In other words, to get consistent results, your schemas should follow -a similar naming convention as the one you would like to have in the generated -code. Alternatively, you can use the -.B --*-regex -options (discussed below) to perform further transformations on the names -that come from the schema. - -The -.BR --type-regex , -.BR --accessor-regex , -.BR --one-accessor-regex , -.BR --opt-accessor-regex , -.BR --seq-accessor-regex , -.BR --modifier-regex , -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -.BR --seq-modifier-regex , -.BR --parser-regex , -.BR --serializer-regex , -.BR --const-regex , -.BR --enumerator-regex , -and -.B --element-type-regex -options allow you to specify extra regular expressions for each name -category in addition to the predefined set that is added depending on -the -.B --type-naming -and -.B --function-naming -options. Expressions that are provided with the -.B --*-regex -options are evaluated prior to any predefined expressions. This allows -you to selectively override some or all of the predefined transformations. -When debugging your own expressions, it is often useful to see which -expressions match which names. The -.B --name-regex-trace -option allows you to trace the process of applying -regular expressions to names. - -The value for the -.B --*-regex -options should be a perl-like regular expression in the form -.BI / pattern / replacement /\fR. -Any character can be used as a delimiter instead of -.BR / . -Escaping of the delimiter character in -.I pattern -or -.I replacement -is not supported. All the regular expressions for each category are pushed -into a category-specific stack with the last specified expression -considered first. The first match that succeeds is used. For the -.B --one-accessor-regex -(accessors with cardinality one), -.B --opt-accessor-regex -(accessors with cardinality optional), and -.B --seq-accessor-regex -(accessors with cardinality sequence) categories the -.B --accessor-regex -expressions are used as a fallback. For the -.BR --one-modifier-regex , -.BR --opt-modifier-regex , -and -.B --seq-modifier-regex -categories the -.B --modifier-regex -expressions are used as a fallback. For the -.B --element-type-regex -category the -.B --type-regex -expressions are used as a fallback. - -The type name expressions -.RB ( --type-regex ) -are evaluated on the name string that has the following format: - -[\fInamespace \fR]\fIname\fR[\fB,\fIname\fR][\fB,\fIname\fR][\fB,\fIname\fR] - -The element type name expressions -.RB ( --element-type-regex ), -effective only when the -.B --generate-element-type -option is specified, are evaluated on the name string that has the following -format: - -.I namespace name - -In the type name format the -.I namespace -part followed by a space is only present for global type names. For global -types and elements defined in schemas without a target namespace, the -.I namespace -part is empty but the space is still present. In the type name format after -the initial -.I name -component, up to three additional -.I name -components can be present, separated by commas. For example: - -.B http://example.com/hello type - -.B foo - -.B foo,iterator - -.B foo,const,iterator - -The following set of predefined regular expressions is used to transform -type names when the upper-camel-case naming convention is selected: - -.B /(?:[^ ]* )?([^,]+)/\\\\u$1/ - -.B /(?:[^ ]* )?([^,]+),([^,]+)/\\\\u$1\\\\u$2/ - -.B /(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\\\\u$1\\\\u$2\\\\u$3/ - -.B /(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\\\\u$1\\\\u$2\\\\u$3\\\\u$4/ - -The accessor and modifier expressions -.RB ( --*accessor-regex -and -.BR --*modifier-regex ) -are evaluated on the name string that has the following format: - -\fIname\fR[\fB,\fIname\fR][\fB,\fIname\fR] - -After the initial -.I name -component, up to two additional -.I name -components can be present, separated by commas. For example: - -.B foo - -.B dom,document - -.B foo,default,value - -The following set of predefined regular expressions is used to transform -accessor names when the -.B java -naming convention is selected: - -.B /([^,]+)/get\\\\u$1/ - -.B /([^,]+),([^,]+)/get\\\\u$1\\\\u$2/ - -.B /([^,]+),([^,]+),([^,]+)/get\\\\u$1\\\\u$2\\\\u$3/ - -For the parser, serializer, and enumerator categories, the corresponding -regular expressions are evaluated on local names of elements and on -enumeration values, respectively. For example, the following predefined -regular expression is used to transform parsing function names when the -.B java -naming convention is selected: - -.B /(.+)/parse\\\\u$1/ - -The const category is used to create C++ constant names for the -element/wildcard/text content ids in ordered types. - -See also the REGEX AND SHELL QUOTING section below. - -\" -\" TYPE MAP -\" -.SH TYPE MAP -Type map files are used in C++/Parser to define a mapping between XML -Schema and C++ types. The compiler uses this information to determine -the return types of -.B post_* -functions in parser skeletons corresponding to XML Schema types -as well as argument types for callbacks corresponding to elements -and attributes of these types. - -The compiler has a set of predefined mapping rules that map built-in -XML Schema types to suitable C++ types (discussed below) and all -other types to -.BR void . -By providing your own type maps you can override these predefined rules. -The format of the type map file is presented below: - -.RS -.B namespace -.I schema-namespace -[ -.I cxx-namespace -] -.br -.B { -.br - ( -.B include -.IB file-name ; -)* -.br - ([ -.B type -] -.I schema-type cxx-ret-type -[ -.I cxx-arg-type -.RB ] ; -)* -.br -.B } -.br -.RE - -Both -.I schema-namespace -and -.I schema-type -are regex patterns while -.IR cxx-namespace , -.IR cxx-ret-type , -and -.I cxx-arg-type -are regex pattern substitutions. All names can be optionally enclosed -in \fR" "\fR, for example, to include white-spaces. - -.I schema-namespace -determines XML Schema namespace. Optional -.I cxx-namespace -is prefixed to every C++ type name in this namespace declaration. -.I cxx-ret-type -is a C++ type name that is used as a return type for the -.B post_* -functions. Optional -.I cxx-arg-type -is an argument type for callback functions corresponding to elements and -attributes of this type. If -.I cxx-arg-type -is not specified, it defaults to -.I cxx-ret-type -if -.I cxx-ret-type -ends with -.B * -or -.B & -(that is, it is a pointer or a reference) and -.B const -\fIcxx-ret-type\fB&\fR otherwise. -.I file-name -is a file name either in the \fR" "\fR or < > format and is added with the -.B #include -directive to the generated code. - -The \fB#\fR character starts a comment that ends with a new line or end of -file. To specify a name that contains \fB#\fR enclose it in \fR" "\fR. For -example: - -.RS -namespace http://www.example.com/xmlns/my my -.br -{ -.br - include "my.hxx"; -.br - - # Pass apples by value. - # - apple apple; -.br - - # Pass oranges as pointers. - # - orange orange_t*; -.br -} -.br -.RE - -In the example above, for the -.B http://www.example.com/xmlns/my#orange -XML Schema type, the -.B my::orange_t* -C++ type will be used as both return and argument types. - -Several namespace declarations can be specified in a single file. -The namespace declaration can also be completely omitted to map -types in a schema without a namespace. For instance: - -.RS -include "my.hxx"; -.br -apple apple; -.br - -namespace http://www.example.com/xmlns/my -.br -{ -.br - orange "const orange_t*"; -.br -} -.br -.RE - - -The compiler has a number of predefined mapping rules that can be -presented as the following map files. The string-based XML Schema -built-in types are mapped to either -.B std::string -or -.B std::wstring -depending on the character type selected with the -.B --char-type -option -.RB ( char -by default). - -.RS -namespace http://www.w3.org/2001/XMLSchema -.br -{ -.br - boolean bool bool; -.br - - byte "signed char" "signed char"; -.br - unsignedByte "unsigned char" "unsigned char"; -.br - - short short short; -.br - unsignedShort "unsigned short" "unsigned short"; -.br - - int int int; -.br - unsignedInt "unsigned int" "unsigned int"; -.br - - long "long long" "long long"; -.br - unsignedLong "unsigned long long" "unsigned long long"; -.br - - integer "long long" "long long"; -.br - - negativeInteger "long long" "long long"; -.br - nonPositiveInteger "long long" "long long"; -.br - - positiveInteger "unsigned long long" "unsigned long long"; -.br - nonNegativeInteger "unsigned long long" "unsigned long long"; -.br - - float float float; -.br - double double double; -.br - decimal double double; -.br - - string std::string; -.br - normalizedString std::string; -.br - token std::string; -.br - Name std::string; -.br - NMTOKEN std::string; -.br - NCName std::string; -.br - ID std::string; -.br - IDREF std::string; -.br - language std::string; -.br - anyURI std::string; -.br - - NMTOKENS xml_schema::string_sequence; -.br - IDREFS xml_schema::string_sequence; -.br - - QName xml_schema::qname; -.br - - base64Binary std::auto_ptr<xml_schema::buffer> -.br - std::auto_ptr<xml_schema::buffer>; -.br - hexBinary std::auto_ptr<xml_schema::buffer> -.br - std::auto_ptr<xml_schema::buffer>; -.br - - date xml_schema::date; -.br - dateTime xml_schema::date_time; -.br - duration xml_schema::duration; -.br - gDay xml_schema::gday; -.br - gMonth xml_schema::gmonth; -.br - gMonthDay xml_schema::gmonth_day; -.br - gYear xml_schema::gyear; -.br - gYearMonth xml_schema::gyear_month; -.br - time xml_schema::time; -.br -} -.br -.RE - - -The last predefined rule maps anything that wasn't mapped by previous -rules to -.BR void : - -.RS -namespace .* -.br -{ -.br - .* void void; -.br -} -.br -.RE - -When you provide your own type maps with the -.B --type-map -option, they are evaluated first. This allows you to selectively override -predefined rules. - -.\" -.\" REGEX AND SHELL QUOTING -.\" -.SH REGEX AND SHELL QUOTING -When entering a regular expression argument in the shell command line -it is often necessary to use quoting (enclosing the argument in " " -or ' ') in order to prevent the shell from interpreting certain -characters, for example, spaces as argument separators and $ as -variable expansions. - -Unfortunately it is hard to achieve this in a manner that is portable -across POSIX shells, such as those found on GNU/Linux and UNIX, and -Windows shell. For example, if you use " " for quoting you will get -a wrong result with POSIX shells if your expression contains $. The -standard way of dealing with this on POSIX systems is to use ' ' -instead. Unfortunately, Windows shell does not remove ' ' from -arguments when they are passed to applications. As a result you may -have to use ' ' for POSIX and " " for Windows ($ is not treated as -a special character on Windows). - -Alternatively, you can save regular expression options into a file, -one option per line, and use this file with the -.B --options-file -option. With this approach you don't need to worry about shell quoting. - -.\" -.\" DIAGNOSTICS -.\" -.SH DIAGNOSTICS -If the input file is not a valid W3C XML Schema definition, -.B xsd -will issue diagnostic messages to -.B STDERR -and exit with non-zero exit code. -.SH BUGS -Send bug reports to the xsd-users@codesynthesis.com mailing list. -.SH COPYRIGHT -Copyright (c) 2005-2014 Code Synthesis Tools CC. - -Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, -version 1.2; with no Invariant Sections, no Front-Cover Texts and -no Back-Cover Texts. Copy of the license can be obtained from -http://codesynthesis.com/licenses/fdl-1.2.txt diff --git a/xsd/doc/xsd.xhtml b/xsd/doc/xsd.xhtml deleted file mode 100644 index 989d1bd..0000000 --- a/xsd/doc/xsd.xhtml +++ /dev/null @@ -1,1555 +0,0 @@ -<?xml version="1.0" encoding="iso-8859-1"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> - -<head> - <title>XSD 4.0.0 Compiler Command Line Manual</title> - - <meta name="copyright" content="© 2005-2014 Code Synthesis Tools CC"/> - <meta name="keywords" content="xsd,xml,schema,c++,mapping,data,binding,code,generator,manual,man,page"/> - <meta name="description" content="XSD Compiler Command Line Manual"/> - - <link rel="stylesheet" type="text/css" href="default.css" /> - -<style type="text/css"> - - #synopsis { - list-style-type: none; - } - - #synopsis li { - padding-top : 0.0em; - padding-bottom : 0.0em; - } - - #commands dt { - padding-top : 0.4em; - } - - #commands dd { - padding-bottom : 0.4em; - padding-left : 2em; - } - - .options dt { - padding-top : 0.4em; - } - - .options dd { - padding-top : 0.1em; - padding-bottom : 0.4em; - padding-left : 1.4em; - } - -</style> -</head> - -<body> -<div id="container"> - <div id="content"> - - <h1>NAME</h1> - - <p>xsd - W3C XML Schema to C++ Compiler</p> - - <h1>SYNOPSIS</h1> - - <dl id="synopsis"> - <dt><code><b>xsd</b> <i>command</i> [<i>options</i>] <i>file</i> [<i>file</i> ...]</code></dt> - <dt><code><b>xsd help</b> [<i>command</i>]</code></dt> - <dt><code><b>xsd version</b></code></dt> - </dl> - - <h1>DESCRIPTION</h1> - - <p><code><b>xsd</b></code> generates vocabulary-specific, statically-typed - C++ mapping from W3C XML Schema definitions. Particular mapping to - produce is selected by a <code><i>command</i></code>. Each mapping has - a number of mapping-specific <code><i>options</i></code> that should - appear, if any, after the <code><i>command</i></code>. Input files should - be W3C XML Schema definitions. The exact set of the generated files depends - on the selected mapping and options.</p> - - <h1>COMMANDS</h1> - - <dl id="commands"> - <dt><code><b>cxx-tree</b></code></dt> - <dd>Generate the C++/Tree mapping. For each input file in the form - <code><b>name.xsd</b></code> the following C++ files are generated: - <code><b>name.hxx</b></code> (header file), - <code><b>name.ixx</b></code> (inline file, generated only if the - <code><b>--generate-inline</b></code> option is specified), - <code><b>name.cxx</b></code> (source file), and - <code><b>name-fwd.hxx</b></code> (forward declaration file, generated - only if the <code><b>--generate-forward</b></code> option is - specified).</dd> - - <dt><code><b>cxx-parser</b></code></dt> - <dd>Generate the C++/Parser mapping. For each input file in the form - <code><b>name.xsd</b></code> the following C++ files are generated: - <code><b>name-pskel.hxx</b></code> (parser skeleton header file), - <code><b>name-pskel.ixx</b></code> (parser skeleton inline file, - generated only if the <code><b>--generate-inline</b></code> - option is specified), and - <code><b>name-pskel.cxx</b></code> (parser skeleton source file). - If the <code><b>--generate-noop-impl</b></code> or - <code><b>--generate-print-impl</b></code> option is specified, - the following additional sample implementation files are generated: - <code><b>name-pimpl.hxx</b></code> (parser implementation header - file) and - <code><b>name-pimpl.cxx</b></code> (parser implementation source - file). If the <code><b>--generate-test-driver</b></code> option - is specified, the additional <code><b>name-driver.cxx</b></code> - test driver file is generated.</dd> - - <dt><code><b>help</b></code></dt> - <dd>Print usage information and exit. Use - <p><code><b>xsd help</b> <i>command</i></code></p> - for command-specific help. - </dd> - - <dt><code><b>version</b></code></dt> - <dd>Print version and exit.</dd> - </dl> - - <h1>OPTIONS</h1> - - <p>Command-specific <code><i>options</i></code>, if any, should appear - after the corresponding <code><i>command</i></code>.</p> - - <h2>COMMON OPTIONS</h2> - -<!-- - The following documentation was generated by CLI, a command - line interface compiler for C++. ---> - -<dl class="options"> - <dt><code><b>--std</b></code> <i>version</i></dt> - <dd>Specify the C++ standard that the generated code should conform to. Valid - values are <code><b>c++98</b></code> (default) and - <code><b>c++11</b></code>. - - <p>The C++ standard affects various aspects of the generated code that are - discussed in more detail in various mapping-specific documentation. Overall, - when C++11 is selected, the generated code relies on the move semantics and - uses <code><b>std::unique_ptr</b></code> instead of deprecated - <code><b>std::auto_ptr</b></code>.</p> - - <p>When the C++11 mode is selected, you normally don't need to perform any - extra steps other than enable C++11 in your C++ compiler, if required. The - XSD compiler will automatically add the necessary macro defines to the - generated header files that will switch the header-only XSD runtime library - (<code><b>libxsd</b></code>) to the C++11 mode. However, if you include any - of the XSD runtime headers directly in your application (normally you just - include the generated headers), then you will need to define the - <code><b>XSD_CXX11</b></code> macro for your entire project.</p></dd> - - <dt><code><b>--char-type</b></code> <i>type</i></dt> - <dd>Generate code using the provided character <i>type</i> instead of the - default <code><b>char</b></code>. Valid values are <code><b>char</b></code> - and <code><b>wchar_t</b></code>.</dd> - - <dt><code><b>--char-encoding</b></code> <i>enc</i></dt> - <dd>Specify the character encoding that should be used in the generated code. - Valid values for the <code><b>char</b></code> character type are - <code><b>utf8</b></code> (default), <code><b>iso8859-1</b></code>, - <code><b>lcp</b></code> (Xerces-C++ local code page), and - <code><b>custom</b></code>. If you pass <code><b>custom</b></code> as the - value then you will need to include the transcoder implementation header for - your encoding at the beginning of the generated header files (see the - <code><b>--hxx-prologue</b></code> option). - - <p>For the <code><b>wchar_t</b></code> character type the only valid value - is <code><b>auto</b></code> and the encoding is automatically selected - between UTF-16 and UTF-32/UCS-4, depending on the - <code><b>wchar_t</b></code> type size.</p></dd> - - <dt><code><b>--output-dir</b></code> <i>dir</i></dt> - <dd>Write generated files to <i>dir</i> instead of the current directory.</dd> - - <dt><code><b>--generate-inline</b></code></dt> - <dd>Generate simple functions inline. This option triggers creation of the - inline file.</dd> - - <dt><code><b>--generate-xml-schema</b></code></dt> - <dd>Generate a C++ header file as if the schema being compiled defines the XML - Schema namespace. For the C++/Tree mapping, the resulting file will contain - definitions for all XML Schema built-in types. For the C++/Parser mapping, - the resulting file will contain definitions for all the parser skeletons and - implementations corresponding to the XML Schema built-in types. - - <p>The schema file provided to the compiler need not exist and is only used - to derive the name of the resulting header file. Use the - <code><b>--extern-xml-schema</b></code> option to include this file in the - generated files for other schemas.</p></dd> - - <dt><code><b>--extern-xml-schema</b></code> <i>file</i></dt> - <dd>Include a header file derived from <i>file</i> instead of generating the XML - Schema namespace mapping inline. The provided file need not exist and is - only used to derive the name of the included header file. Use the - <code><b>--generate-xml-schema</b></code> option to generate this header - file.</dd> - - <dt><code><b>--namespace-map</b></code> <i>xns</i>=<i>cns</i></dt> - <dd>Map XML Schema namespace <i>xns</i> to C++ namespace <i>cns</i>. Repeat this - option to specify mapping for more than one XML Schema namespace. For - example, the following option: - - <p><code><b>--namespace-map - http://example.com/foo/bar=foo::bar</b></code></p> - - <p>Will map the <code><b>http://example.com/foo/bar</b></code> XML Schema - namespace to the <code><b>foo::bar</b></code> C++ namespace.</p></dd> - - <dt><code><b>--namespace-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema namespace names to C++ namespace names. <i>regex</i> is a Perl-like - regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. - - <p>All the regular expressions are pushed into a stack with the last - specified expression considered first. The first match that succeeds is - used. Regular expressions are applied to a string in the form</p> - - <p><code><i>filename</i> <i>namespace</i></code></p> - - <p>For example, if you have file <code><b>hello.xsd</b></code> with - namespace <code><b>http://example.com/hello</b></code> and you run - <code><b>xsd</b></code> on this file, then the string in question will - be:</p> - - <p><code><b>hello.xsd. http://example.com/hello</b></code></p> - - <p>For the built-in XML Schema namespace the string is:</p> - - <p><code><b>XMLSchema.xsd http://www.w3.org/2001/XMLSchema</b></code></p> - - <p>The following three steps are performed for each regular expression until - the match is found:</p> - - <p>1. The expression is applied and if the result is empty the next - expression is considered.</p> - - <p>2. All <code><b>/</b></code> are replaced with - <code><b>::</b></code>.</p> - - <p>3. The result is verified to be a valid C++ scope name (e.g., - <code><b>foo::bar</b></code>). If this test succeeds, the result is used as - a C++ namespace name.</p> - - <p>As an example, the following expression maps XML Schema namespaces in - the form <code><b>http://example.com/foo/bar</b></code> to C++ namespaces in - the form <code><b>foo::bar</b></code>:</p> - - <p><code><b>%.* http://example.com/(.+)%$1%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--namespace-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--namespace-regex</b></code> option. Use this option to find out - why your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--reserved-name</b></code> <i>n</i>[=<i>r</i>]</dt> - <dd>Add name <i>n</i> to the list of names that should not be used as - identifiers. The name can optionally be followed by <code><b>=</b></code> - and the replacement name <i>r</i> that should be used instead. All the C++ - keywords are already in this list.</dd> - - <dt><code><b>--include-with-brackets</b></code></dt> - <dd>Use angle brackets (<>) instead of quotes ("") in generated - <code><b>#include</b></code> directives.</dd> - - <dt><code><b>--include-prefix</b></code> <i>prefix</i></dt> - <dd>Add <i>prefix</i> to generated <code><b>#include</b></code> directive paths. - - <p>For example, if you had the following import element in your schema</p> - - <p><code><b><import namespace="..." - schemaLocation="base.xsd"/></b></code></p> - - <p>and compiled this fragment with <code><b>--include-prefix - schemas/</b></code>, then the include directive in the generated code would - be:</p> - - <p><code><b>#include "schemas/base.hxx"</b></code></p></dd> - - <dt><code><b>--include-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to transform - <code><b>#include</b></code> directive paths. <i>regex</i> is a Perl-like - regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. - - <p>All the regular expressions are pushed into a stack with the last - specified expression considered first. The first match that succeeds is - used.</p> - - <p>As an example, the following expression transforms paths in the form - <code><b>schemas/foo/bar</b></code> to paths in the form - <code><b>generated/foo/bar</b></code>:</p> - - <p><code><b>%schemas/(.+)%generated/$1%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--include-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--include-regex</b></code> option. Use this option to find out why - your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--guard-prefix</b></code> <i>prefix</i></dt> - <dd>Add <i>prefix</i> to generated header inclusion guards. The prefix is - transformed to upper case and characters that are illegal in a preprocessor - macro name are replaced with underscores. If this option is not specified - then the directory part of the input schema file is used as a prefix.</dd> - - <dt><code><b>--hxx-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>.hxx</b></code> to construct the name of the header file. Note that - this suffix is also used to construct names of header files corresponding to - included/imported schemas.</dd> - - <dt><code><b>--ixx-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>.ixx</b></code> to construct the name of the inline file.</dd> - - <dt><code><b>--cxx-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>.cxx</b></code> to construct the name of the source file.</dd> - - <dt><code><b>--fwd-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>-fwd.hxx</b></code> to construct the name of the forward - declaration file.</dd> - - <dt><code><b>--hxx-regex</b></code> <i>regex</i></dt> - <dd>Use the provided expression to construct the name of the header file. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Note - that this expression is also used to construct names of header files - corresponding to included/imported schemas. See also the REGEX AND SHELL - QUOTING section below.</dd> - - <dt><code><b>--ixx-regex</b></code> <i>regex</i></dt> - <dd>Use the provided expression to construct the name of the inline file. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. See - also the REGEX AND SHELL QUOTING section below.</dd> - - <dt><code><b>--cxx-regex</b></code> <i>regex</i></dt> - <dd>Use the provided expression to construct the name of the source file. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. See - also the REGEX AND SHELL QUOTING section below.</dd> - - <dt><code><b>--fwd-regex</b></code> <i>regex</i></dt> - <dd>Use the provided expression to construct the name of the forward declaration - file. <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. See - also the REGEX AND SHELL QUOTING section below.</dd> - - <dt><code><b>--hxx-prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of the header file.</dd> - - <dt><code><b>--ixx-prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of the inline file.</dd> - - <dt><code><b>--cxx-prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of the source file.</dd> - - <dt><code><b>--fwd-prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of the forward declaration file.</dd> - - <dt><code><b>--prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of each generated file for which there - is no file-specific prologue.</dd> - - <dt><code><b>--hxx-epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of the header file.</dd> - - <dt><code><b>--ixx-epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of the inline file.</dd> - - <dt><code><b>--cxx-epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of the source file.</dd> - - <dt><code><b>--fwd-epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of the forward declaration file.</dd> - - <dt><code><b>--epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of each generated file for which there is no - file-specific epilogue.</dd> - - <dt><code><b>--hxx-prologue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the beginning of the header file.</dd> - - <dt><code><b>--ixx-prologue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the beginning of the inline file.</dd> - - <dt><code><b>--cxx-prologue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the beginning of the source file.</dd> - - <dt><code><b>--fwd-prologue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the beginning of the forward - declaration file.</dd> - - <dt><code><b>--prologue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the beginning of each generated - file for which there is no file-specific prologue file.</dd> - - <dt><code><b>--hxx-epilogue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the end of the header file.</dd> - - <dt><code><b>--ixx-epilogue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the end of the inline file.</dd> - - <dt><code><b>--cxx-epilogue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the end of the source file.</dd> - - <dt><code><b>--fwd-epilogue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the end of the forward declaration - file.</dd> - - <dt><code><b>--epilogue-file</b></code> <i>file</i></dt> - <dd>Insert the content of the <i>file</i> at the end of each generated file for - which there is no file-specific epilogue file.</dd> - - <dt><code><b>--export-symbol</b></code> <i>symbol</i></dt> - <dd>Insert <i>symbol</i> in places where DLL export/import control statements - (<code><b>__declspec(dllexport/dllimport)</b></code>) are necessary.</dd> - - <dt><code><b>--export-xml-schema</b></code></dt> - <dd>Export/import types in the XML Schema namespace using the export symbol - provided with the <code><b>--export-symbol</b></code> option. The - <code><b>XSD_NO_EXPORT</b></code> macro can be used to omit this code during - C++ compilation, which may be useful if you would like to use the same - generated code across multiple platforms.</dd> - - <dt><code><b>--export-maps</b></code></dt> - <dd>Export polymorphism support maps from a Win32 DLL into which this generated - code is placed. This is necessary when your type hierarchy is split across - several DLLs since otherwise each DLL will have its own set of maps. In this - situation the generated code for the DLL which contains base types and/or - substitution group heads should be compiled with this option and the - generated code for all other DLLs should be compiled with - <code><b>--import-maps</b></code>. This option is only valid together with - <code><b>--generate-polymorphic</b></code>. The - <code><b>XSD_NO_EXPORT</b></code> macro can be used to omit this code during - C++ compilation, which may be useful if you would like to use the same - generated code across multiple platforms.</dd> - - <dt><code><b>--import-maps</b></code></dt> - <dd>Import polymorphism support maps to a Win32 DLL or executable into which - this generated code is linked. See the <code><b>--export-maps</b></code> - option documentation for details. This options is only valid together with - <code><b>--generate-polymorphic</b></code>. The - <code><b>XSD_NO_EXPORT</b></code> macro can be used to omit this code during - C++ compilation, which may be useful if you would like to use the same - generated code across multiple platforms.</dd> - - <dt><code><b>--generate-dep</b></code></dt> - <dd>Generate <code><b>make</b></code> dependency information. This option - triggers the creation of the <code><b>.d</b></code> file containing the - dependencies of the generated files on the main schema file as well as all - the schema files that it includes/imports, transitively. This dependency - file is then normally included into the main <code><b>makefile</b></code> to - implement automatic dependency tracking. - - <p>Note also that automatic dependency generation is not supported in the - file-per-type mode (<code><b>--file-per-type</b></code>). In this case, all - the generated files are produced with a single compiler invocation and - depend on all the schemas. As a result, it is easier to establish such a - dependency manually, perhaps with the help of the - <code><b>--file-list*</b></code> options.</p></dd> - - <dt><code><b>--generate-dep-only</b></code></dt> - <dd>Generate <code><b>make</b></code> dependency information only.</dd> - - <dt><code><b>--dep-phony</b></code></dt> - <dd>Generate phony targets for included/imported schema files, causing each to - depend on nothing. Such dummy rules work around <code><b>make</b></code> - errors caused by the removal of schema files without also updating the - dependency file to match.</dd> - - <dt><code><b>--dep-target</b></code> <i>target</i></dt> - <dd>Change the target of the dependency rule. By default it contains all the - generated C++ files as well as the dependency file itself, without any - directory prefixes. If you require multiple targets, then you can specify - them as a single, space-separated argument or you can repeat this option - multiple times.</dd> - - <dt><code><b>--dep-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default <code><b>.d</b></code> - to construct the name of the dependency file.</dd> - - <dt><code><b>--dep-regex</b></code> <i>regex</i></dt> - <dd>Use the provided expression to construct the name of the dependency file. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. See - also the REGEX AND SHELL QUOTING section below.</dd> - - <dt><code><b>--disable-warning</b></code> <i>warn</i></dt> - <dd>Disable printing warning with id <i>warn</i>. If <code><b>all</b></code> is - specified for the warning id then all warnings are disabled.</dd> - - <dt><code><b>--options-file</b></code> <i>file</i></dt> - <dd>Read additional options from <i>file</i>. Each option should appearing on a - separate line optionally followed by space and an option value. Empty lines - and lines starting with <code><b>#</b></code> are ignored. Option values can - be enclosed in double (<code><b>"</b></code>) or single - (<code><b>'</b></code>) quotes to preserve leading and trailing whitespaces - as well as to specify empty values. If the value itself contains trailing or - leading quotes, enclose it with an extra pair of quotes, for example - <code><b>'"x"'</b></code>. Non-leading and non-trailing quotes are - interpreted as being part of the option value. - - <p>The semantics of providing options in a file is equivalent to providing - the same set of options in the same order on the command line at the point - where the <code><b>--options-file</b></code> option is specified except that - the shell escaping and quoting is not required. You can repeat this option - to specify more than one options file.</p></dd> - - <dt><code><b>--show-sloc</b></code></dt> - <dd>Show the number of generated physical source lines of code (SLOC).</dd> - - <dt><code><b>--sloc-limit</b></code> <i>num</i></dt> - <dd>Check that the number of generated physical source lines of code (SLOC) does - not exceed <i>num</i>.</dd> - - <dt><code><b>--proprietary-license</b></code></dt> - <dd>Indicate that the generated code is licensed under a proprietary license - instead of the GPL.</dd> - - <dt><code><b>--custom-literals</b></code> <i>file</i></dt> - <dd>Load custom XML string to C++ literal mappings from <i>file</i>. This - mechanism can be useful if you are using a custom character encoding and - some of the strings in your schemas, for example element/attribute names or - enumeration values, contain non-ASCII characters. In this case you will need - to provide a custom mapping to C++ literals for such strings. The format of - this file is specified in the <code><b>custom-literals.xsd</b></code> XML - Schema file that can be found in the documentation directory.</dd> - - <dt><code><b>--preserve-anonymous</b></code></dt> - <dd>Preserve anonymous types. By default anonymous types are automatically named - with names derived from the enclosing elements/attributes. Because mappings - implemented by this compiler require all types to be named, this option is - only useful if you want to make sure your schemas don't have anonymous - types.</dd> - - <dt><code><b>--show-anonymous</b></code></dt> - <dd>Show elements and attributes that are of anonymous types. This option only - makes sense together with the <code><b>--preserve-anonymous</b></code> - option.</dd> - - <dt><code><b>--anonymous-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to derive names for - anonymous types from the enclosing attributes/elements. <i>regex</i> is a - Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. - - <p>All the regular expressions are pushed into a stack with the last - specified expression considered first. The first match that succeeds is - used. Regular expressions are applied to a string in the form</p> - - <p><code><i>filename</i> <i>namespace</i> <i>xpath</i></code></p> - - <p>For instance:</p> - - <p><code><b>hello.xsd http://example.com/hello element</b></code></p> - - <p><code><b>hello.xsd http://example.com/hello type/element</b></code></p> - - <p>As an example, the following expression makes all the derived names start - with capital letters. This could be useful when your naming convention - requires type names to start with capital letters:</p> - - <p><code><b>%.* .* (.+/)*(.+)%\u$2%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--anonymous-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--anonymous-regex</b></code> option. Use this option to find out - why your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--location-map</b></code> <i>ol</i>=<i>nl</i></dt> - <dd>Map the original schema location <i>ol</i> that is specified in the XML - Schema include or import elements to new schema location <i>nl</i>. Repeat - this option to map more than one schema location. For example, the following - option maps the <code><b>http://example.com/foo.xsd</b></code> URL to the - <code><b>foo.xsd</b></code> local file. - - <p><code><b>--location-map http://example.com/foo.xsd=foo.xsd</b></code></p></dd> - - <dt><code><b>--location-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to map schema - locations that are specified in the XML Schema include or import elements. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. All the regular - expressions are pushed into a stack with the last specified expression - considered first. The first match that succeeds is used. - - <p>For example, the following expression maps URL locations in the form - <code><b>http://example.com/foo/bar.xsd</b></code> to local files in the - form <code><b>bar.xsd</b></code>:</p> - - <p><code><b>%http://.+/(.+)%$1%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--location-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--location-regex</b></code> option. Use this option to find out why - your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--file-per-type</b></code></dt> - <dd>Generate a separate set of C++ files for each type defined in XML Schema. - Note that in this mode you only need to compile the root schema(s) and the - code will be generated for all included and imported schemas. This - compilation mode is primarily useful when some of your schemas cannot be - compiled separately or have cyclic dependencies which involve type - inheritance. Other options related to this mode are: - <code><b>--type-file-regex</b></code>, - <code><b>--schema-file-regex</b></code>, - <code><b>--fat-type-file</b></code>, and <code><b>--file-list</b></code>.</dd> - - <dt><code><b>--type-file-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate type - names to file names when the <code><b>--file-per-type</b></code> option is - specified. <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. All the regular - expressions are pushed into a stack with the last specified expression - considered first. The first match that succeeds is used. Regular expressions - are applied to a string in the form - - <p><code><i>namespace</i> <i>type-name</i></code></p> - - <p>For example, the following expression maps type <code><b>foo</b></code> - that is defined in the <code><b>http://example.com/bar</b></code> namespace - to file name <code><b>bar-foo</b></code>:</p> - - <p><code><b>%http://example.com/(.+) (.+)%$1-$2%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--type-file-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--type-file-regex</b></code> option. Use this option to find out - why your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--schema-file-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate schema - file names when the <code><b>--file-per-type</b></code> option is specified. - <i>regex</i> is a Perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. Any - character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. All the regular - expressions are pushed into a stack with the last specified expression - considered first. The first match that succeeds is used. Regular Expressions - are applied to the absolute filesystem path of a schema file and the result, - including the directory part, if any, is used to derive the - <code><b>#include</b></code> directive paths as well as the generated C++ - file paths. This option, along with <code><b>--type-file-regex</b></code> - are primarily useful to place the generated files into subdirectories or to - resolve file name conflicts. - - <p>For example, the following expression maps schema files in the - <code><b>foo/1.0.0/</b></code> subdirectory to the files in the - <code><b>foo/</b></code> subdirectory. As a result, the - <code><b>#include</b></code> directive paths for such schemas will be in the - <code><b>foo/schema.hxx</b></code> form and the generated C++ files will be - placed into the <code><b>foo/</b></code> subdirectory:</p> - - <p><code><b>%.*/foo/1.0.0/(.+)%foo/$1%</b></code></p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p></dd> - - <dt><code><b>--schema-file-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the - <code><b>--schema-file-regex</b></code> option. Use this option to find out - why your regular expressions don't do what you expected them to do.</dd> - - <dt><code><b>--fat-type-file</b></code></dt> - <dd>Generate code corresponding to global elements into type files instead of - schema files when the <code><b>--type-file-regex</b></code> option is - specified. This option is primarily useful when trying to minimize the - amount of object code that is linked to an executable by packaging compiled - generated code into a static (archive) library.</dd> - - <dt><code><b>--file-list</b></code> <i>file</i></dt> - <dd>Write a list of generated C++ files to <i>file</i>. This option is primarily - useful in the file-per-type compilation mode - (<code><b>--file-per-type</b></code>) to create a list of generated C++ - files, for example, as a makefile fragment.</dd> - - <dt><code><b>--file-list-prologue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the beginning of the file list. As a convenience, all - occurrences of the <code><b>\n</b></code> character sequence in <i>text</i> - are replaced with new lines. This option can, for example, be used to assign - the generated file list to a makefile variable.</dd> - - <dt><code><b>--file-list-epilogue</b></code> <i>text</i></dt> - <dd>Insert <i>text</i> at the end of the file list. As a convenience, all - occurrences of the <code><b>\n</b></code> character sequence in <i>text</i> - are replaced with new lines.</dd> - - <dt><code><b>--file-list-delim</b></code> <i>text</i></dt> - <dd>Delimit file names written to the file list with <i>text</i> instead of new - lines. As a convenience, all occurrences of the <code><b>\n</b></code> - character sequence in <i>text</i> are replaced with new lines.</dd> - -</dl> - <h2>CXX-TREE COMMAND OPTIONS</h2> - -<!-- - The following documentation was generated by CLI, a command - line interface compiler for C++. ---> - -<dl class="options"> - <dt><code><b>--generate-polymorphic</b></code></dt> - <dd>Generate polymorphism-aware code. Specify this option if you use - substitution groups or <code><b>xsi:type</b></code>. Use the - <code><b>--polymorphic-type</b></code> or - <code><b>--polymorphic-type-all</b></code> option to specify which type - hierarchies are polymorphic.</dd> - - <dt><code><b>--polymorphic-type</b></code> <i>type</i></dt> - <dd>Indicate that <i>type</i> is a root of a polymorphic type hierarchy. The - compiler can often automatically determine which types are polymorphic based - on the substitution group declarations. However, you may need to use this - option if you are not using substitution groups or if substitution groups - are defined in another schema. You need to specify this option when - compiling every schema file that references <i>type</i>. The <i>type</i> - argument is an XML Schema type name that can be optionally qualified with a - namespace in the <code><i>namespace</i><b>#</b><i>name</i></code> form.</dd> - - <dt><code><b>--polymorphic-type-all</b></code></dt> - <dd>Indicate that all types should be treated as polymorphic.</dd> - - <dt><code><b>--polymorphic-plate</b></code> <i>num</i></dt> - <dd>Specify the polymorphic map plate the generated code should register on. - This functionality is primarily useful to segregate multiple schemas that - define the same polymorphic types.</dd> - - <dt><code><b>--ordered-type</b></code> <i>type</i></dt> - <dd>Indicate that element order in <i>type</i> is significant. An example would - be a complex type with unbounded choice as a content model where the element - order in XML has application-specific semantics. For ordered types the - compiler generates a special container data member and a corresponding set - of accessors and modifiers that are used to capture the order of elements - and, for mixed content, of text. - - <p>The <i>type</i> argument is an XML Schema type name that can be - optionally qualified with a namespace in the - <code><i>namespace</i><b>#</b><i>name</i></code> form. Note also that you - will need to specify this option when compiling every schema file that has - other ordered types derived from this type.</p></dd> - - <dt><code><b>--ordered-type-derived</b></code></dt> - <dd>Automatically treat types derived from ordered bases as also ordered. This - is primarily useful if you would like to be able to iterate over the - complete content using the content order container.</dd> - - <dt><code><b>--ordered-type-mixed</b></code></dt> - <dd>Automatically treat complex types with mixed content as ordered.</dd> - - <dt><code><b>--ordered-type-all</b></code></dt> - <dd>Indicate that element order in all types is significant.</dd> - - <dt><code><b>--order-container</b></code> <i>type</i></dt> - <dd>Specify a custom class template that should be used as a container for the - content order in ordered types instead of the default - <code><b>std::vector</b></code>. See <code><b>--ordered-type</b></code> for - more information on ordered type. This option is primarily useful if you - need to perform more complex lookups in the content order container, for - example by element id. In this case, a container like Boost multi-index may - be more convenient. Note that if using a custom container, you will also - most likely need to include the relevant headers using the - <code><b>--hxx-prologue*</b></code> options.</dd> - - <dt><code><b>--generate-serialization</b></code></dt> - <dd>Generate serialization functions. Serialization functions convert the object - model back to XML.</dd> - - <dt><code><b>--generate-ostream</b></code></dt> - <dd>Generate ostream insertion operators (<code><b>operator<<</b></code>) - for generated types. This allows one to easily print a fragment or the whole - object model for debugging or logging.</dd> - - <dt><code><b>--generate-doxygen</b></code></dt> - <dd>Generate documentation comments suitable for extraction by the Doxygen - documentation system. Documentation from annotations is added to the - comments if present in the schema.</dd> - - <dt><code><b>--generate-comparison</b></code></dt> - <dd>Generate comparison operators (<code><b>operator==</b></code> and - <code><b>operator!=</b></code>) for complex types. Comparison is performed - member-wise.</dd> - - <dt><code><b>--generate-default-ctor</b></code></dt> - <dd>Generate default constructors even for types that have required members. - Required members of an instance constructed using such a constructor are not - initialized and accessing them results in undefined behavior.</dd> - - <dt><code><b>--generate-from-base-ctor</b></code></dt> - <dd>Generate constructors that expect an instance of a base type followed by all - required members.</dd> - - <dt><code><b>--suppress-assignment</b></code></dt> - <dd>Suppress the generation of copy assignment operators for complex types. If - this option is specified, the copy assignment operators for such types are - declared private and left unimplemented.</dd> - - <dt><code><b>--generate-detach</b></code></dt> - <dd>Generate detach functions for required elements and attributes. Detach - functions for optional and sequence cardinalities are provided by the - respective containers. These functions, for example, allow you to move - sub-trees in the object model either within the same tree or between - different trees.</dd> - - <dt><code><b>--generate-wildcard</b></code></dt> - <dd>Generate accessors and modifiers as well as parsing and serialization code - for XML Schema wildcards (<code><b>any</b></code> and - <code><b>anyAttribute</b></code>). XML content matched by wildcards is - presented as DOM fragments. Note that you need to initialize the Xerces-C++ - runtime if you are using this option.</dd> - - <dt><code><b>--generate-any-type</b></code></dt> - <dd>Extract and store content of the XML Schema <code><b>anyType</b></code> type - as a DOM fragment. Note that you need to initialize the Xerces-C++ runtime - if you are using this option.</dd> - - <dt><code><b>--generate-insertion</b></code> <i>os</i></dt> - <dd>Generate data representation stream insertion operators for the <i>os</i> - output stream type. Repeat this option to specify more than one stream type. - The ACE CDR stream (<code><b>ACE_OutputCDR</b></code>) and RPC XDR are - recognized by the compiler and the necessary <code><b>#include</b></code> - directives are automatically generated. For custom stream types use the - <code><b>--hxx-prologue*</b></code> options to provide the necessary - declarations.</dd> - - <dt><code><b>--generate-extraction</b></code> <i>is</i></dt> - <dd>Generate data representation stream extraction constructors for the - <i>is</i> input stream type. Repeat this option to specify more than one - stream type. The ACE CDR stream (<code><b>ACE_InputCDR</b></code>) and RPC - XDR are recognized by the compiler and the necessary - <code><b>#include</b></code> directives are automatically generated. For - custom stream types use the <code><b>--hxx-prologue*</b></code> options to - provide the necessary declarations.</dd> - - <dt><code><b>--generate-forward</b></code></dt> - <dd>Generate a separate header file with forward declarations for the types - being generated.</dd> - - <dt><code><b>--suppress-parsing</b></code></dt> - <dd>Suppress the generation of the parsing functions and constructors. Use this - option to reduce the generated code size when parsing from XML is not - needed.</dd> - - <dt><code><b>--generate-element-type</b></code></dt> - <dd>Generate types instead of parsing and serialization functions for root - elements. This is primarily useful to distinguish object models with the - same root type but with different root elements.</dd> - - <dt><code><b>--generate-element-map</b></code></dt> - <dd>Generate a root element map that allows uniform parsing and serialization of - multiple root elements. This option is only valid together with - <code><b>--generate-element-type</b></code>.</dd> - - <dt><code><b>--generate-intellisense</b></code></dt> - <dd>Generate workarounds for IntelliSense bugs in Visual Studio 2005 (8.0). When - this option is used, the resulting code is slightly more verbose. - IntelliSense in Visual Studio 2008 (9.0) and later does not require these - workarounds. Support for IntelliSense in Visual Studio 2003 (7.1) is - improved with this option but is still incomplete.</dd> - - <dt><code><b>--omit-default-attributes</b></code></dt> - <dd>Omit attributes with default and fixed values from serialized XML documents.</dd> - - <dt><code><b>--type-naming</b></code> <i>style</i></dt> - <dd>Specify the type naming convention that should be used in the generated - code. Valid styles are <code><b>knr</b></code> (default), - <code><b>ucc</b></code>, and <code><b>java</b></code>. See the NAMING - CONVENTION section below for more information.</dd> - - <dt><code><b>--function-naming</b></code> <i>style</i></dt> - <dd>Specify the function naming convention that should be used in the generated - code. Valid styles are <code><b>knr</b></code> (default), - <code><b>lcc</b></code>, and <code><b>java</b></code>. See the NAMING - CONVENTION section below for more information.</dd> - - <dt><code><b>--type-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema type names to C++ type names. See the NAMING CONVENTION section below - for more information.</dd> - - <dt><code><b>--accessor-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes to C++ accessor function names. See the - NAMING CONVENTION section below for more information.</dd> - - <dt><code><b>--one-accessor-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality one to C++ accessor - function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--opt-accessor-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality optional to C++ - accessor function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--seq-accessor-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality sequence to C++ - accessor function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--modifier-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes to C++ modifier function names. See the - NAMING CONVENTION section below for more information.</dd> - - <dt><code><b>--one-modifier-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality one to C++ modifier - function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--opt-modifier-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality optional to C++ - modifier function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--seq-modifier-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema names of elements/attributes with cardinality sequence to C++ - modifier function names. See the NAMING CONVENTION section below for more - information.</dd> - - <dt><code><b>--parser-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema element names to C++ parsing function names. See the NAMING - CONVENTION section below for more information.</dd> - - <dt><code><b>--serializer-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema element names to C++ serialization function names. See the NAMING - CONVENTION section below for more information.</dd> - - <dt><code><b>--const-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema-derived names to C++ constant names. See the NAMING CONVENTION - section below for more information.</dd> - - <dt><code><b>--enumerator-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema enumeration values to C++ enumerator names. See the NAMING CONVENTION - section below for more information.</dd> - - <dt><code><b>--element-type-regex</b></code> <i>regex</i></dt> - <dd>Add <i>regex</i> to the list of regular expressions used to translate XML - Schema element names to C++ element type names. See the NAMING CONVENTION - section below for more information.</dd> - - <dt><code><b>--name-regex-trace</b></code></dt> - <dd>Trace the process of applying regular expressions specified with the name - transformation options. Use this option to find out why your regular - expressions don't do what you expected them to do.</dd> - - <dt><code><b>--root-element-first</b></code></dt> - <dd>Treat only the first global element as a document root. By default all - global elements are considered document roots.</dd> - - <dt><code><b>--root-element-last</b></code></dt> - <dd>Treat only the last global element as a document root. By default all global - elements are considered document roots.</dd> - - <dt><code><b>--root-element-all</b></code></dt> - <dd>Treat all global elements as document roots. This is the default behavior. - By explicitly specifying this option you can suppress the warning that is - issued if more than one global element is defined.</dd> - - <dt><code><b>--root-element-none</b></code></dt> - <dd>Do not treat any global elements as document roots. By default all global - elements are considered document roots.</dd> - - <dt><code><b>--root-element</b></code> <i>element</i></dt> - <dd>Treat only <i>element</i> as a document root. Repeat this option to specify - more than one root element.</dd> - - <dt><code><b>--custom-type</b></code> <i>map</i></dt> - <dd>Use a custom C++ type instead of the generated class. The <i>map</i> - argument is in the form - <code><i>name</i>[<b>=</b><i>type</i>[<b>/</b><i>base</i>]]</code>, where - <i>name</i> is a type name as defined in XML Schema and <i>type</i> is a C++ - type name that should be used instead. If <i>type</i> is not present or - empty then the custom type is assumed to have the same name and be defined - in the same namespace as the generated class would have. If <i>base</i> is - specified then the generated class is still generated but with that name.</dd> - - <dt><code><b>--custom-type-regex</b></code> <i>regex</i></dt> - <dd>Use custom C++ types instead of the generated classes. The <i>regex</i> - argument is in the form - <code><b>/</b><i>name-pat</i><b>/</b>[<i>type-sub</i><b>/</b>[<i>base-sub</i><b>/</b>]]</code>, - where <i>name-pat</i> is a regex pattern that will be matched against type - names as defined in XML Schema and <i>type-sub</i> is a C++ type name - substitution that should be used instead. If <i>type-sub</i> is not present - or its substitution results in an empty string then the custom type is - assumed to have the same name and be defined in the same namespace as the - generated class would have. If <i>base-sub</i> is present and its - substitution results in a non-empty string then the generated class is still - generated but with the result of this substitution as its name. The pattern - and substitutions are in the Perl regular expression format. See also the - REGEX AND SHELL QUOTING section below.</dd> - - <dt><code><b>--parts</b></code> <i>num</i></dt> - <dd>Split generated source code into <i>num</i> parts. This is useful when - translating large, monolithic schemas and a C++ compiler is not able to - compile the resulting source code at once (usually due to insufficient - memory).</dd> - - <dt><code><b>--parts-suffix</b></code> <i>suffix</i></dt> - <dd>Use <i>suffix</i> instead of the default '<code><b>-</b></code>' to separate - the file name from the part number.</dd> - -</dl> - <h2>CXX-PARSER COMMAND OPTIONS</h2> - -<!-- - The following documentation was generated by CLI, a command - line interface compiler for C++. ---> - -<dl class="options"> - <dt><code><b>--type-map</b></code> <i>mapfile</i></dt> - <dd>Read XML Schema to C++ type mapping information from <i>mapfile</i>. Repeat - this option to specify several type maps. Type maps are considered in order - of appearance and the first match is used. By default all user-defined types - are mapped to <code><b>void</b></code>. See the TYPE MAP section below for - more information.</dd> - - <dt><code><b>--xml-parser</b></code> <i>parser</i></dt> - <dd>Use <i>parser</i> as the underlying XML parser. Valid values are - <code><b>xerces</b></code> for Xerces-C++ (default) and - <code><b>expat</b></code> for Expat.</dd> - - <dt><code><b>--generate-validation</b></code></dt> - <dd>Generate validation code. The validation code ("perfect parser") ensures - that instance documents conform to the schema. Validation code is generated - by default when the selected underlying XML parser is non-validating - (<code><b>expat</b></code>).</dd> - - <dt><code><b>--suppress-validation</b></code></dt> - <dd>Suppress the generation of validation code. Validation is suppressed by - default when the selected underlying XML parser is validating - (<code><b>xerces</b></code>).</dd> - - <dt><code><b>--generate-polymorphic</b></code></dt> - <dd>Generate polymorphism-aware code. Specify this option if you use - substitution groups or <code><b>xsi:type</b></code>.</dd> - - <dt><code><b>--generate-noop-impl</b></code></dt> - <dd>Generate a sample parser implementation that does nothing (no operation). - The sample implementation can then be filled with the application-specific - code. For an input file in the form <code><b>name.xsd</b></code> this option - triggers the generation of two additional C++ files in the form: - <code><b>name-pimpl.hxx</b></code> (parser implementation header file) and - <code><b>name-pimpl.cxx</b></code> (parser implementation source file).</dd> - - <dt><code><b>--generate-print-impl</b></code></dt> - <dd>Generate a sample parser implementation that prints the XML data to - <code>STDOUT</code>. For an input file in the form - <code><b>name.xsd</b></code> this option triggers the generation of two - additional C++ files in the form: <code><b>name-pimpl.hxx</b></code> (parser - implementation header file) and <code><b>name-pimpl.cxx</b></code> (parser - implementation source file).</dd> - - <dt><code><b>--generate-test-driver</b></code></dt> - <dd>Generate a test driver for the sample parser implementation. For an input - file in the form <code><b>name.xsd</b></code> this option triggers the - generation of an additional C++ file in the form - <code><b>name-driver.cxx</b></code>.</dd> - - <dt><code><b>--force-overwrite</b></code></dt> - <dd>Force overwriting of the existing implementation and test driver files. Use - this option only if you do not mind loosing the changes you have made in the - sample implementation or test driver files.</dd> - - <dt><code><b>--root-element-first</b></code></dt> - <dd>Indicate that the first global element is the document root. This - information is used to generate the test driver for the sample - implementation.</dd> - - <dt><code><b>--root-element-last</b></code></dt> - <dd>Indicate that the last global element is the document root. This information - is used to generate the test driver for the sample implementation.</dd> - - <dt><code><b>--root-element</b></code> <i>element</i></dt> - <dd>Indicate that <i>element</i> is the document root. This information is used - to generate the test driver for the sample implementation.</dd> - - <dt><code><b>--skel-type-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>_pskel</b></code> to construct the names of the generated parser - skeletons.</dd> - - <dt><code><b>--skel-file-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>-pskel</b></code> to construct the names of the generated parser - skeleton files.</dd> - - <dt><code><b>--impl-type-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>_pimpl</b></code> to construct the names of the parser - implementations for the built-in XML Schema types as well as sample parser - implementations.</dd> - - <dt><code><b>--impl-file-suffix</b></code> <i>suffix</i></dt> - <dd>Use the provided <i>suffix</i> instead of the default - <code><b>-pimpl</b></code> to construct the names of the generated sample - parser implementation files.</dd> - -</dl> - <h1>NAMING CONVENTION</h1> - - <p>The compiler can be instructed to use a particular naming - convention in the generated code. A number of widely-used - conventions can be selected using the <code><b>--type-naming</b></code> - and <code><b>--function-naming</b></code> options. A custom - naming convention can be achieved using the - <code><b>--type-regex</b></code>, - <code><b>--accessor-regex</b></code>, - <code><b>--one-accessor-regex</b></code>, - <code><b>--opt-accessor-regex</b></code>, - <code><b>--seq-accessor-regex</b></code>, - <code><b>--modifier-regex</b></code>, - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, - <code><b>--seq-modifier-regex</b></code>, - <code><b>--parser-regex</b></code>, - <code><b>--serializer-regex</b></code>, - <code><b>--const-regex</b></code>, - <code><b>--enumerator-regex</b></code>, and - <code><b>--element-type-regex</b></code> options. - </p> - - <p>The <code><b>--type-naming</b></code> option specifies the - convention that should be used for naming C++ types. Possible - values for this option are <code><b>knr</b></code> (default), - <code><b>ucc</b></code>, and <code><b>java</b></code>. The - <code><b>knr</b></code> value (stands for K&R) signifies - the standard, lower-case naming convention with the underscore - used as a word delimiter, for example: <code>foo</code>, - <code>foo_bar</code>. The <code><b>ucc</b></code> (stands - for upper-camel-case) and - <code><b>java</b></code> values a synonyms for the same - naming convention where the first letter of each word in the - name is capitalized, for example: <code>Foo</code>, - <code>FooBar</code>.</p> - - <p>Similarly, the <code><b>--function-naming</b></code> option - specifies the convention that should be used for naming C++ - functions. Possible values for this option are <code><b>knr</b></code> - (default), <code><b>lcc</b></code>, and <code><b>java</b></code>. The - <code><b>knr</b></code> value (stands for K&R) signifies - the standard, lower-case naming convention with the underscore - used as a word delimiter, for example: <code>foo()</code>, - <code>foo_bar()</code>. The <code><b>lcc</b></code> value - (stands for lower-camel-case) signifies a naming convention - where the first letter of each word except the first is - capitalized, for example: <code>foo()</code>, <code>fooBar()</code>. - The <code><b>java</b></code> naming convention is similar to - the lower-camel-case one except that accessor functions are prefixed - with <code>get</code>, modifier functions are prefixed - with <code>set</code>, parsing functions are prefixed - with <code>parse</code>, and serialization functions are - prefixed with <code>serialize</code>, for example: - <code>getFoo()</code>, <code>setFooBar()</code>, - <code>parseRoot()</code>, <code>serializeRoot()</code>.</p> - - <p>Note that the naming conventions specified with the - <code><b>--type-naming</b></code> and - <code><b>--function-naming</b></code> options perform only limited - transformations on the names that come from the schema in the - form of type, attribute, and element names. In other words, to - get consistent results, your schemas should follow a similar - naming convention as the one you would like to have in the - generated code. Alternatively, you can use the - <code><b>--*-regex</b></code> options (discussed below) - to perform further transformations on the names that come from - the schema.</p> - - <p>The - <code><b>--type-regex</b></code>, - <code><b>--accessor-regex</b></code>, - <code><b>--one-accessor-regex</b></code>, - <code><b>--opt-accessor-regex</b></code>, - <code><b>--seq-accessor-regex</b></code>, - <code><b>--modifier-regex</b></code>, - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, - <code><b>--seq-modifier-regex</b></code>, - <code><b>--parser-regex</b></code>, - <code><b>--serializer-regex</b></code>, - <code><b>--const-regex</b></code>, - <code><b>--enumerator-regex</b></code>, and - <code><b>--element-type-regex</b></code> options allow you to - specify extra regular expressions for each name category in - addition to the predefined set that is added depending on - the <code><b>--type-naming</b></code> and - <code><b>--function-naming</b></code> options. Expressions - that are provided with the <code><b>--*-regex</b></code> - options are evaluated prior to any predefined expressions. - This allows you to selectively override some or all of the - predefined transformations. When debugging your own expressions, - it is often useful to see which expressions match which names. - The <code><b>--name-regex-trace</b></code> option allows you - to trace the process of applying regular expressions to - names.</p> - - <p>The value for the <code><b>--*-regex</b></code> options should be - a perl-like regular expression in the form - <code><b>/</b><i>pattern</i><b>/</b><i>replacement</i><b>/</b></code>. - Any character can be used as a delimiter instead of <code><b>/</b></code>. - Escaping of the delimiter character in <code><i>pattern</i></code> or - <code><i>replacement</i></code> is not supported. - All the regular expressions for each category are pushed into a - category-specific stack with the last specified expression - considered first. The first match that succeeds is used. For the - <code><b>--one-accessor-regex</b></code> (accessors with cardinality one), - <code><b>--opt-accessor-regex</b></code> (accessors with cardinality optional), and - <code><b>--seq-accessor-regex</b></code> (accessors with cardinality sequence) - categories the <code><b>--accessor-regex</b></code> expressions are - used as a fallback. For the - <code><b>--one-modifier-regex</b></code>, - <code><b>--opt-modifier-regex</b></code>, and - <code><b>--seq-modifier-regex</b></code> - categories the <code><b>--modifier-regex</b></code> expressions are - used as a fallback. For the <code><b>--element-type-regex</b></code> - category the <code><b>--type-regex</b></code> expressions are - used as a fallback.</p> - - <p>The type name expressions (<code><b>--type-regex</b></code>) - are evaluated on the name string that has the following - format:</p> - - <p><code>[<i>namespace</i> ]<i>name</i>[,<i>name</i>][,<i>name</i>][,<i>name</i>]</code></p> - - <p>The element type name expressions - (<code><b>--element-type-regex</b></code>), effective only when - the <code><b>--generate-element-type</b></code> option is specified, - are evaluated on the name string that has the following - format:</p> - - <p><code><i>namespace</i> <i>name</i></code></p> - - <p>In the type name format the <code><i>namespace</i></code> part - followed by a space is only present for global type names. For - global types and elements defined in schemas without a target - namespace, the <code><i>namespace</i></code> part is empty but - the space is still present. In the type name format after the - initial <code><i>name</i></code> component, up to three additional - <code><i>name</i></code> components can be present, separated - by commas. For example:</p> - - <p><code><b>http://example.com/hello type</b></code></p> - <p><code><b>foo</b></code></p> - <p><code><b>foo,iterator</b></code></p> - <p><code><b>foo,const,iterator</b></code></p> - - <p>The following set of predefined regular expressions is used to - transform type names when the upper-camel-case naming convention - is selected:</p> - - <p><code><b>/(?:[^ ]* )?([^,]+)/\u$1/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+)/\u$1\u$2/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3/</b></code></p> - <p><code><b>/(?:[^ ]* )?([^,]+),([^,]+),([^,]+),([^,]+)/\u$1\u$2\u$3\u$4/</b></code></p> - - <p>The accessor and modifier expressions - (<code><b>--*accessor-regex</b></code> and - <code><b>--*modifier-regex</b></code>) are evaluated on the name string - that has the following format:</p> - - <p><code><i>name</i>[,<i>name</i>][,<i>name</i>]</code></p> - - <p>After the initial <code><i>name</i></code> component, up to two - additional <code><i>name</i></code> components can be present, - separated by commas. For example:</p> - - <p><code><b>foo</b></code></p> - <p><code><b>dom,document</b></code></p> - <p><code><b>foo,default,value</b></code></p> - - <p>The following set of predefined regular expressions is used to - transform accessor names when the <code><b>java</b></code> naming - convention is selected:</p> - - <p><code><b>/([^,]+)/get\u$1/</b></code></p> - <p><code><b>/([^,]+),([^,]+)/get\u$1\u$2/</b></code></p> - <p><code><b>/([^,]+),([^,]+),([^,]+)/get\u$1\u$2\u$3/</b></code></p> - - <p>For the parser, serializer, and enumerator categories, the - corresponding regular expressions are evaluated on local names of - elements and on enumeration values, respectively. For example, the - following predefined regular expression is used to transform parsing - function names when the <code><b>java</b></code> naming convention - is selected:</p> - - <p><code><b>/(.+)/parse\u$1/</b></code></p> - - <p>The const category is used to create C++ constant names for the - element/wildcard/text content ids in ordered types.</p> - - <p>See also the REGEX AND SHELL QUOTING section below.</p> - - <h1>TYPE MAP</h1> - - <p>Type map files are used in C++/Parser to define a mapping between - XML Schema and C++ types. The compiler uses this information - to determine the return types of <code><b>post_*</b></code> - functions in parser skeletons corresponding to XML Schema - types as well as argument types for callbacks corresponding - to elements and attributes of these types.</p> - - <p>The compiler has a set of predefined mapping rules that map - built-in XML Schema types to suitable C++ types (discussed - below) and all other types to <code><b>void</b></code>. - By providing your own type maps you can override these predefined - rules. The format of the type map file is presented below: - </p> - - <pre> -namespace <schema-namespace> [<cxx-namespace>] -{ - (include <file-name>;)* - ([type] <schema-type> <cxx-ret-type> [<cxx-arg-type>];)* -} - </pre> - - <p>Both <code><i><schema-namespace></i></code> and - <code><i><schema-type></i></code> are regex patterns while - <code><i><cxx-namespace></i></code>, - <code><i><cxx-ret-type></i></code>, and - <code><i><cxx-arg-type></i></code> are regex pattern - substitutions. All names can be optionally enclosed in - <code><b>" "</b></code>, for example, to include white-spaces.</p> - - <p><code><i><schema-namespace></i></code> determines XML - Schema namespace. Optional <code><i><cxx-namespace></i></code> - is prefixed to every C++ type name in this namespace declaration. - <code><i><cxx-ret-type></i></code> is a C++ type name that is - used as a return type for the <code><b>post_*</b></code> functions. - Optional <code><i><cxx-arg-type></i></code> is an argument - type for callback functions corresponding to elements and attributes - of this type. If - <code><i><cxx-arg-type></i></code> is not specified, it defaults - to <code><i><cxx-ret-type></i></code> if <code><i><cxx-ret-type></i></code> - ends with <code><b>*</b></code> or <code><b>&</b></code> (that is, - it is a pointer or a reference) and - <code><b>const</b> <i><cxx-ret-type></i><b>&</b></code> - otherwise. - <code><i><file-name></i></code> is a file name either in the - <code><b>" "</b></code> or <code><b>< ></b></code> format - and is added with the <code><b>#include</b></code> directive to - the generated code.</p> - - <p>The <code><b>#</b></code> character starts a comment that ends - with a new line or end of file. To specify a name that contains - <code><b>#</b></code> enclose it in <code><b>" "</b></code>. - For example:</p> - - <pre> -namespace http://www.example.com/xmlns/my my -{ - include "my.hxx"; - - # Pass apples by value. - # - apple apple; - - # Pass oranges as pointers. - # - orange orange_t*; -} - </pre> - - <p>In the example above, for the - <code><b>http://www.example.com/xmlns/my#orange</b></code> - XML Schema type, the <code><b>my::orange_t*</b></code> C++ type will - be used as both return and argument types.</p> - - <p>Several namespace declarations can be specified in a single - file. The namespace declaration can also be completely - omitted to map types in a schema without a namespace. For - instance:</p> - - <pre> -include "my.hxx"; -apple apple; - -namespace http://www.example.com/xmlns/my -{ - orange "const orange_t*"; -} - </pre> - - <p>The compiler has a number of predefined mapping rules that can be - presented as the following map files. The string-based XML Schema - built-in types are mapped to either <code><b>std::string</b></code> - or <code><b>std::wstring</b></code> depending on the character type - selected with the <code><b>--char-type</b></code> option - (<code><b>char</b></code> by default).</p> - - <pre> -namespace http://www.w3.org/2001/XMLSchema -{ - boolean bool bool; - - byte "signed char" "signed char"; - unsignedByte "unsigned char" "unsigned char"; - - short short short; - unsignedShort "unsigned short" "unsigned short"; - - int int int; - unsignedInt "unsigned int" "unsigned int"; - - long "long long" "long long"; - unsignedLong "unsigned long long" "unsigned long long"; - - integer "long long" "long long"; - - negativeInteger "long long" "long long"; - nonPositiveInteger "long long" "long long"; - - positiveInteger "unsigned long long" "unsigned long long"; - nonNegativeInteger "unsigned long long" "unsigned long long"; - - float float float; - double double double; - decimal double double; - - string std::string; - normalizedString std::string; - token std::string; - Name std::string; - NMTOKEN std::string; - NCName std::string; - ID std::string; - IDREF std::string; - language std::string; - anyURI std::string; - - NMTOKENS xml_schema::string_sequence; - IDREFS xml_schema::string_sequence; - - QName xml_schema::qname; - - base64Binary std::auto_ptr<xml_schema::buffer> - std::auto_ptr<xml_schema::buffer>; - hexBinary std::auto_ptr<xml_schema::buffer> - std::auto_ptr<xml_schema::buffer>; - - date xml_schema::date; - dateTime xml_schema::date_time; - duration xml_schema::duration; - gDay xml_schema::gday; - gMonth xml_schema::gmonth; - gMonthDay xml_schema::gmonth_day; - gYear xml_schema::gyear; - gYearMonth xml_schema::gyear_month; - time xml_schema::time; -} - </pre> - - <p>The last predefined rule maps anything that wasn't mapped by - previous rules to <code><b>void</b></code>:</p> - - <pre> -namespace .* -{ - .* void void; -} - </pre> - - - <p>When you provide your own type maps with the - <code><b>--type-map</b></code> option, they are evaluated first. - This allows you to selectively override predefined rules.</p> - - <h1>REGEX AND SHELL QUOTING</h1> - - <p>When entering a regular expression argument in the shell - command line it is often necessary to use quoting (enclosing - the argument in <code><b>" "</b></code> or - <code><b>' '</b></code>) in order to prevent the shell - from interpreting certain characters, for example, spaces as - argument separators and <code><b>$</b></code> as variable - expansions.</p> - - <p>Unfortunately it is hard to achieve this in a manner that is - portable across POSIX shells, such as those found on - GNU/Linux and UNIX, and Windows shell. For example, if you - use <code><b>" "</b></code> for quoting you will get a - wrong result with POSIX shells if your expression contains - <code><b>$</b></code>. The standard way of dealing with this - on POSIX systems is to use <code><b>' '</b></code> instead. - Unfortunately, Windows shell does not remove <code><b>' '</b></code> - from arguments when they are passed to applications. As a result you - may have to use <code><b>' '</b></code> for POSIX and - <code><b>" "</b></code> for Windows (<code><b>$</b></code> is - not treated as a special character on Windows).</p> - - <p>Alternatively, you can save regular expression options into - a file, one option per line, and use this file with the - <code><b>--options-file</b></code> option. With this approach - you don't need to worry about shell quoting.</p> - - <h1>DIAGNOSTICS</h1> - - <p>If the input file is not a valid W3C XML Schema definition, - <code><b>xsd</b></code> will issue diagnostic messages to STDERR - and exit with non-zero exit code.</p> - - <h1>BUGS</h1> - - <p>Send bug reports to the - <a href="mailto:xsd-users@codesynthesis.com">xsd-users@codesynthesis.com</a> mailing list.</p> - - </div> - <div id="footer"> - ©2005-2014 <a href="http://codesynthesis.com">CODE SYNTHESIS TOOLS CC</a> - - <div id="terms"> - Permission is granted to copy, distribute and/or modify this - document under the terms of the - <a href="http://codesynthesis.com/licenses/fdl-1.2.txt">GNU Free - Documentation License, version 1.2</a>; with no Invariant Sections, - no Front-Cover Texts and no Back-Cover Texts. - </div> - </div> -</div> -</body> -</html> diff --git a/xsd/xsd/elements.hxx b/xsd/elements.hxx index b09803f..d3dd659 100644 --- a/xsd/xsd/elements.hxx +++ b/xsd/elements.hxx @@ -1,14 +1,13 @@ // file : xsd/elements.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef ELEMENTS_HXX -#define ELEMENTS_HXX +#ifndef XSD_ELEMENTS_HXX +#define XSD_ELEMENTS_HXX -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <types.hxx> +#include <xsd/types.hxx> namespace SemanticGraph = XSDFrontend::SemanticGraph; namespace Traversal = XSDFrontend::Traversal; @@ -123,4 +122,4 @@ private: Traversal::Belongs belongs_; }; -#endif // ELEMENTS_HXX +#endif // XSD_ELEMENTS_HXX diff --git a/xsd/examples/cxx/parser/README b/xsd/examples/cxx/parser/README deleted file mode 100644 index 01906c7..0000000 --- a/xsd/examples/cxx/parser/README +++ /dev/null @@ -1,45 +0,0 @@ -This directory contains a number of examples that show how to use -the C++/Parser mapping. The following list gives an overview of -each example. See the README files in example directories for -more information on each example. - -hello - A simple "Hello, world!" example that shows how to parse XML - documents. - -generated - Shows how to use the sample implementation and test driver - generation feature. This example does not have any hand-written - C++ code; everything is generated by the XSD compiler. - -library - Shows how to handle more complex data structures and construct - a custom in-memory object model. - -mixin - Shows how to reuse implementations of base parsers in derived - parsers using the mixin C++ idiom. - -wildcard - Shows how to parse the XML data matched by XML Schema wildcards - (any and anyAttribute). - -multiroot - Shows how to handle XML vocabularies with multiple root elements. - -polymorphism - Shows how to use XML Schema polymorphism features such as the - xsi:type attribute and substitution groups. - -polyroot - Shows how to handle the xsi:type attribute when it is used on root - elements. - -performance - Measures the performance of XML parsing. This example also shows how - to structure your code to achieve the maximum performance for this - operation. - -mixed - Shows how to handle raw, "type-less content" such as mixed content - models, anyType/anySimpleType, and any/anyAttribute.
\ No newline at end of file diff --git a/xsd/examples/cxx/parser/generated/README b/xsd/examples/cxx/parser/generated/README deleted file mode 100644 index ca56974..0000000 --- a/xsd/examples/cxx/parser/generated/README +++ /dev/null @@ -1,32 +0,0 @@ -This example shows how to use the sample implementation and test -driver generation feature of the C++/Parser mapping. This example -does not have any hand-written C++ code; everything is generated -by the XSD compiler. - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library-pskel.hxx -library-pskel.cxx - Parser skeletons generated by XSD from library.xsd. - -library-pimpl.hxx -library-pimpl.cxx - Sample parser implementations that print the XML data to STDOUT. - These are generated by XSD from library.xsd with the - --generate-print-impl option. - -library-driver.cxx - Sample driver for the example. It is generated by XSD from - library.xsd with the --generate-test-driver option. - - -To run the example on the sample XML instance document simply -execute: - -$ ./library-driver library.xml diff --git a/xsd/examples/cxx/parser/generated/library.xml b/xsd/examples/cxx/parser/generated/library.xml deleted file mode 100644 index b1ac98c..0000000 --- a/xsd/examples/cxx/parser/generated/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/library/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP" available="true" > - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/parser/generated/library.xsd b/xsd/examples/cxx/parser/generated/library.xsd deleted file mode 100644 index 71e4005..0000000 --- a/xsd/examples/cxx/parser/generated/library.xsd +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/library/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:string"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:string"/> - <xsd:element name="died" type="xsd:string" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF"/> <!-- Book --> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" use="required"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/generated/makefile b/xsd/examples/cxx/parser/generated/makefile deleted file mode 100644 index 78a60fe..0000000 --- a/xsd/examples/cxx/parser/generated/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : examples/cxx/parser/generated/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd - -obj := $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.o) $(xsd:.xsd=-pimpl.o) $(xsd:.xsd=-driver.o)) -dep := $(obj:.o=.o.d) - - -driver := $(out_base)/$(xsd:.xsd=-driver) -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) \ - $(xsd:.xsd=-pskel.ixx) \ - $(xsd:.xsd=-pskel.cxx) \ - $(xsd:.xsd=-pimpl.hxx) \ - $(xsd:.xsd=-pimpl.cxx) \ - $(xsd:.xsd=-driver.cxx) - -gen := $(addprefix $(out_base)/,$(genf)) - - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-print-impl --generate-test-driver \ ---force-overwrite -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pimpl.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := $(xsd:.xsd=-driver) $(genf) -$(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) -$(call include,$(bld_root)/install.make) - -xsd_parser_impl_suffix := -pimpl -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/hello/README b/xsd/examples/cxx/parser/hello/README deleted file mode 100644 index 97449de..0000000 --- a/xsd/examples/cxx/parser/hello/README +++ /dev/null @@ -1,28 +0,0 @@ -This is a "Hello, world!" example that shows how to use the -C++/Parser mapping to parse XML instance documents. - -The example consists of the following files: - -hello.xsd - XML Schema which describes "hello" instance documents. - -hello.xml - Sample XML instance document. - -hello-pskel.hxx -hello-pskel.cxx - Parser skeletons generated by XSD from hello.xsd. - -driver.cxx - A parser implementation and a driver for the example. The - parser implementation simply prints the data to STDERR. - The driver first constructs a parser instance from the - parser implementation mentioned above and a couple of - predefined parsers for the XML Schema built-in types. - In then invokes this parser instance to parse the input - file. - -To run the example on the sample XML instance document simply -execute: - -$ ./driver hello.xml diff --git a/xsd/examples/cxx/parser/hello/driver.cxx b/xsd/examples/cxx/parser/hello/driver.cxx deleted file mode 100644 index e261e10..0000000 --- a/xsd/examples/cxx/parser/hello/driver.cxx +++ /dev/null @@ -1,67 +0,0 @@ -// file : examples/cxx/parser/hello/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <iostream> - -#include "hello-pskel.hxx" - -using namespace std; - -struct hello_pimpl: hello_pskel -{ - virtual void - greeting (const string& greeting) - { - greeting_ = greeting; - } - - virtual void - name (const string& name) - { - cout << greeting_ << ", " << name << "!" << endl; - } - -private: - string greeting_; -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " hello.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - hello_pimpl hello_p; - - hello_p.greeting_parser (string_p); - hello_p.name_parser (string_p); - - // Parse the XML instance document. The second argument to the - // document's constructor is the document's root element name. - // - xml_schema::document doc_p (hello_p, "hello"); - - hello_p.pre (); - doc_p.parse (argv[1]); - hello_p.post_hello (); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/hello/hello.xml b/xsd/examples/cxx/parser/hello/hello.xml deleted file mode 100644 index dd0c13d..0000000 --- a/xsd/examples/cxx/parser/hello/hello.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/hello/hello.xml -copyright : not copyrighted - public domain - ---> - -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello> diff --git a/xsd/examples/cxx/parser/hello/hello.xsd b/xsd/examples/cxx/parser/hello/hello.xsd deleted file mode 100644 index be69957..0000000 --- a/xsd/examples/cxx/parser/hello/hello.xsd +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/hello/hello.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="hello"> - <xsd:sequence> - <xsd:element name="greeting" type="xsd:string"/> - <xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="hello" type="hello"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/hello/makefile b/xsd/examples/cxx/parser/hello/makefile deleted file mode 100644 index ccf0257..0000000 --- a/xsd/examples/cxx/parser/hello/makefile +++ /dev/null @@ -1,101 +0,0 @@ -# file : examples/cxx/parser/hello/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := hello.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/hello.xsd,$(install_doc_dir)/xsd/$(path)/hello.xsd) - $(call install-data,$(src_base)/hello.xml,$(install_doc_dir)/xsd/$(path)/hello.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/hello.xsd,$(dist_prefix)/$(path)/hello.xsd) - $(call install-data,$(src_base)/hello.xml,$(dist_prefix)/$(path)/hello.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/library/README b/xsd/examples/cxx/parser/library/README deleted file mode 100644 index 3f515f6..0000000 --- a/xsd/examples/cxx/parser/library/README +++ /dev/null @@ -1,44 +0,0 @@ -This example shows how to use the C++/Parser mapping to construct -a custom in-memory object model from XML instance documents. - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx - Types that describe a library of books in C++. These are - hand-written. - -library.map - Type map. It maps XML Schema types defined in library.xsd - to the C++ types defined in library.hxx. - -library-pskel.hxx -library-pskel.ixx -library-pskel.cxx - Parser skeletons generated by XSD from library.xsd and - library.map. - -library-pimpl.hxx -library-pimpl.cxx - Parser implementations that construct the custom in-memory - object model from an XML instance using the types from - library.hxx. These are hand-written implementations of - the parser skeletons defined in library-pskel.hxx. - -driver.cxx - Driver for the example. It first constructs a parser - instance from all the individual parsers found in - library-pimpl.hxx. In then invokes this parser instance - to parse the input file and produce the in-memory - object model. Finally, it prints the contents of the - in-memory object model to STDERR. - -To run the example on the sample XML instance document simply -execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/parser/library/driver.cxx b/xsd/examples/cxx/parser/library/driver.cxx deleted file mode 100644 index 3b63801..0000000 --- a/xsd/examples/cxx/parser/library/driver.cxx +++ /dev/null @@ -1,109 +0,0 @@ -// file : examples/cxx/parser/library/driver.cxx -// copyright : not copyrighted - public domain - -#include <iostream> - -#include "library.hxx" -#include "library-pimpl.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - try - { - using namespace library; - - - // Construct the parser. - // - xml_schema::id_pimpl id_p; - xml_schema::idref_pimpl idref_p; - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - - isbn_pimpl isbn_p; - - title_pimpl title_p; - title_p.lang_parser (string_p); - - genre_pimpl genre_p; - - author_pimpl author_p; - author_p.parsers (string_p, // name - string_p, // born - string_p, // died - idref_p); // recommends - - book_pimpl book_p; - book_p.parsers (isbn_p, // isbn - title_p, // title - genre_p, // genre - author_p, // author - boolean_p, // available - id_p); // id - - catalog_pimpl catalog_p; - catalog_p.book_parser (book_p); - - - // Parse the XML instance document. - // - xml_schema::document doc_p ( - catalog_p, - "http://www.codesynthesis.com/library", // root element namespace - "catalog"); // root element name - - catalog_p.pre (); - doc_p.parse (argv[1]); - catalog c (catalog_p.post_catalog ()); - - - // Let's print what we've got. - // - for (catalog::const_iterator bi (c.begin ()); bi != c.end (); ++bi) - { - cerr << endl - << "ID : " << bi->id () << endl - << "ISBN : " << bi->isbn () << endl - << "Title : " << bi->title () << endl - << "Genre : " << bi->genre () << endl; - - for (book::authors::const_iterator ai (bi->author ().begin ()); - ai != bi->author ().end (); - ++ai) - { - cerr << "Author : " << ai->name () << endl; - cerr << " Born : " << ai->born () << endl; - - if (!ai->died ().empty ()) - cerr << " Died : " << ai->died () << endl; - - if (!ai->recommends ().empty ()) - { - cerr << " Recommends : " << ai->recommends () << endl; - } - } - - cerr << "Available : " << std::boolalpha << bi->available () << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/library/library-pimpl.cxx b/xsd/examples/cxx/parser/library/library-pimpl.cxx deleted file mode 100644 index 7a1e484..0000000 --- a/xsd/examples/cxx/parser/library/library-pimpl.cxx +++ /dev/null @@ -1,183 +0,0 @@ -// file : examples/cxx/parser/library/library-pimpl.cxx -// copyright : not copyrighted - public domain - -#include "library-pimpl.hxx" - -namespace library -{ - // isbn_impl - // - isbn isbn_pimpl:: - post_isbn () - { - return post_unsigned_int (); - } - - // title_pimpl - // - void title_pimpl:: - _pre () - { - title_.lang (""); - } - - void title_pimpl:: - lang (const std::string& lang) - { - title_.lang (lang); - } - - title title_pimpl:: - post_title () - { - title_.assign (post_string ()); - return title_; - } - - // genre_pimpl - // - genre genre_pimpl:: - post_genre () - { - genre r (romance); - std::string v (post_string ()); - - if (v == "romance") r = romance; else - if (v == "fiction") r = fiction; else - if (v == "horror") r = horror; else - if (v == "history") r = history; else - if (v == "philosophy") r = philosophy; - - return r; - } - - // person_pimpl - // - void person_pimpl:: - _pre () - { - person_.died (""); - } - - void person_pimpl:: - name (const std::string& name) - { - person_.name (name); - } - - void person_pimpl:: - born (const std::string& born) - { - person_.born (born); - } - - void person_pimpl:: - died (const std::string& died) - { - person_.died (died); - } - - person person_pimpl:: - post_person () - { - return person_; - } - - // author_pimpl - // - void author_pimpl:: - _pre () - { - person_pimpl::_pre (); - author_.recommends (""); - } - - void author_pimpl:: - recommends (const std::string& recommends) - { - author_.recommends (recommends); - } - - author author_pimpl:: - post_author () - { - person p (post_person ()); - - author_.name (p.name ()); - author_.born (p.born ()); - author_.died (p.died ()); - - return author_; - } - - // book_pimpl - // - void book_pimpl:: - _pre () - { - book_.author ().clear (); - } - - void book_pimpl:: - isbn (library::isbn isbn) - { - book_.isbn (isbn); - } - - void book_pimpl:: - title (const library::title& title) - { - book_.title (title); - } - - void book_pimpl:: - genre (library::genre genre) - { - book_.genre (genre); - } - - void book_pimpl:: - author (const library::author& author) - { - book_.author ().push_back (author); - } - - void book_pimpl:: - available (bool available) - { - book_.available (available); - } - - void book_pimpl:: - id (const std::string& id) - { - book_.id (id); - } - - book book_pimpl:: - post_book () - { - return book_; - } - - // catalog_pimpl - // - void catalog_pimpl:: - _pre () - { - catalog_.clear (); - } - - void catalog_pimpl:: - book (const library::book& book) - { - catalog_.push_back (book); - } - - catalog catalog_pimpl:: - post_catalog () - { - return catalog_; - } -} - diff --git a/xsd/examples/cxx/parser/library/library-pimpl.hxx b/xsd/examples/cxx/parser/library/library-pimpl.hxx deleted file mode 100644 index 5d0dcc1..0000000 --- a/xsd/examples/cxx/parser/library/library-pimpl.hxx +++ /dev/null @@ -1,135 +0,0 @@ -// file : examples/cxx/parser/library/library-pimpl.hxx -// copyright : not copyrighted - public domain - -#ifndef LIBRARY_PIMPL_HXX -#define LIBRARY_PIMPL_HXX - -#include "library.hxx" -#include "library-pskel.hxx" - -namespace library -{ - // - // - struct isbn_pimpl: isbn_pskel, xml_schema::unsigned_int_pimpl - { - virtual isbn - post_isbn (); - }; - - // - // - struct title_pimpl: title_pskel, xml_schema::string_pimpl - { - virtual void - _pre (); - - virtual void - lang (const std::string&); - - virtual title - post_title (); - - private: - title title_; - }; - - // - // - struct genre_pimpl: genre_pskel, xml_schema::string_pimpl - { - virtual genre - post_genre (); - }; - - // - // - struct person_pimpl: virtual person_pskel - { - virtual void - _pre (); - - virtual void - name (const std::string&); - - virtual void - born (const std::string&); - - virtual void - died (const std::string&); - - virtual person - post_person (); - - private: - person person_; - }; - - // - // - struct author_pimpl: author_pskel, person_pimpl - { - virtual void - _pre (); - - virtual void - recommends (const std::string&); - - virtual author - post_author (); - - private: - author author_; - }; - - // - // - struct book_pimpl: book_pskel - { - virtual void - _pre (); - - virtual void - isbn (library::isbn); - - virtual void - title (const library::title&); - - virtual void - genre (library::genre); - - virtual void - author (const library::author&); - - virtual void - available (bool); - - virtual void - id (const std::string&); - - virtual book - post_book (); - - private: - book book_; - }; - - // - // - struct catalog_pimpl: catalog_pskel - { - virtual void - _pre (); - - virtual void - book (const library::book&); - - virtual catalog - post_catalog (); - - private: - catalog catalog_; - }; -} - -#endif // LIBRARY_PIMPL_HXX diff --git a/xsd/examples/cxx/parser/library/library.hxx b/xsd/examples/cxx/parser/library/library.hxx deleted file mode 100644 index 552e7a5..0000000 --- a/xsd/examples/cxx/parser/library/library.hxx +++ /dev/null @@ -1,241 +0,0 @@ -// file : examples/cxx/parser/library/library.hxx -// copyright : not copyrighted - public domain - -#ifndef LIBRARY_HXX -#define LIBRARY_HXX - -#include <string> -#include <vector> - -namespace library -{ - // - // - typedef unsigned int isbn; - - - // - // - struct title: std::string - { - // lang - // - const std::string& - lang () const - { - return lang_; - } - - void - lang (const std::string& lang) - { - lang_ = lang; - } - - private: - std::string lang_; - }; - - - // - // - enum genre - { - romance, - fiction, - horror, - history, - philosophy - }; - - - // - // - struct person - { - // name - // - const std::string& - name () const - { - return name_; - } - - void - name (const std::string& name) - { - name_ = name; - } - - // born - // - const std::string& - born () const - { - return born_; - } - - void - born (const std::string& born) - { - born_ = born; - } - - - // died - // - const std::string& - died () const - { - return died_; - } - - void - died (const std::string& died) - { - died_ = died; - } - - private: - std::string name_; - std::string born_; - std::string died_; - }; - - - // - // - struct author: person - { - // recommends - // - const std::string& - recommends () const - { - return recommends_; - } - - void - recommends (const std::string& recommends) - { - recommends_ = recommends; - } - - private: - std::string recommends_; - }; - - - // - // - struct book - { - // isbn - // - library::isbn - isbn () const - { - return isbn_; - } - - void - isbn (const library::isbn& isbn) - { - isbn_ = isbn; - } - - - // title - // - library::title - title () const - { - return title_; - } - - void - title (const library::title& title) - { - title_ = title; - } - - - // genre - // - library::genre - genre () const - { - return genre_; - } - - void - genre (const library::genre& genre) - { - genre_ = genre; - } - - - // author - // - typedef std::vector<library::author> authors; - - const authors& - author () const - { - return author_; - } - - authors& - author () - { - return author_; - } - - - // available - // - bool - available () const - { - return available_; - } - - void - available (bool available) - { - available_ = available; - } - - - // id - // - const std::string& - id () const - { - return id_; - } - - void - id (const std::string& id) - { - id_ = id; - } - - private: - library::isbn isbn_; - library::title title_; - library::genre genre_; - - authors author_; - - bool available_; - std::string id_; - }; - - - // - // - typedef std::vector<book> catalog; -} - -#endif // LIBRARY_HXX diff --git a/xsd/examples/cxx/parser/library/library.map b/xsd/examples/cxx/parser/library/library.map deleted file mode 100644 index 3a49b49..0000000 --- a/xsd/examples/cxx/parser/library/library.map +++ /dev/null @@ -1,15 +0,0 @@ -# file : examples/cxx/parser/library/library.map -# copyright : not copyrighted - public domain - -namespace http://www.codesynthesis.com/library ::library -{ - include "library.hxx"; - - isbn isbn isbn; - title title; - genre genre genre; - person person; - author author; - book book; - catalog catalog; -} diff --git a/xsd/examples/cxx/parser/library/library.xml b/xsd/examples/cxx/parser/library/library.xml deleted file mode 100644 index b1ac98c..0000000 --- a/xsd/examples/cxx/parser/library/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/library/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP" available="true" > - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/parser/library/library.xsd b/xsd/examples/cxx/parser/library/library.xsd deleted file mode 100644 index 71e4005..0000000 --- a/xsd/examples/cxx/parser/library/library.xsd +++ /dev/null @@ -1,78 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/library/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:string"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:string"/> - <xsd:element name="died" type="xsd:string" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF"/> <!-- Book --> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" use="required"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/library/makefile b/xsd/examples/cxx/parser/library/makefile deleted file mode 100644 index 6410cf3..0000000 --- a/xsd/examples/cxx/parser/library/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : examples/cxx/parser/library/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx library-pimpl.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-inline --type-map $(src_base)/library.map -$(gen): $(out_root)/xsd/xsd $(src_base)/library.map - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - $(call install-data,$(src_base)/library.map,$(install_doc_dir)/xsd/$(path)/library.map) - $(call install-data,$(src_base)/library.hxx,$(install_doc_dir)/xsd/$(path)/library.hxx) - $(call install-data,$(src_base)/library-pimpl.hxx,$(install_doc_dir)/xsd/$(path)/library-pimpl.hxx) - $(call install-data,$(src_base)/library-pimpl.cxx,$(install_doc_dir)/xsd/$(path)/library-pimpl.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - $(call install-data,$(src_base)/library.map,$(dist_prefix)/$(path)/library.map) - $(call install-data,$(src_base)/library.hxx,$(dist_prefix)/$(path)/library.hxx) - $(call install-data,$(src_base)/library-pimpl.hxx,$(dist_prefix)/$(path)/library-pimpl.hxx) - $(call install-data,$(src_base)/library-pimpl.cxx,$(dist_prefix)/$(path)/library-pimpl.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/makefile b/xsd/examples/cxx/parser/makefile deleted file mode 100644 index 4744b29..0000000 --- a/xsd/examples/cxx/parser/makefile +++ /dev/null @@ -1,56 +0,0 @@ -# file : examples/cxx/parser/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -examples := generated hello library mixin mixed multiroot performance \ -polymorphism polyroot wildcard - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(examples))) - - -# Install & Dist. -# -$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(examples))) - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): export dirs := $(examples) -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,parser-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,parser-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,parser-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,parser-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,parser-vc12.sln) - $(call meta-vctest,parser-vc8.sln,$(src_root)/dist/examples/test.bat,test.bat) - -# Clean -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(examples))) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) - - -$(foreach e,$(examples),$(call import,$(src_base)/$e/makefile)) diff --git a/xsd/examples/cxx/parser/mixed/README b/xsd/examples/cxx/parser/mixed/README deleted file mode 100644 index 23ace6f..0000000 --- a/xsd/examples/cxx/parser/mixed/README +++ /dev/null @@ -1,49 +0,0 @@ -This example shows how to handle raw, "type-less content" such as -mixed content models, anyType/anySimpleType, and any/anyAttribute -in the C++/Parser mapping. - -In this example we use mixed content model to describe text -with embedded links, e.g., - - This paragraph talks about <a href="uri">time</a>. - -The example transforms such text into plain text with -references, e.g., - - This paragraph talks about time[0]. - - [0] uri - -The example consists of the following files: - -text.xsd - XML Schema which describes "text with links" instance - documents. - -text.xml - Sample XML instance document. - -anchor.hxx - Anchor type that captures the information about a link. - -text.map - Type map. It maps XML Schema anchor types defined in - text.xsd to C++ anchor class defined in anchor.hxx. - -text-pskel.hxx -text-pskel.cxx - Parser skeletons generated by XSD from text.xsd and - text.map. - -driver.cxx - A parser implementation and a driver for the example. The - parser implementation prints the transformed text to STDOUT. - The driver first constructs a parser instance from the parser - implementation mentioned above and a couple of predefined - parsers for the XML Schema built-in types. In then invokes - this parser instance to parse the input file. - -To run the example on the sample XML instance document simply -execute: - -$ ./driver text.xml diff --git a/xsd/examples/cxx/parser/mixed/anchor.hxx b/xsd/examples/cxx/parser/mixed/anchor.hxx deleted file mode 100644 index 3adc90b..0000000 --- a/xsd/examples/cxx/parser/mixed/anchor.hxx +++ /dev/null @@ -1,33 +0,0 @@ -// file : examples/cxx/parser/mixed/anchor.hxx -// copyright : not copyrighted - public domain - -#ifndef ANCHOR_HXX -#define ANCHOR_HXX - -#include <string> - -struct anchor -{ - anchor (const std::string& text, const std::string& uri) - : uri_ (uri), text_ (text) - { - } - - const std::string& - text () const - { - return text_; - } - - const std::string& - uri () const - { - return uri_; - } - -private: - std::string uri_; - std::string text_; -}; - -#endif // ANCHOR_HXX diff --git a/xsd/examples/cxx/parser/mixed/driver.cxx b/xsd/examples/cxx/parser/mixed/driver.cxx deleted file mode 100644 index 3f3cc65..0000000 --- a/xsd/examples/cxx/parser/mixed/driver.cxx +++ /dev/null @@ -1,100 +0,0 @@ -// file : examples/cxx/parser/mixed/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <vector> -#include <iostream> - -#include "anchor.hxx" -#include "text-pskel.hxx" - -using namespace std; - -struct anchor_pimpl: anchor_pskel, xml_schema::string_pimpl -{ - virtual void - href (const std::string& uri) - { - uri_ = uri; - } - - virtual anchor - post_anchor () - { - return anchor (post_string (), uri_); - } - -private: - std::string uri_; -}; - - -struct text_pimpl: text_pskel -{ - virtual void - a (const anchor& a) - { - cout << a.text () << "[" << anchors_.size () << "]"; - anchors_.push_back (a); - } - - virtual void - _any_characters (const xml_schema::ro_string& s) - { - cout << s; - } - - virtual void - post_text () - { - for (anchors::const_iterator i (anchors_.begin ()); - i != anchors_.end (); - ++i) - { - cout << "[" << i - anchors_.begin () << "] " << i->uri () << endl; - } - } - -private: - typedef vector<anchor> anchors; - anchors anchors_; -}; - - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " text.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - anchor_pimpl anchor_p; - text_pimpl text_p; - - anchor_p.href_parser (string_p); - text_p.a_parser (anchor_p); - - xml_schema::document doc_p (text_p, "text"); - - text_p.pre (); - doc_p.parse (argv[1]); - text_p.post_text (); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/mixed/makefile b/xsd/examples/cxx/parser/mixed/makefile deleted file mode 100644 index acf8aed..0000000 --- a/xsd/examples/cxx/parser/mixed/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : examples/cxx/parser/mixed/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := text.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --type-map $(src_base)/text.map -$(gen): $(out_root)/xsd/xsd $(src_base)/text.map - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(install_doc_dir)/xsd/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(install_doc_dir)/xsd/$(path)/text.xml) - $(call install-data,$(src_base)/text.map,$(install_doc_dir)/xsd/$(path)/text.map) - $(call install-data,$(src_base)/anchor.hxx,$(install_doc_dir)/xsd/$(path)/anchor.hxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(dist_prefix)/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(dist_prefix)/$(path)/text.xml) - $(call install-data,$(src_base)/text.map,$(dist_prefix)/$(path)/text.map) - $(call install-data,$(src_base)/anchor.hxx,$(dist_prefix)/$(path)/anchor.hxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/mixed/text.map b/xsd/examples/cxx/parser/mixed/text.map deleted file mode 100644 index 85971c4..0000000 --- a/xsd/examples/cxx/parser/mixed/text.map +++ /dev/null @@ -1,6 +0,0 @@ -# file : examples/cxx/parser/mixed/text.map -# copyright : not copyrighted - public domain - -include "anchor.hxx"; - -anchor ::anchor; diff --git a/xsd/examples/cxx/parser/mixed/text.xml b/xsd/examples/cxx/parser/mixed/text.xml deleted file mode 100644 index bfdc881..0000000 --- a/xsd/examples/cxx/parser/mixed/text.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/text/text.xml -copyright : not copyrighted - public domain - ---> - -<text xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="text.xsd"> - -The first paragraph of this text talks about <a href="http://en.wikipedia.org/wiki/time">time</a>. - -And this paragraph talks about <a href="http://en.wikipedia.org/wiki/space">space</a>. - -</text> diff --git a/xsd/examples/cxx/parser/mixed/text.xsd b/xsd/examples/cxx/parser/mixed/text.xsd deleted file mode 100644 index 92e300c..0000000 --- a/xsd/examples/cxx/parser/mixed/text.xsd +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/mixed/text.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="anchor"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="href" type="xsd:string" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="text" mixed="true"> - <xsd:sequence> - <xsd:element name="a" type="anchor" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="text" type="text"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/mixin/README b/xsd/examples/cxx/parser/mixin/README deleted file mode 100644 index 343e379..0000000 --- a/xsd/examples/cxx/parser/mixin/README +++ /dev/null @@ -1,34 +0,0 @@ -This example shows how to reuse implementations of base parsers -in derived parsers using the mixin C++ idiom. - -The example consists of the following files: - -schema.xsd - XML Schema which defined two data types: base and - derived. - -instance.xml - Sample XML instance document. - -types.hxx - C++ classes that correspond to the base and derived - types in schema.xsd. - -schema.map - Type map. It maps XML Schema types defined in schema.xsd - to C++ types defined in types.hxx. - -schema-pskel.hxx -schema-pskel.cxx - Parser skeletons generated by XSD from schema.xsd and - schema.map. - -driver.cxx - Parser implementations and a driver for the example. It - shows how to mix the implementation of the base parser - into the derived parser. - -To run the example on the sample XML instance document simply -execute: - -$ ./driver instance.xml diff --git a/xsd/examples/cxx/parser/mixin/driver.cxx b/xsd/examples/cxx/parser/mixin/driver.cxx deleted file mode 100644 index 04466a1..0000000 --- a/xsd/examples/cxx/parser/mixin/driver.cxx +++ /dev/null @@ -1,103 +0,0 @@ -// file : examples/cxx/parser/mixin/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> -#include <iostream> - -#include "types.hxx" -#include "schema-pskel.hxx" - -using namespace std; - -struct base_pimpl: virtual base_pskel -{ - virtual void - pre () - { - base_.reset (new ::base); - } - - virtual void - a (bool v) - { - base_->a (v); - } - - virtual base* - post_base () - { - return base_.release (); - } - -protected: - auto_ptr<base> base_; -}; - -// Implement derived parser by mixing-in base's implementation. -// -struct derived_pimpl: derived_pskel, base_pimpl -{ - virtual void - pre () - { - // Override base's pre() with the new implementation that - // instantiates derived instead of base. - // - base_.reset (new ::derived); - } - - virtual void - b (int v) - { - // We could also store a pointer to derived in derived_impl to - // avoid casting. - // - static_cast< ::derived* > (base_.get ())->b (v); - } - - virtual derived* - post_derived () - { - return static_cast<derived*> (base_.release ()); - } -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " instance.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::boolean_pimpl bool_p; - xml_schema::int_pimpl int_p; - derived_pimpl derived_p; - - derived_p.parsers (bool_p, int_p); - - xml_schema::document doc_p (derived_p, "root"); - - derived_p.pre (); - doc_p.parse (argv[1]); - auto_ptr<derived> d (derived_p.post_derived ()); - - cerr << "a: " << boolalpha << d->a () << endl; - cerr << "b: " << d->b () << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/mixin/instance.xml b/xsd/examples/cxx/parser/mixin/instance.xml deleted file mode 100644 index 253f348..0000000 --- a/xsd/examples/cxx/parser/mixin/instance.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/mixin/instance.xml -copyright : not copyrighted - public domain - ---> - -<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="schema.xsd"> - - <a>true</a> - <b>1</b> - -</root> diff --git a/xsd/examples/cxx/parser/mixin/makefile b/xsd/examples/cxx/parser/mixin/makefile deleted file mode 100644 index 7ef8084..0000000 --- a/xsd/examples/cxx/parser/mixin/makefile +++ /dev/null @@ -1,107 +0,0 @@ -# file : examples/cxx/parser/mixin/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := schema.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --type-map $(src_base)/schema.map -$(gen): $(out_root)/xsd/xsd $(src_base)/schema.map - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/schema.xsd,$(install_doc_dir)/xsd/$(path)/schema.xsd) - $(call install-data,$(src_base)/instance.xml,$(install_doc_dir)/xsd/$(path)/instance.xml) - $(call install-data,$(src_base)/schema.map,$(install_doc_dir)/xsd/$(path)/schema.map) - $(call install-data,$(src_base)/types.hxx,$(install_doc_dir)/xsd/$(path)/types.hxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/schema.xsd,$(dist_prefix)/$(path)/schema.xsd) - $(call install-data,$(src_base)/instance.xml,$(dist_prefix)/$(path)/instance.xml) - $(call install-data,$(src_base)/schema.map,$(dist_prefix)/$(path)/schema.map) - $(call install-data,$(src_base)/types.hxx,$(dist_prefix)/$(path)/types.hxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/mixin/schema.map b/xsd/examples/cxx/parser/mixin/schema.map deleted file mode 100644 index a93c881..0000000 --- a/xsd/examples/cxx/parser/mixin/schema.map +++ /dev/null @@ -1,7 +0,0 @@ -# file : examples/cxx/parser/mixin/schema.map -# copyright : not copyrighted - public domain - -include "types.hxx"; - -base ::base*; -derived ::derived*; diff --git a/xsd/examples/cxx/parser/mixin/schema.xsd b/xsd/examples/cxx/parser/mixin/schema.xsd deleted file mode 100644 index d2d195d..0000000 --- a/xsd/examples/cxx/parser/mixin/schema.xsd +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/mixin/schema.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="base"> - <xsd:sequence> - <xsd:element name="a" type="xsd:boolean"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="derived"> - <xsd:complexContent> - <xsd:extension base="base"> - <xsd:sequence> - <xsd:element name="b" type="xsd:int"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="root" type="derived"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/mixin/types.hxx b/xsd/examples/cxx/parser/mixin/types.hxx deleted file mode 100644 index 930033d..0000000 --- a/xsd/examples/cxx/parser/mixin/types.hxx +++ /dev/null @@ -1,43 +0,0 @@ -// file : examples/cxx/parser/mixin/types.hxx -// copyright : not copyrighted - public domain - -#ifndef TYPES_HXX -#define TYPES_HXX - -struct base -{ - bool - a () const - { - return a_; - } - - void - a (bool v) - { - a_ = v; - } - -private: - bool a_; -}; - -struct derived: base -{ - int - b () const - { - return b_; - } - - void - b (int v) - { - b_ = v; - } - -private: - int b_; -}; - -#endif // TYPES_HXX diff --git a/xsd/examples/cxx/parser/multiroot/README b/xsd/examples/cxx/parser/multiroot/README deleted file mode 100644 index 041dfec..0000000 --- a/xsd/examples/cxx/parser/multiroot/README +++ /dev/null @@ -1,51 +0,0 @@ -This example shows how to handle XML vocabularies with multiple -root elements using the C++/Parser mapping. - -The example consists of the following files: - -protocol.xsd - XML Schema which defines a simple bank account protocol with - requests such as withdraw and deposit. - -balance.xml -withdraw.xml -deposit.xml - Sample XML instances for the protocol requests. - -protocol.hxx - C++ types that describe the protocol requests. These are - hand-written. - -protocol.map - Type map. It maps XML Schema types defined in protocol.xsd - to the C++ types defined in protocol.hxx. - -protocol-pskel.hxx -protocol-pskel.cxx - Parser skeletons generated by XSD from protocol.xsd and - protocol.map. - -protocol-pimpl.hxx -protocol-pimpl.cxx - Parser implementations that construct the custom object - model from an XML instance using the types from protocol.hxx. - These are hand-written implementations of the parser skeletons - defined in protocol-pskel.hxx. - -driver.cxx - Driver for the example. It implements a custom document parser - that determines which request is being parsed and uses the - corresponding parser implementation. The document parser - intentionally does not support the deposit request to show - how to handle unknown documents. The driver first constructs - a parser instance from all the individual parsers found in - protocol-pimpl.hxx. In then invokes this parser instance to - parse the input file and produce the in-memory object model. - Finally, it prints the contents of the object model to STDERR. - -To run the example on the sample XML request documents simply -execute: - -$ ./driver balance.xml -$ ./driver withdraw.xml -$ ./driver deposit.xml diff --git a/xsd/examples/cxx/parser/multiroot/balance.xml b/xsd/examples/cxx/parser/multiroot/balance.xml deleted file mode 100644 index 71ed493..0000000 --- a/xsd/examples/cxx/parser/multiroot/balance.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/multiroot/balance.xml -copyright : not copyrighted - public domain - ---> - -<p:balance xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - -</p:balance> diff --git a/xsd/examples/cxx/parser/multiroot/deposit.xml b/xsd/examples/cxx/parser/multiroot/deposit.xml deleted file mode 100644 index 70f0c77..0000000 --- a/xsd/examples/cxx/parser/multiroot/deposit.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/multiroot/deposit.xml -copyright : not copyrighted - public domain - ---> - -<p:deposit xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:deposit> diff --git a/xsd/examples/cxx/parser/multiroot/driver.cxx b/xsd/examples/cxx/parser/multiroot/driver.cxx deleted file mode 100644 index 3b32898..0000000 --- a/xsd/examples/cxx/parser/multiroot/driver.cxx +++ /dev/null @@ -1,161 +0,0 @@ -// file : examples/cxx/parser/multiroot/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "protocol.hxx" -#include "protocol-pimpl.hxx" - -using std::cerr; -using std::endl; -using xml_schema::ro_string; - -namespace protocol -{ - // Customize the xml_schema::document object to handle our protocol - // vocabulary with multiple root elements. - // - class document: public xml_schema::document - { - public: - document (balance_pskel& balance_p, withdraw_pskel& withdraw_p) - : balance_p_ (balance_p), withdraw_p_ (withdraw_p) - { - } - - request* - result () - { - return result_.release (); - } - - protected: - // This function is called to obtain the root element type parser. - // If the returned pointed is 0 then the whole document content - // is ignored. The type argument is used to handle polymorphic - // XML documents and is not used in this example (see the polyroot - // example for more information on this argument). - // - virtual xml_schema::parser_base* - start_root_element (const ro_string& ns, - const ro_string& name, - const ro_string* /* type */) - { - if (ns == "http://www.codesynthesis.com/protocol") - { - if (name == "balance") - { - balance_p_.pre (); - - return &balance_p_; - } - else if (name == "withdraw") - { - balance_p_.pre (); - - return &withdraw_p_; - } - } - - cerr << "ignoring unknown request: " << ns << "#" << name << endl; - - return 0; - } - - // This function is called to indicate the completion of document - // parsing. The parser argument contains the pointer returned by - // start_root_element. - // - virtual void - end_root_element (const ro_string& /* ns */, - const ro_string& /* name */, - xml_schema::parser_base* parser) - { - // We could have handled the result directly in this function - // instead of storing it in the result_ variable. - // - if (parser == &balance_p_) - { - result_.reset (balance_p_.post_balance ()); - } - else if (parser == &withdraw_p_) - { - result_.reset (withdraw_p_.post_withdraw ()); - } - else - result_.reset (0); - } - - - private: - std::auto_ptr<request> result_; - - balance_pskel& balance_p_; - withdraw_pskel& withdraw_p_; - }; -} - - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " request.xml" << endl; - return 1; - } - - try - { - using namespace protocol; - - // Construct the parser. - // - xml_schema::unsigned_int_pimpl unsigned_int_p; - - balance_pimpl balance_p; - withdraw_pimpl withdraw_p; - - balance_p.parsers (unsigned_int_p); // account - - withdraw_p.parsers (unsigned_int_p, // account - unsigned_int_p); // amount - - // Parse the XML instance document. - // - document doc_p (balance_p, withdraw_p); - - // pre() and post() will be called as part of the start_root_element() - // and end_root_element() calls. - // - doc_p.parse (argv[1]); - std::auto_ptr<request> r (doc_p.result ()); - - // Let's print what we've got. - // - if (balance* b = dynamic_cast<balance*> (r.get ())) - { - cerr << "balance request for acc# " << b->account () << endl; - } - else if (withdraw* w = dynamic_cast<withdraw*> (r.get ())) - { - cerr << "withdrawal request for acc# " << w->account () << ", " - << "amount: " << w->amount () << endl; - } - else - { - cerr << "unknown request" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/multiroot/makefile b/xsd/examples/cxx/parser/multiroot/makefile deleted file mode 100644 index 60c6bac..0000000 --- a/xsd/examples/cxx/parser/multiroot/makefile +++ /dev/null @@ -1,113 +0,0 @@ -# file : examples/cxx/parser/multiroot/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := protocol.xsd -cxx := driver.cxx protocol-pimpl.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --type-map $(src_base)/protocol.map -$(gen): $(out_root)/xsd/xsd $(src_base)/protocol.map - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(install_doc_dir)/xsd/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(install_doc_dir)/xsd/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(install_doc_dir)/xsd/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(install_doc_dir)/xsd/$(path)/withdraw.xml) - $(call install-data,$(src_base)/protocol.map,$(install_doc_dir)/xsd/$(path)/protocol.map) - $(call install-data,$(src_base)/protocol.hxx,$(install_doc_dir)/xsd/$(path)/protocol.hxx) - $(call install-data,$(src_base)/protocol-pimpl.hxx,$(install_doc_dir)/xsd/$(path)/protocol-pimpl.hxx) - $(call install-data,$(src_base)/protocol-pimpl.cxx,$(install_doc_dir)/xsd/$(path)/protocol-pimpl.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(dist_prefix)/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(dist_prefix)/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(dist_prefix)/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(dist_prefix)/$(path)/withdraw.xml) - $(call install-data,$(src_base)/protocol.map,$(dist_prefix)/$(path)/protocol.map) - $(call install-data,$(src_base)/protocol.hxx,$(dist_prefix)/$(path)/protocol.hxx) - $(call install-data,$(src_base)/protocol-pimpl.hxx,$(dist_prefix)/$(path)/protocol-pimpl.hxx) - $(call install-data,$(src_base)/protocol-pimpl.cxx,$(dist_prefix)/$(path)/protocol-pimpl.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/multiroot/protocol-pimpl.cxx b/xsd/examples/cxx/parser/multiroot/protocol-pimpl.cxx deleted file mode 100644 index b5ec1b2..0000000 --- a/xsd/examples/cxx/parser/multiroot/protocol-pimpl.cxx +++ /dev/null @@ -1,46 +0,0 @@ -// file : examples/cxx/parser/multiroot/protocol-pimpl.cxx -// copyright : not copyrighted - public domain - -#include "protocol-pimpl.hxx" - -namespace protocol -{ - // request_pimpl - // - void request_pimpl:: - account (unsigned int account) - { - account_ = account; - } - - request* request_pimpl:: - post_request () - { - // This parser is never used directly. - // - return 0; - } - - // balance_pimpl - // - balance* balance_pimpl:: - post_balance () - { - return new balance (account_); - } - - // withdraw_pimpl - // - void withdraw_pimpl:: - amount (unsigned int amount) - { - amount_ = amount; - } - - withdraw* withdraw_pimpl:: - post_withdraw () - { - return new withdraw (account_, amount_); - } -} - diff --git a/xsd/examples/cxx/parser/multiroot/protocol-pimpl.hxx b/xsd/examples/cxx/parser/multiroot/protocol-pimpl.hxx deleted file mode 100644 index c0693cb..0000000 --- a/xsd/examples/cxx/parser/multiroot/protocol-pimpl.hxx +++ /dev/null @@ -1,48 +0,0 @@ -// file : examples/cxx/parser/multiroot/protocol-pimpl.hxx -// copyright : not copyrighted - public domain - -#ifndef PROTOCOL_PIMPL_HXX -#define PROTOCOL_PIMPL_HXX - -#include "protocol.hxx" -#include "protocol-pskel.hxx" - -namespace protocol -{ - class request_pimpl: public virtual request_pskel - { - public: - virtual void - account (unsigned int); - - virtual request* - post_request (); - - protected: - unsigned int account_; - }; - - class balance_pimpl: public virtual balance_pskel, - public request_pimpl - { - public: - virtual balance* - post_balance (); - }; - - class withdraw_pimpl: public virtual withdraw_pskel, - public request_pimpl - { - public: - virtual void - amount (unsigned int); - - virtual withdraw* - post_withdraw (); - - private: - unsigned int amount_; - }; -} - -#endif // PROTOCOL_PIMPL_HXX diff --git a/xsd/examples/cxx/parser/multiroot/protocol.hxx b/xsd/examples/cxx/parser/multiroot/protocol.hxx deleted file mode 100644 index bbf5b56..0000000 --- a/xsd/examples/cxx/parser/multiroot/protocol.hxx +++ /dev/null @@ -1,61 +0,0 @@ -// file : examples/cxx/parser/multiroot/protocol.hxx -// copyright : not copyrighted - public domain - -#ifndef PROTOCOL_HXX -#define PROTOCOL_HXX - -namespace protocol -{ - class request - { - public: - virtual - ~request () - { - } - - unsigned int - account () const - { - return account_; - } - - protected: - request (unsigned int account) - : account_ (account) - { - } - - private: - unsigned int account_; - }; - - class balance: public request - { - public: - balance (unsigned int account) - : request (account) - { - } - }; - - class withdraw: public request - { - public: - withdraw (unsigned int account, unsigned int amount) - : request (account), amount_ (amount) - { - } - - unsigned int - amount () const - { - return amount_; - } - - private: - unsigned int amount_; - }; -} - -#endif // PROTOCOL_HXX diff --git a/xsd/examples/cxx/parser/multiroot/protocol.map b/xsd/examples/cxx/parser/multiroot/protocol.map deleted file mode 100644 index 8d8ac9f..0000000 --- a/xsd/examples/cxx/parser/multiroot/protocol.map +++ /dev/null @@ -1,11 +0,0 @@ -# file : examples/cxx/parser/multiroot/protocol.map -# copyright : not copyrighted - public domain - -namespace http://www.codesynthesis.com/protocol ::protocol -{ - include "protocol.hxx"; - - request request*; - balance balance*; - withdraw withdraw*; -} diff --git a/xsd/examples/cxx/parser/multiroot/protocol.xsd b/xsd/examples/cxx/parser/multiroot/protocol.xsd deleted file mode 100644 index e0ecc29..0000000 --- a/xsd/examples/cxx/parser/multiroot/protocol.xsd +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/multiroot/protocol.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:p="http://www.codesynthesis.com/protocol" - targetNamespace="http://www.codesynthesis.com/protocol"> - - <xsd:complexType name="request"> - <xsd:sequence> - <xsd:element name="account" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="balance"> - <xsd:complexContent> - <xsd:extension base="p:request"/> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="withdraw"> - <xsd:complexContent> - <xsd:extension base="p:request"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="deposit"> - <xsd:complexContent> - <xsd:extension base="p:request"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="balance" type="p:balance"/> - <xsd:element name="withdraw" type="p:withdraw"/> - <xsd:element name="deposit" type="p:deposit"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/multiroot/withdraw.xml b/xsd/examples/cxx/parser/multiroot/withdraw.xml deleted file mode 100644 index 6d5cb39..0000000 --- a/xsd/examples/cxx/parser/multiroot/withdraw.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/multiroot/withdraw.xml -copyright : not copyrighted - public domain - ---> - -<p:withdraw xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:withdraw> diff --git a/xsd/examples/cxx/parser/performance/README b/xsd/examples/cxx/parser/performance/README deleted file mode 100644 index 39aecca..0000000 --- a/xsd/examples/cxx/parser/performance/README +++ /dev/null @@ -1,42 +0,0 @@ -This example measures the performance of XML parsing in the C++/Parser -mapping. It also shows how to structure your code to achieve the maximum -performance for this operation. - -The example consists of the following files: - -test.xsd - XML Schema which describes the test vocabulary. - -test-50k.xml - Test XML document. - -gen.cxx - Program to generate a test document of desired size. - -time.hxx -time.cxx - Class definition that represents time. - -test-pskel.hxx -test-pskel.ixx -test-pskel.cxx - Parser skeletons generated by the XSD compiler from test.xsd. - -driver.cxx - Driver for the example. It first parses the command line arguments - and reads the entire document into a memory buffer. It then creates - a SAX parser and pre-parses and caches the schema if validation is - enabled (Xerces-C++ only). Finally, it runs the performance - measurement loop which on each iteration parses the XML document - from the in-memory buffer. - -To run the example on a test XML document simply execute: - -$ ./driver test-50k.xml - -The -v option can be used to turn on validation in the underlying XML -parser (only makes sense for Xerces-C++, off by default). The -i option -can be used to specify the number of parsing iterations (1000 by default). -For example: - -$ ./driver -v -i 100 test-50k.xml diff --git a/xsd/examples/cxx/parser/performance/driver.cxx b/xsd/examples/cxx/parser/performance/driver.cxx deleted file mode 100644 index 302464e..0000000 --- a/xsd/examples/cxx/parser/performance/driver.cxx +++ /dev/null @@ -1,341 +0,0 @@ -// file : examples/cxx/parser/performance/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <memory> // std::auto_ptr -#include <cstddef> // std::size_t -#include <fstream> -#include <sstream> -#include <iostream> - -#include "time.hxx" -#include "test-pskel.hxx" - -#ifdef _XERCES_VERSION -# include <xercesc/sax2/SAX2XMLReader.hpp> -# include <xercesc/sax2/XMLReaderFactory.hpp> -# include <xercesc/framework/MemBufInputSource.hpp> -# include <xercesc/validators/common/Grammar.hpp> -# include <xercesc/util/PlatformUtils.hpp> -# include <xercesc/util/XMLUni.hpp> - -# include <xsd/cxx/xml/sax/bits/error-handler-proxy.hxx> -# include <xsd/cxx/parser/error-handler.hxx> -#endif - -// No-op parser implementation. -// -namespace test -{ - struct enum_pimpl: enum_pskel, xml_schema::string_pimpl - { - virtual void - post_enum () - { - } - }; - - struct record_pimpl: record_pskel - { - virtual void - int_ (unsigned int) - { - } - - virtual void - double_ (double) - { - } - - virtual void - name (const std::string&) - { - } - - virtual void - string (const std::string&) - { - } - - virtual void - choice1 (const std::string&) - { - } - - virtual void - choice2 (const std::string&) - { - } - - virtual void - choice3 (const std::string&) - { - } - - virtual void - choice4 (const std::string&) - { - } - - virtual void - apple (bool) - { - } - - virtual void - orange (unsigned long long) - { - } - }; - - struct root_pimpl: root_pskel - { - }; -} - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc < 2) - { - cerr << "usage: " << argv[0] << " [-v] [-i <count>] test.xml" << endl - << "\t -v turn on validation (default is off)" << endl - << "\t -i number of iterations to perform (default is 1000)" << endl; - return 1; - } - - bool validate (false); - unsigned long iter (1000); - const char* file (0); - - // Parse command line arguments. - // - for (int i (1); i < argc; ++i) - { - string arg (argv[i]); - - if (arg == "-v") - { - validate = true; - } - else if (arg == "-i") - { - if (++i == argc) - { - cerr << "argument expected for the -i option" << endl; - return 1; - } - - iter = 0; - istringstream is (argv[i]); - is >> iter; - - if (iter == 0) - { - cerr << "invalid argument for the -i option" << endl; - return 1; - } - } - else - { - file = argv[i]; - break; - } - } - - if (file == 0) - { - cerr << "no input file specified" << endl; - return 1; - } - - try - { - // Instantiate and connect parsers. - // - xml_schema::unsigned_int_pimpl unsigned_int_p; - xml_schema::double_pimpl double_p; - xml_schema::ncname_pimpl ncname_p; - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - xml_schema::unsigned_long_pimpl unsigned_long_p; - - test::enum_pimpl enum_p; - test::record_pimpl record_p; - test::root_pimpl root_p; - - record_p.parsers (unsigned_int_p, - double_p, - ncname_p, - string_p, - string_p, - string_p, - string_p, - string_p, - enum_p, - boolean_p, - unsigned_long_p); - - root_p.parsers (record_p); - - // Read the fine into in-memory buffer. - // - ifstream ifs; - ifs.exceptions (ios_base::failbit); - ifs.open (file, ios::in | ios::ate); - - size_t size (ifs.tellg ()); - ifs.seekg (0, ios::beg); - - char* buf = new char[size]; - ifs.read (buf, size); - ifs.close (); - - cerr << "document size: " << size << " bytes" << endl - << "iterations: " << iter << endl; - - os::time time (0); - xml_schema::document doc (root_p, "test", "root"); - -#ifdef _XERCES_VERSION - - // Xerces-C++ as the underlying XML parser. - // - using namespace xercesc; - - namespace xml = xsd::cxx::xml; - namespace parser = xsd::cxx::parser; - - XMLPlatformUtils::Initialize (); - - { - MemBufInputSource is ( - reinterpret_cast<XMLByte*> (buf), size, file, false); - is.setCopyBufToStream (false); - - auto_ptr<SAX2XMLReader> parser (XMLReaderFactory::createXMLReader ()); - - parser->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); - parser->setFeature (XMLUni::fgSAX2CoreNameSpacePrefixes, true); - parser->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true); - - if (validate) - { - parser->setFeature (XMLUni::fgSAX2CoreValidation, true); - parser->setFeature (XMLUni::fgXercesSchema, true); - parser->setFeature (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - parser->setFeature (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // Initialize the schema cache. To detect schema errors we will - // need an error handler. - // - parser::error_handler<char> eh; - xml::sax::bits::error_handler_proxy<char> ehp (eh); - parser->setErrorHandler (&ehp); - - if (!parser->loadGrammar ("test.xsd", Grammar::SchemaGrammarType, true)) - { - // In Xerces-C++ grammar loading failure results in just a warning. - // Make it a fatal error. - // - eh.handle ("test.xsd", 0, 0, - parser::error_handler<char>::severity::fatal, - "unable to load schema"); - } - - eh.throw_if_failed (); - parser->setFeature (XMLUni::fgXercesUseCachedGrammarInParse, true); - -#if _XERCES_VERSION >= 30100 - parser->setFeature (XMLUni::fgXercesLoadSchema, false); -#endif - } - else - { - parser->setFeature (XMLUni::fgSAX2CoreValidation, false); - parser->setFeature (XMLUni::fgXercesSchema, false); - parser->setFeature (XMLUni::fgXercesSchemaFullChecking, false); - } - - os::time start; - - for (unsigned long i (0); i < iter; ++i) - { - root_p.pre (); - doc.parse (is, *parser); - root_p.post_root (); - } - - os::time end; - time = end - start; - } - - XMLPlatformUtils::Terminate (); - -#else - - // Expat as the underlying XML parser. - // - XML_Parser xml_parser (XML_ParserCreateNS (0, ' ')); - string public_id (file); - - os::time start; - - for (unsigned long i (0); i < iter; ++i) - { - // Using the low-level Expat-specific API to parse the memory - // buffer. - // - root_p.pre (); - doc.parse_begin (xml_parser, public_id); - - XML_Parse (xml_parser, buf, size, 1); - - doc.parse_end (); - root_p.post_root (); - - XML_ParserReset (xml_parser, 0); - } - - os::time end; - time = end - start; - - XML_ParserFree (xml_parser); - -#endif - - delete[] buf; - - cerr << "time: " << time << " sec" << endl; - - double ms (time.sec () * 1000000ULL + time.nsec () / 1000ULL); - - // Calculate throughput in documents/sec. - // - double tpd ((iter / ms) * 1000000); - cerr << "throughput: " << tpd << " documents/sec" << endl; - - // Calculate throughput in MBytes/sec. - // - double tpb (((size * iter) / ms) * 1000000/(1024*1024)); - cerr << "throughput: " << tpb << " MBytes/sec" << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/performance/gen.cxx b/xsd/examples/cxx/parser/performance/gen.cxx deleted file mode 100644 index b6392c0..0000000 --- a/xsd/examples/cxx/parser/performance/gen.cxx +++ /dev/null @@ -1,76 +0,0 @@ -#include <fstream> -#include <sstream> -#include <iostream> - -using namespace std; - -static const char* enums[] = -{ - "romance", - "fiction", - "horror", - "history", - "philosophy" -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 3) - { - cerr << "usage: " << argv[0] << " <count> <output-file>" << endl; - return 1; - } - - unsigned long n (0); - istringstream is (argv[1]); - is >> n; - - if (n == 0) - { - cerr << "record count argument should be a positive number" << endl; - return 1; - } - - ofstream ofs (argv[2]); - - if (!ofs.is_open ()) - { - cerr << "unable to open '" << argv[2] << "' in write mode" << endl; - return 1; - } - - ofs << "<t:root xmlns:t='test' " << - "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " << - "xsi:schemaLocation='test test.xsd'>"; - - unsigned short ch (1), en (0); - - for (unsigned long i (0); i < n; ++i) - { - ofs << "<record orange=\"" << i << "\""; - - if (i % 2 == 0) - ofs << " apple=\"true\""; - - ofs << ">" - << "<int>42</int>" - << "<double>42345.4232</double>" - << "<name>name123_45</name>"; - - if (i % 2 == 1) - ofs << "<string>one two three</string>"; - - ofs << "<choice" << ch << ">" << ch << " choice</choice" << ch << ">" - << "<enum>" << enums[en] << "</enum>" - << "</record>"; - - if (++ch > 4) - ch = 1; - - if (++en > 4) - en = 0; - } - - ofs << "</t:root>"; -} diff --git a/xsd/examples/cxx/parser/performance/makefile b/xsd/examples/cxx/parser/performance/makefile deleted file mode 100644 index 69d3239..0000000 --- a/xsd/examples/cxx/parser/performance/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : examples/cxx/parser/performance/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx time.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-inline -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/test.xsd,$(install_doc_dir)/xsd/$(path)/test.xsd) - $(call install-data,$(src_base)/test-50k.xml,$(install_doc_dir)/xsd/$(path)/test-50k.xml) - $(call install-data,$(src_base)/time.hxx,$(install_doc_dir)/xsd/$(path)/time.hxx) - $(call install-data,$(src_base)/time.cxx,$(install_doc_dir)/xsd/$(path)/time.cxx) - $(call install-data,$(src_base)/gen.cxx,$(install_doc_dir)/xsd/$(path)/gen.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/test.xsd,$(dist_prefix)/$(path)/test.xsd) - $(call install-data,$(src_base)/test-50k.xml,$(dist_prefix)/$(path)/test-50k.xml) - $(call install-data,$(src_base)/time.hxx,$(dist_prefix)/$(path)/time.hxx) - $(call install-data,$(src_base)/time.cxx,$(dist_prefix)/$(path)/time.cxx) - $(call install-data,$(src_base)/gen.cxx,$(dist_prefix)/$(path)/gen.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/performance/test-50k.xml b/xsd/examples/cxx/parser/performance/test-50k.xml deleted file mode 100644 index 42e22f3..0000000 --- a/xsd/examples/cxx/parser/performance/test-50k.xml +++ /dev/null @@ -1 +0,0 @@ -<t:root xmlns:t='test' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='test test.xsd'><record orange="0" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="1"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="2" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="3"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="4" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="5"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="6" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="7"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="8" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="9"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="10" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="11"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="12" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="13"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="14" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="15"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="16" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="17"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="18" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="19"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="20" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="21"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="22" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="23"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="24" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="25"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="26" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="27"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="28" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="29"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="30" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="31"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="32" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="33"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="34" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="35"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="36" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="37"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="38" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="39"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="40" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="41"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="42" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="43"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="44" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="45"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="46" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="47"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="48" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="49"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="50" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="51"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="52" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="53"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="54" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="55"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="56" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="57"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="58" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="59"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="60" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="61"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="62" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="63"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="64" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="65"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="66" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="67"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="68" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="69"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="70" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="71"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="72" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="73"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="74" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="75"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="76" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="77"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="78" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="79"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="80" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="81"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="82" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="83"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="84" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="85"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="86" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="87"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="88" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="89"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="90" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="91"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="92" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="93"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="94" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="95"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="96" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="97"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="98" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="99"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="100" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="101"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="102" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="103"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="104" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="105"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="106" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="107"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="108" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="109"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="110" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="111"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="112" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="113"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="114" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="115"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="116" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="117"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="118" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="119"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="120" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="121"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="122" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="123"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="124" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="125"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="126" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="127"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="128" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="129"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="130" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="131"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="132" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="133"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="134" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="135"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="136" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="137"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="138" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="139"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="140" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="141"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="142" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="143"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="144" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="145"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="146" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="147"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="148" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="149"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="150" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="151"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="152" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="153"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="154" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="155"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="156" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="157"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="158" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="159"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="160" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="161"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="162" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="163"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="164" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="165"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="166" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="167"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="168" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="169"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="170" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="171"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="172" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="173"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="174" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="175"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="176" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="177"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="178" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="179"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="180" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="181"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="182" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="183"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="184" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="185"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="186" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="187"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="188" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="189"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="190" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="191"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="192" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="193"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="194" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="195"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="196" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="197"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="198" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="199"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="200" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="201"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="202" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="203"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="204" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="205"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="206" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="207"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="208" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="209"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="210" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="211"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="212" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="213"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="214" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="215"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="216" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="217"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="218" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="219"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="220" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="221"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="222" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="223"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="224" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="225"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="226" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="227"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="228" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="229"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="230" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="231"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="232" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="233"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="234" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="235"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="236" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="237"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="238" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="239"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="240" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="241"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="242" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="243"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="244" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="245"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="246" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="247"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="248" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="249"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="250" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="251"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="252" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="253"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="254" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="255"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="256" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="257"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="258" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="259"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="260" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="261"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="262" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="263"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="264" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="265"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="266" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="267"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="268" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="269"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="270" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="271"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="272" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="273"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="274" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="275"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="276" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="277"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="278" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="279"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="280" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="281"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="282" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="283"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="284" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="285"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="286" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="287"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="288" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="289"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="290" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="291"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="292" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="293"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="294" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="295"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="296" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="297"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="298" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="299"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="300" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="301"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="302" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="303"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="304" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="305"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="306" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="307"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="308" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="309"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="310" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="311"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="312" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="313"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="314" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="315"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="316" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record></t:root>
\ No newline at end of file diff --git a/xsd/examples/cxx/parser/performance/test.xsd b/xsd/examples/cxx/parser/performance/test.xsd deleted file mode 100644 index bb59c2a..0000000 --- a/xsd/examples/cxx/parser/performance/test.xsd +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/performance/test.xsd -copyright : not copyrighted - public domain - ---> - -<schema targetNamespace="test" xmlns:t="test" - xmlns="http://www.w3.org/2001/XMLSchema"> - - <simpleType name="enum"> - <restriction base="string"> - <enumeration value="romance"/> - <enumeration value="fiction"/> - <enumeration value="horror"/> - <enumeration value="history"/> - <enumeration value="philosophy"/> - </restriction> - </simpleType> - - <complexType name="record"> - <sequence> - <element name="int" type="unsignedInt"/> - <element name="double" type="double"/> - <element name="name" type="NCName"/> - <element name="string" type="string" minOccurs="0" maxOccurs="1"/> - <choice> - <element name="choice1" type="string"/> - <element name="choice2" type="string"/> - <element name="choice3" type="string"/> - <element name="choice4" type="string"/> - </choice> - <element name="enum" type="t:enum"/> - </sequence> - <attribute name="apple" type="boolean"/> - <attribute name="orange" type="unsignedLong" use="required"/> - </complexType> - - <complexType name="root"> - <sequence> - <element name="record" type="t:record" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:root"/> - -</schema> diff --git a/xsd/examples/cxx/parser/performance/time.cxx b/xsd/examples/cxx/parser/performance/time.cxx deleted file mode 100644 index aca5c74..0000000 --- a/xsd/examples/cxx/parser/performance/time.cxx +++ /dev/null @@ -1,46 +0,0 @@ -// file : examples/cxx/parser/performance/time.cxx -// copyright : not copyrighted - public domain - -#include "time.hxx" - -#if defined (WIN32) || defined (__WIN32__) -# define WIN32_LEAN_AND_MEAN -# include <windows.h> // GetSystemTimeAsFileTime -#else -# include <time.h> // gettimeofday -# include <sys/time.h> // timeval -#endif - -#include <ostream> // std::ostream -#include <iomanip> // std::setfill, std::setw - -namespace os -{ - time:: - time () - { -#if defined (WIN32) || defined (__WIN32__) - FILETIME ft; - GetSystemTimeAsFileTime (&ft); - unsigned long long v ( - ((unsigned long long) (ft.dwHighDateTime) << 32) + ft.dwLowDateTime); - - sec_ = static_cast<unsigned long> (v / 10000000ULL); - nsec_ = static_cast<unsigned long> ((v % 10000000ULL) * 100); -#else - timeval tv; - if (gettimeofday(&tv, 0) != 0) - throw failed (); - - sec_ = static_cast<unsigned long> (tv.tv_sec); - nsec_ = static_cast<unsigned long> (tv.tv_usec * 1000); -#endif - } - - std::ostream& - operator<< (std::ostream& o, time const& t) - { - return o << t.sec () << '.' - << std::setfill ('0') << std::setw (9) << t.nsec (); - } -} diff --git a/xsd/examples/cxx/parser/performance/time.hxx b/xsd/examples/cxx/parser/performance/time.hxx deleted file mode 100644 index 3b2f040..0000000 --- a/xsd/examples/cxx/parser/performance/time.hxx +++ /dev/null @@ -1,110 +0,0 @@ -// file : examples/cxx/parser/performance/time.hxx -// copyright : not copyrighted - public domain - -#ifndef TIME_HXX -#define TIME_HXX - -#include <iosfwd> // std::ostream& - -namespace os -{ - class time - { - public: - class failed {}; - - // Create a time object representing the current time. - // - time (); - - time (unsigned long long nsec) - { - sec_ = static_cast<unsigned long> (nsec / 1000000000ULL); - nsec_ = static_cast<unsigned long> (nsec % 1000000000ULL); - } - - time (unsigned long sec, unsigned long nsec) - { - sec_ = sec; - nsec_ = nsec; - } - - public: - unsigned long - sec () const - { - return sec_; - } - - unsigned long - nsec () const - { - return nsec_; - } - - public: - class overflow {}; - class underflow {}; - - time - operator+= (time const& b) - { - unsigned long long tmp = 0ULL + nsec_ + b.nsec_; - - sec_ += static_cast<unsigned long> (b.sec_ + tmp / 1000000000ULL); - nsec_ = static_cast<unsigned long> (tmp % 1000000000ULL); - - return *this; - } - - time - operator-= (time const& b) - { - if (*this < b) - throw underflow (); - - sec_ -= b.sec_; - - if (nsec_ < b.nsec_) - { - --sec_; - nsec_ += 1000000000ULL - b.nsec_; - } - else - nsec_ -= b.nsec_; - - return *this; - } - - friend time - operator+ (time const& a, time const& b) - { - time r (a); - r += b; - return r; - } - - friend time - operator- (time const& a, time const& b) - { - time r (a); - r -= b; - return r; - } - - friend bool - operator < (time const& a, time const& b) - { - return (a.sec_ < b.sec_) || (a.sec_ == b.sec_ && a.nsec_ < b.nsec_); - } - - private: - unsigned long sec_; - unsigned long nsec_; - }; - - std::ostream& - operator<< (std::ostream&, time const&); -} - -#endif // TIME_HXX diff --git a/xsd/examples/cxx/parser/polymorphism/README b/xsd/examples/cxx/parser/polymorphism/README deleted file mode 100644 index 60a97e9..0000000 --- a/xsd/examples/cxx/parser/polymorphism/README +++ /dev/null @@ -1,30 +0,0 @@ -This example shows how to handle XML Schema polymorphism features such -as xsi:type attributes and substitution groups in the C++/Parser mapping. -The case when xsi:type is used on root elements is covered in the -polyroot examples. - -The example consists of the following files: - -supermen.xsd - XML Schema which describes the "supermen" instance documents. - -supermen.xml - Sample XML instance document. - -supermen-pskel.hxx -supermen-pskel.cxx - Parser skeletons generated by the XSD compiler from supermen.xsd. - Note the use of the --generate-polymorphic command line option. - -supermen-pimpl.hxx -supermen-pimpl.cxx - Parser implementations that print the XML data to STDOUT. - -driver.cxx - Driver for the example. It first constructs a parser instance from - all the individual parsers found in supermen-pimpl.hxx. It then invokes - this parser instance to parse the input file. - -To run the example on the sample XML instance document simply execute: - -$ ./driver supermen.xml diff --git a/xsd/examples/cxx/parser/polymorphism/driver.cxx b/xsd/examples/cxx/parser/polymorphism/driver.cxx deleted file mode 100644 index ffbe48b..0000000 --- a/xsd/examples/cxx/parser/polymorphism/driver.cxx +++ /dev/null @@ -1,70 +0,0 @@ -// file : examples/cxx/parser/polymorphism/driver.cxx -// copyright : not copyrighted - public domain - -#include <iostream> - -#include "supermen-pimpl.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " supermen.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - xml_schema::unsigned_int_pimpl unsigned_int_p; - - person_pimpl person_p; - superman_pimpl superman_p; - batman_pimpl batman_p; - - xml_schema::parser_map_impl person_map; - - supermen_pimpl supermen_p; - - - person_p.parsers (string_p); - superman_p.parsers (string_p, boolean_p); - batman_p.parsers (string_p, boolean_p, unsigned_int_p); - - // Here we are specifying a parser map which containes several parsers - // that can be used to parse the person element. - // - person_map.insert (person_p); - person_map.insert (superman_p); - person_map.insert (batman_p); - - supermen_p.person_parser (person_map); - - // Parse the XML document. The last argument to the document's - // constructor indicates that we are parsing polymorphic XML - // documents. - // - xml_schema::document doc_p (supermen_p, "supermen", true); - - supermen_p.pre (); - doc_p.parse (argv[1]); - supermen_p.post_supermen (); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/polymorphism/makefile b/xsd/examples/cxx/parser/polymorphism/makefile deleted file mode 100644 index 8a89ab8..0000000 --- a/xsd/examples/cxx/parser/polymorphism/makefile +++ /dev/null @@ -1,106 +0,0 @@ -# file : examples/cxx/parser/polymorphism/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := supermen.xsd -cxx := driver.cxx supermen-pimpl.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(install_doc_dir)/xsd/$(path)/supermen.xsd) - $(call install-data,$(src_base)/supermen.xml,$(install_doc_dir)/xsd/$(path)/supermen.xml) - $(call install-data,$(src_base)/supermen-pimpl.hxx,$(install_doc_dir)/xsd/$(path)/supermen-pimpl.hxx) - $(call install-data,$(src_base)/supermen-pimpl.cxx,$(install_doc_dir)/xsd/$(path)/supermen-pimpl.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(dist_prefix)/$(path)/supermen.xsd) - $(call install-data,$(src_base)/supermen.xml,$(dist_prefix)/$(path)/supermen.xml) - $(call install-data,$(src_base)/supermen-pimpl.hxx,$(dist_prefix)/$(path)/supermen-pimpl.hxx) - $(call install-data,$(src_base)/supermen-pimpl.cxx,$(dist_prefix)/$(path)/supermen-pimpl.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.cxx b/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.cxx deleted file mode 100644 index f4b3bc6..0000000 --- a/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.cxx +++ /dev/null @@ -1,85 +0,0 @@ -// file : examples/cxx/parser/polymorphism/supermen-pimpl.cxx -// copyright : not copyrighted - public domain -// - -#include <iostream> - -#include "supermen-pimpl.hxx" - -using std::cout; -using std::endl; - -// person_pimpl -// -void person_pimpl:: -pre () -{ - cout << "starting to parse person" << endl; -} - -void person_pimpl:: -name (const std::string& v) -{ - cout << "name: " << v << endl; -} - -void person_pimpl:: -post_person () -{ - cout << "finished parsing person" << endl - << endl; -} - -// superman_pimpl -// -void superman_pimpl:: -pre () -{ - cout << "starting to parse superman" << endl; -} - -void superman_pimpl:: -can_fly (bool v) -{ - cout << "can-fly: " << v << endl; -} - -void superman_pimpl:: -post_person () -{ - post_superman (); -} - -void superman_pimpl:: -post_superman () -{ - cout << "finished parsing superman" << endl - << endl; -} - -// batman_pimpl -// -void batman_pimpl:: -pre () -{ - cout << "starting to parse batman" << endl; -} - -void batman_pimpl:: -wing_span (unsigned int v) -{ - cout << "wing-span: " << v << endl; -} - -void batman_pimpl:: -post_superman () -{ - post_batman (); -} - -void batman_pimpl:: -post_batman () -{ - cout << "finished parsing batman" << endl - << endl; -} diff --git a/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.hxx b/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.hxx deleted file mode 100644 index eaf81e5..0000000 --- a/xsd/examples/cxx/parser/polymorphism/supermen-pimpl.hxx +++ /dev/null @@ -1,68 +0,0 @@ -// file : examples/cxx/parser/polymorphism/supermen-pimpl.hxx -// copyright : not copyrighted - public domain - -#ifndef SUPERMEN_PIMPL_HXX -#define SUPERMEN_PIMPL_HXX - -#include "supermen-pskel.hxx" - -class person_pimpl: public virtual person_pskel -{ -public: - virtual void - pre (); - - virtual void - name (const std::string&); - - virtual void - post_person (); -}; - -class superman_pimpl: public virtual superman_pskel, - public person_pimpl -{ -public: - virtual void - pre (); - - virtual void - can_fly (bool); - - // By default, post_superman() calls post_person(). In case of - // polymorphic parsing we want the opposite: post_person() calls - // post_superman(). - // - virtual void - post_person (); - - virtual void - post_superman (); -}; - -class batman_pimpl: public virtual batman_pskel, - public superman_pimpl -{ -public: - virtual void - pre (); - - virtual void - wing_span (unsigned int); - - // By default, post_batman() calls post_superman(). In case of - // polymorphic parsing we want the opposite: post_superman() - // calls post_batman(). - // - virtual void - post_superman (); - - virtual void - post_batman (); -}; - -class supermen_pimpl: public supermen_pskel -{ -}; - -#endif // SUPERMEN_PIMPL_HXX diff --git a/xsd/examples/cxx/parser/polymorphism/supermen.xml b/xsd/examples/cxx/parser/polymorphism/supermen.xml deleted file mode 100644 index 15054fa..0000000 --- a/xsd/examples/cxx/parser/polymorphism/supermen.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polymorphism/supermen.xml -copyright : not copyrighted - public domain - ---> - -<supermen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="supermen.xsd"> - - <person> - <name>John Doe</name> - </person> - - <superman can-fly="false"> - <name>James "007" Bond</name> - </superman> - - <superman can-fly="true" wing-span="10" xsi:type="batman"> - <name>Bruce Wayne</name> - </superman> - -</supermen> diff --git a/xsd/examples/cxx/parser/polymorphism/supermen.xsd b/xsd/examples/cxx/parser/polymorphism/supermen.xsd deleted file mode 100644 index c9029da..0000000 --- a/xsd/examples/cxx/parser/polymorphism/supermen.xsd +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polymorphism/supermen.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <!-- substitution group root --> - <xsd:element name="person" type="person"/> - - - <xsd:complexType name="superman"> - <xsd:complexContent> - <xsd:extension base="person"> - <xsd:attribute name="can-fly" type="xsd:boolean" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="superman" type="superman" substitutionGroup="person"/> - - <xsd:complexType name="batman"> - <xsd:complexContent> - <xsd:extension base="superman"> - <xsd:attribute name="wing-span" type="xsd:unsignedInt" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="supermen"> - <xsd:sequence> - <xsd:element ref="person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="supermen" type="supermen"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/polyroot/README b/xsd/examples/cxx/parser/polyroot/README deleted file mode 100644 index f41b91c..0000000 --- a/xsd/examples/cxx/parser/polyroot/README +++ /dev/null @@ -1,36 +0,0 @@ -This example shows how to handle the xsi:type attributes when it is used -on root elements. For general coverage of XML Schema polymorphism handling -in the C++/Parser mapping see the polymorphism example. - -The example consists of the following files: - -supermen.xsd - XML Schema which describes the "supermen" instance documents. - -person.xml -superman.xml -batman.xml - Sample XML instance documents. - -supermen-pskel.hxx -supermen-pskel.cxx - Parser skeletons generated by the XSD compiler from supermen.xsd. - Note the use of the --generate-polymorphic command line option. - -supermen-pimpl.hxx -supermen-pimpl.cxx - Parser implementations that print the XML data to STDOUT. - -driver.cxx - Driver for the example. It implements a custom document parser - that determines which XML Schema type is being parsed and uses - the corresponding parser implementation. The driver first - constructs a parser instance from all the individual parsers - found in supermen-pimpl.hxx. In then invokes this parser instance - to parse the input file. - -To run the example on the sample XML instance documents simply execute: - -$ ./driver person.xml -$ ./driver superman.xml -$ ./driver batman.xml diff --git a/xsd/examples/cxx/parser/polyroot/batman.xml b/xsd/examples/cxx/parser/polyroot/batman.xml deleted file mode 100644 index fad0b71..0000000 --- a/xsd/examples/cxx/parser/polyroot/batman.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polyroot/batman.xml -copyright : not copyrighted - public domain - ---> - -<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="supermen.xsd" - xsi:type="batman" can-fly="true" wing-span="10"> - - <name>Bruce Wayne</name> - -</person> diff --git a/xsd/examples/cxx/parser/polyroot/driver.cxx b/xsd/examples/cxx/parser/polyroot/driver.cxx deleted file mode 100644 index 1c9c778..0000000 --- a/xsd/examples/cxx/parser/polyroot/driver.cxx +++ /dev/null @@ -1,138 +0,0 @@ -// file : examples/cxx/parser/polyroot/driver.cxx -// copyright : not copyrighted - public domain - -#include <map> -#include <string> -#include <iostream> - -#include "supermen-pimpl.hxx" - -using std::cerr; -using std::endl; -using xml_schema::ro_string; - -// Customize the xml_schema::document object to handle polymorphic -// root element. For more information see the multiroot example. -// -class document: public xml_schema::document -{ -public: - document (const xml_schema::parser_map& parser_map) - : xml_schema::document (true), // Indicate polymorphic parsing. - parser_map_ (parser_map) - { - } - -protected: - // This function is called to obtain the root element type parser. - // If the returned pointer is 0 then the whole document content - // is ignored. The type argument contains the XML Schema type - // if xsi:type attribute was specified for this element and 0 - // otherwise. - // - virtual xml_schema::parser_base* - start_root_element (const ro_string& ns, - const ro_string& name, - const ro_string* type) - { - if (name != "person" || !ns.empty ()) - return 0; - - xml_schema::parser_base* base; - - // Search the parser map. - // - if (type == 0) - { - // No xsi:type. Static type should be used. - // - ro_string st (person_pskel::_static_type ()); - base = parser_map_.find (st); - } - else - { - base = parser_map_.find (*type); - } - - if (base != 0) - { - parser_used_ = dynamic_cast<person_pskel*> (base); - parser_used_->pre (); - } - else - parser_used_ = 0; // No parser for this type. - - return parser_used_; - } - - // This function is called to indicate the completion of document - // parsing. The parser argument contains the pointer returned by - // start_root_element. - // - virtual void - end_root_element (const ro_string& /* ns */, - const ro_string& /* name */, - xml_schema::parser_base* /* parser */) - { - // Instead of caching the current parser in parser_used_, we - // could also dynamic_cast the parser argument to the person_pskel - // type. - // - if (parser_used_) - parser_used_->post_person (); - } - - -private: - const xml_schema::parser_map& parser_map_; - person_pskel* parser_used_; -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " instance.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::string_pimpl string_p; - xml_schema::boolean_pimpl boolean_p; - xml_schema::unsigned_int_pimpl unsigned_int_p; - - person_pimpl person_p; - superman_pimpl superman_p; - batman_pimpl batman_p; - - person_p.parsers (string_p); - superman_p.parsers (string_p, boolean_p); - batman_p.parsers (string_p, boolean_p, unsigned_int_p); - - // Parse the XML document. - // - xml_schema::parser_map_impl person_map; - - person_map.insert (person_p); - person_map.insert (superman_p); - person_map.insert (batman_p); - - document doc_p (person_map); - - doc_p.parse (argv[1]); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/polyroot/makefile b/xsd/examples/cxx/parser/polyroot/makefile deleted file mode 100644 index a5a9088..0000000 --- a/xsd/examples/cxx/parser/polyroot/makefile +++ /dev/null @@ -1,110 +0,0 @@ -# file : examples/cxx/parser/polyroot/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := supermen.xsd -cxx := driver.cxx supermen-pimpl.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(install_doc_dir)/xsd/$(path)/supermen.xsd) - $(call install-data,$(src_base)/batman.xml,$(install_doc_dir)/xsd/$(path)/batman.xml) - $(call install-data,$(src_base)/person.xml,$(install_doc_dir)/xsd/$(path)/person.xml) - $(call install-data,$(src_base)/superman.xml,$(install_doc_dir)/xsd/$(path)/superman.xml) - $(call install-data,$(src_base)/supermen-pimpl.hxx,$(install_doc_dir)/xsd/$(path)/supermen-pimpl.hxx) - $(call install-data,$(src_base)/supermen-pimpl.cxx,$(install_doc_dir)/xsd/$(path)/supermen-pimpl.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(dist_prefix)/$(path)/supermen.xsd) - $(call install-data,$(src_base)/batman.xml,$(dist_prefix)/$(path)/batman.xml) - $(call install-data,$(src_base)/person.xml,$(dist_prefix)/$(path)/person.xml) - $(call install-data,$(src_base)/superman.xml,$(dist_prefix)/$(path)/superman.xml) - $(call install-data,$(src_base)/supermen-pimpl.hxx,$(dist_prefix)/$(path)/supermen-pimpl.hxx) - $(call install-data,$(src_base)/supermen-pimpl.cxx,$(dist_prefix)/$(path)/supermen-pimpl.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/parser/polyroot/person.xml b/xsd/examples/cxx/parser/polyroot/person.xml deleted file mode 100644 index f463bea..0000000 --- a/xsd/examples/cxx/parser/polyroot/person.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polyroot/person.xml -copyright : not copyrighted - public domain - ---> - -<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="supermen.xsd"> - - <name>John Doe</name> - -</person> diff --git a/xsd/examples/cxx/parser/polyroot/superman.xml b/xsd/examples/cxx/parser/polyroot/superman.xml deleted file mode 100644 index c831f6c..0000000 --- a/xsd/examples/cxx/parser/polyroot/superman.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polyroot/superman.xml -copyright : not copyrighted - public domain - ---> - -<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="supermen.xsd" - xsi:type="superman" can-fly="false"> - - <name>James "007" Bond</name> - -</person> diff --git a/xsd/examples/cxx/parser/polyroot/supermen-pimpl.cxx b/xsd/examples/cxx/parser/polyroot/supermen-pimpl.cxx deleted file mode 100644 index 62289e9..0000000 --- a/xsd/examples/cxx/parser/polyroot/supermen-pimpl.cxx +++ /dev/null @@ -1,85 +0,0 @@ -// file : examples/cxx/parser/polyroot/supermen-pimpl.cxx -// copyright : not copyrighted - public domain -// - -#include <iostream> - -#include "supermen-pimpl.hxx" - -using std::cout; -using std::endl; - -// person_pimpl -// -void person_pimpl:: -pre () -{ - cout << "starting to parse person" << endl; -} - -void person_pimpl:: -name (const std::string& v) -{ - cout << "name: " << v << endl; -} - -void person_pimpl:: -post_person () -{ - cout << "finished parsing person" << endl - << endl; -} - -// superman_pimpl -// -void superman_pimpl:: -pre () -{ - cout << "starting to parse superman" << endl; -} - -void superman_pimpl:: -can_fly (bool v) -{ - cout << "can-fly: " << v << endl; -} - -void superman_pimpl:: -post_person () -{ - post_superman (); -} - -void superman_pimpl:: -post_superman () -{ - cout << "finished parsing superman" << endl - << endl; -} - -// batman_pimpl -// -void batman_pimpl:: -pre () -{ - cout << "starting to parse batman" << endl; -} - -void batman_pimpl:: -wing_span (unsigned int v) -{ - cout << "wing-span: " << v << endl; -} - -void batman_pimpl:: -post_superman () -{ - post_batman (); -} - -void batman_pimpl:: -post_batman () -{ - cout << "finished parsing batman" << endl - << endl; -} diff --git a/xsd/examples/cxx/parser/polyroot/supermen-pimpl.hxx b/xsd/examples/cxx/parser/polyroot/supermen-pimpl.hxx deleted file mode 100644 index 49e8c74..0000000 --- a/xsd/examples/cxx/parser/polyroot/supermen-pimpl.hxx +++ /dev/null @@ -1,64 +0,0 @@ -// file : examples/cxx/parser/polyroot/supermen-pimpl.hxx -// copyright : not copyrighted - public domain - -#ifndef SUPERMEN_PIMPL_HXX -#define SUPERMEN_PIMPL_HXX - -#include "supermen-pskel.hxx" - -class person_pimpl: public virtual person_pskel -{ -public: - virtual void - pre (); - - virtual void - name (const std::string&); - - virtual void - post_person (); -}; - -class superman_pimpl: public virtual superman_pskel, - public person_pimpl -{ -public: - virtual void - pre (); - - virtual void - can_fly (bool); - - // By default, post_superman() calls post_person(). In case of - // polymorphic parsing we want the opposite: post_person() calls - // post_superman(). - // - virtual void - post_person (); - - virtual void - post_superman (); -}; - -class batman_pimpl: public virtual batman_pskel, - public superman_pimpl -{ -public: - virtual void - pre (); - - virtual void - wing_span (unsigned int); - - // By default, post_batman() calls post_superman(). In case of - // polymorphic parsing we want the opposite: post_superman() - // calls post_batman(). - // - virtual void - post_superman (); - - virtual void - post_batman (); -}; - -#endif // SUPERMEN_PIMPL_HXX diff --git a/xsd/examples/cxx/parser/polyroot/supermen.xsd b/xsd/examples/cxx/parser/polyroot/supermen.xsd deleted file mode 100644 index dc5d439..0000000 --- a/xsd/examples/cxx/parser/polyroot/supermen.xsd +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/polyroot/supermen.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="person" type="person"/> - - <xsd:complexType name="superman"> - <xsd:complexContent> - <xsd:extension base="person"> - <xsd:attribute name="can-fly" type="xsd:boolean" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="batman"> - <xsd:complexContent> - <xsd:extension base="superman"> - <xsd:attribute name="wing-span" type="xsd:unsignedInt" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/wildcard/README b/xsd/examples/cxx/parser/wildcard/README deleted file mode 100644 index 89f9aa9..0000000 --- a/xsd/examples/cxx/parser/wildcard/README +++ /dev/null @@ -1,27 +0,0 @@ -This example shows how to parse the XML data matched by XML Schema -wildcards (any and anyAttribute) in the C++/Parser mapping. The -example consists of the following files: - -email.xsd - XML Schema which describes a simple email format with the - extensible envelope type. - -email.xml - Sample email message. - -email-pskel.hxx -email-pskel.cxx - Parser skeletons generated by XSD from email.xsd. - -driver.cxx - Parser implementations and a driver for the example. The - parser implementations simply print the data to STDERR. - The driver first constructs parser instances from the - parser implementations mentioned above and a couple of - predefined parsers for the XML Schema built-in types. - In then invokes the parser instances to parse the input - file. - -To run the example on the sample XML instance document simply execute: - -$ ./driver email.xml diff --git a/xsd/examples/cxx/parser/wildcard/driver.cxx b/xsd/examples/cxx/parser/wildcard/driver.cxx deleted file mode 100644 index fa82ec0..0000000 --- a/xsd/examples/cxx/parser/wildcard/driver.cxx +++ /dev/null @@ -1,239 +0,0 @@ -// file : examples/cxx/parser/wildcard/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <memory> -#include <iostream> - -#include "email-pskel.hxx" - -using namespace std; -using xml_schema::ro_string; - -class binary_pimpl: public email::binary_pskel, - public xml_schema::base64_binary_pimpl -{ -public: - virtual void - name (const string& n) - { - cerr << "binary: " << n << endl; - } - - virtual void - mime (const string& t) - { - cerr << "type: " << t << endl - << endl; - } - - virtual void - post_binary () - { - auto_ptr<xml_schema::buffer> buf (post_base64_binary ()); - - cerr << "size: " << buf->size () << endl - << endl; - } -}; - -class envelope_pimpl: public email::envelope_pskel -{ -public: - envelope_pimpl (xml_schema::unsigned_int_pskel& uint_p, - xml_schema::string_pskel& string_p, - email::binary_pskel& binary_p) - : depth_ (0), cur_ (0), - uint_p_ (uint_p), string_p_ (string_p), binary_p_ (binary_p) - { - } - - virtual void - to (const string& addr) - { - cerr << "To: " << addr << endl; - } - - virtual void - from (const string& addr) - { - cerr << "From: " << addr << endl; - } - - virtual void - subject (const string& s) - { - cerr << "Subject: " << s << endl; - } - - // Wildcard handling. All wildcard events are routed to these - // four functions. It is our job to dispatch them to the right - // parsers. - // - virtual void - _start_any_element (const ro_string& ns, - const ro_string& name, - const ro_string* type) - { - if (depth_++ > 0) - { - // Nested wildcard element. - // - if (cur_) - cur_->_start_element (ns, name, type); - } - else - { - // Top-level element matched by the any wildcard. - // - if (ns == "http://www.codesynthesis.com/email") - { - if (name == "text") - { - cur_ = &string_p_; - string_p_.pre (); - string_p_._pre_impl (); - } - else if (name == "binary") - { - cur_ = &binary_p_; - binary_p_.pre (); - binary_p_._pre_impl (); - } - } - - if (cur_ == 0) - { - cerr << "Unknown wildcard content: " << ns << "#" << name << endl; - } - } - } - - virtual void - _end_any_element (const ro_string& ns, const ro_string& name) - { - if (--depth_ > 0) - { - if (cur_) - cur_->_end_element (ns, name); - } - else - { - if (ns == "http://www.codesynthesis.com/email") - { - if (name == "text") - { - string_p_._post_impl (); - string text (string_p_.post_string ()); - - cerr << text << endl - << endl; - } - else if (name == "binary") - { - binary_p_._post_impl (); - binary_p_.post_binary (); - } - } - - cur_ = 0; - } - } - - virtual void - _any_attribute (const ro_string& ns, - const ro_string& name, - const ro_string& value) - { - if (depth_ > 0) - { - // Nested wildcard attribute. - // - if (cur_) - cur_->_attribute (ns, name, value); - } - else - { - // Top-level attribute matched by the anyAttribute wildcard. - // - if (ns == "http://www.codesynthesis.com/email" && name == "thread-id") - { - uint_p_.pre (); - uint_p_._pre_impl (); - uint_p_._characters (value); - uint_p_._post_impl (); - unsigned int tid (uint_p_.post_unsigned_int ()); - - cerr << "Thread-id: " << tid << endl; - } - } - } - - virtual void - _any_characters (const ro_string& s) - { - if (depth_ > 0) - { - if (cur_) - cur_->_characters (s); - } - } - -private: - size_t depth_; - xml_schema::parser_base* cur_; - - // Parsers for the unsigned int, string and binary types. - // -private: - xml_schema::unsigned_int_pskel& uint_p_; - xml_schema::string_pskel& string_p_; - email::binary_pskel& binary_p_; -}; - - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " email.xml" << endl; - return 1; - } - - try - { - // Construct the parser. - // - xml_schema::unsigned_int_pimpl unsigned_int_p; - xml_schema::string_pimpl string_p; - binary_pimpl binary_p; - envelope_pimpl envelope_p (unsigned_int_p, string_p, binary_p); - - binary_p.parsers (string_p, // name - string_p); // mime - - envelope_p.parsers (string_p, // to - string_p, // from - string_p); // subject - - // Parse the XML instance document. - // - xml_schema::document doc_p (envelope_p, - "http://www.codesynthesis.com/email", - "message"); - envelope_p.pre (); - doc_p.parse (argv[1]); - envelope_p.post_envelope (); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/parser/wildcard/email.xml b/xsd/examples/cxx/parser/wildcard/email.xml deleted file mode 100644 index f5d0359..0000000 --- a/xsd/examples/cxx/parser/wildcard/email.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/wildcard/email.xml -copyright : not copyrighted - public domain - ---> - -<eml:message xmlns:eml="http://www.codesynthesis.com/email" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/email email.xsd" - eml:thread-id="123456789"> - - <to>Jane Doe <jane@doe.com></to> - <from>John Doe <john@doe.com></from> - <subject>Surfing pictures</subject> - - <eml:text> -Hi Jane, - -Here are cool pictures of me surfing. - -Cheers, -John - </eml:text> - - <eml:binary name="pic1.jpg" mime="image/jpeg">YmFzZTY0IGJpbmFyeQ==</eml:binary> - <eml:binary name="pic2.jpg" mime="image/jpeg">YmFzZTY0IGJpbmFyeQ==</eml:binary> - -</eml:message> diff --git a/xsd/examples/cxx/parser/wildcard/email.xsd b/xsd/examples/cxx/parser/wildcard/email.xsd deleted file mode 100644 index 087fc7e..0000000 --- a/xsd/examples/cxx/parser/wildcard/email.xsd +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/parser/wildcard/email.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:eml="http://www.codesynthesis.com/email" - targetNamespace="http://www.codesynthesis.com/email"> - - <!-- Predefined envolop body types. --> - - <xsd:element name="text" type="xsd:string"/> - - <xsd:complexType name="binary"> - <xsd:simpleContent> - <xsd:extension base="xsd:base64Binary"> - <xsd:attribute name="name" type="xsd:string" use="required"/> - <xsd:attribute name="mime" type="xsd:string" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:element name="binary" type="eml:binary"/> - - <!-- Predefined envelop attributes. --> - - <xsd:attribute name="thread-id" type="xsd:unsignedInt"/> - - - <xsd:complexType name="envelope"> - <xsd:sequence> - <xsd:element name="to" type="xsd:string"/> - <xsd:element name="from" type="xsd:string"/> - <xsd:element name="subject" type="xsd:string"/> - - <!-- Extensible envelope body. --> - - <xsd:any namespace="##targetNamespace" processContents="strict" - maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:anyAttribute namespace="##targetNamespace" processContents="strict"/> - </xsd:complexType> - - <xsd:element name="message" type="eml:envelope"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/parser/wildcard/makefile b/xsd/examples/cxx/parser/wildcard/makefile deleted file mode 100644 index 524f8da..0000000 --- a/xsd/examples/cxx/parser/wildcard/makefile +++ /dev/null @@ -1,102 +0,0 @@ -# file : examples/cxx/parser/wildcard/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := email.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/email.xsd,$(install_doc_dir)/xsd/$(path)/email.xsd) - $(call install-data,$(src_base)/email.xml,$(install_doc_dir)/xsd/$(path)/email.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/email.xsd,$(dist_prefix)/$(path)/email.xsd) - $(call install-data,$(src_base)/email.xml,$(dist_prefix)/$(path)/email.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/README b/xsd/examples/cxx/tree/README deleted file mode 100644 index 569bf11..0000000 --- a/xsd/examples/cxx/tree/README +++ /dev/null @@ -1,80 +0,0 @@ -This directory contains a number of examples that show how to use -the C++/Tree mapping. The following list gives an overview of -each example. See the README files in example directories for -more information on each example. - -hello - A simple "Hello, world!" example that shows how to parse XML - documents. - -library - Shows hot to handle more complex data structures, use the - ID/IDREF cross-referencing mechanism, use the xsd:enumeration - to C++ enum mapping, modify the object model, and serialize - the modified object model back to XML. - -polymorphism - Shows how to use XML Schema polymorphism features such as the - xsi:type attribute and substitution groups. - -order/ - A collection of examples that show how to use ordered types to - capture and maintain content order. - -xpath - Shows how to use the C++/Tree mapping together with XPath. - -wildcard - Shows how to use the optional wildcard mapping to parse, access, - modify, and serialize the XML data matched by XML Schema wildcards - (any and anyAttribute). - -mixed - Shows how to access the underlying DOM nodes to handle raw, "type- - less content" such as mixed content models, anyType/anySimpleType, - and any/anyAttribute. - -multiroot - Shows how to handle XML vocabularies with multiple root elements. - See also the messaging example. - -messaging - Shows how to handle XML vocabularies with multiple root elements - using the element type and element map features of the C++/Tree - mapping. - -caching - Shows how to parse several XML documents while reusing the - underlying XML parser and caching the schemas used for validation. - -embedded - Shows how to embed the binary representation of the schema grammar - into an application and then use it with the C++/Tree mapping to - parse and validate XML documents. - -performance - Measures the performance of parsing and serialization. This example - also shows how to structure your code to achieve the maximum - performance for these two operations. - -custom/ - A collection of examples that show how to customize the C++/Tree - mapping by using custom C++ classes instead of or in addition to - the generated ones. See the accompanying README file for an - overview of each example in this directory. - -streaming - Shows how to perform stream-oriented, partially in-memory XML - processing using the C++/Tree mapping. With the partially in-memory - parsing and serialization only a part of the object model is in - memory at any given time. With this approach we can process parts - of the document as they become available as well as handle documents - that are too large to fit into memory. - -compression - Shows how to compress an XML document during serialization and decompress - it during parsing using the zlib library. - -binary/ - A collection of examples that show how to serialize the object model - into a number of predefined and custom binary formats. diff --git a/xsd/examples/cxx/tree/binary/README b/xsd/examples/cxx/tree/binary/README deleted file mode 100644 index 365551e..0000000 --- a/xsd/examples/cxx/tree/binary/README +++ /dev/null @@ -1,16 +0,0 @@ -This directory contains a number of examples that show how to serialize -the object model into a number of predefined and custom binary formats. -The following list gives an overview of each example: - -boost - Shows how to save/load the object model to/from a custom format - using the Boost serialization library as an example. - -cdr - Shows how to save/load the object model to/from CDR (Common Data - Representation) binary format using ACE CDR streams. - -xdr - Shows how to save/load the object model to/from XDR (eXternal Data - Representation) binary format using the XDR API provided as part of - Sun RPC. diff --git a/xsd/examples/cxx/tree/binary/boost/README b/xsd/examples/cxx/tree/binary/boost/README deleted file mode 100644 index 6cdd2dd..0000000 --- a/xsd/examples/cxx/tree/binary/boost/README +++ /dev/null @@ -1,49 +0,0 @@ -This example shows how to save/load the object model to/from a custom -format using the Boost serialization library as an example. You will -need the Boost serialization library[1] installed in order to build -and run this example. - -[1] http://www.boost.org - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -boost-archive-extraction.hxx -boost-archive-insertion.hxx - Boost archive insertion and extraction operators for fundamental - types. You will need to provide a similar set of operators for - your own stream types. - -library-prologue.hxx - Contains a number of #include directives that are inserted into - the generated code by the XSD compiler. The included files are: - boost/archive/text_oarchive.hpp, boost/archive/text_oarchive.hpp, - boost-archive-insertion.hxx, and boost-archive-insertion.hxx. - -library.hxx -library.cxx - C++ types that represent the given vocabulary as well as Boost - archive insertion and extraction operations. These are generated - by the XSD compiler from library.xsd. The --hxx-prologue-file - option is used to insert the contents of the library-prologue.hxx - file into the generated header file. The --generate-insertion and - --generate-extraction options are used to generate the insertion - and extraction operations for text_oarchive and text_iarchive - types. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input XML file. It then - saves the object model to text_oarchive and loads it back from - text_iarchive. Additionally, it prints the resulting text - representation as well as the content of the object model before - saving it to text_oarchive and after loading it from text_iarchive. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/tree/binary/boost/boost-archive-extraction.hxx b/xsd/examples/cxx/tree/binary/boost/boost-archive-extraction.hxx deleted file mode 100644 index 8a1c1ef..0000000 --- a/xsd/examples/cxx/tree/binary/boost/boost-archive-extraction.hxx +++ /dev/null @@ -1,188 +0,0 @@ -// file : examples/cxx/tree/binary/boost/boost-archive-insertion.cxx -// copyright : not copyrighted - public domain - -#ifndef BOOST_ARCHIVE_EXTRACTION_HXX -#define BOOST_ARCHIVE_EXTRACTION_HXX - -#include <cstddef> // std::size_t -#include <string> - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/istream.hxx> - -#include <boost/cstdint.hpp> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // as_size - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_size<T>& x) - { - std::size_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - // 8-bit - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_int8<T>& x) - { - boost::int8_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_uint8<T>& x) - { - boost::uint8_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - - // 16-bit - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_int16<T>& x) - { - boost::int16_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_uint16<T>& x) - { - boost::uint16_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - - // 32-bit - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_int32<T>& x) - { - boost::int32_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_uint32<T>& x) - { - boost::uint32_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - - // 64-bit - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_int64<T>& x) - { - boost::int64_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_uint64<T>& x) - { - boost::uint64_t r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - - // Boolean - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_bool<T>& x) - { - bool r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - - // Floating-point - // - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_float32<T>& x) - { - float r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - template <typename Archive, typename T> - inline istream<Archive>& - operator>> (istream<Archive>& s, istream_common::as_float64<T>& x) - { - double r; - s.impl () >> r; - x.x_ = static_cast<T> (r); - return s; - } - - // Extraction of std::basic_string. - // - - template <typename Archive, typename C> - inline istream<Archive>& - operator>> (istream<Archive>& s, std::basic_string<C>& x) - { - s.impl () >> x; - return s; - } - - - // Extraction of a binary buffer. - // - template <typename Archive, typename C> - istream<Archive>& - operator>> (istream<Archive>& s, buffer<C>& x) - { - std::size_t size; - s.impl () >> size; - x.size (size); - s.impl ().load_binary (x.data (), size); - return s; - } - } - } -} - -#endif // BOOST_ARCHIVE_EXTRACTION_HXX diff --git a/xsd/examples/cxx/tree/binary/boost/boost-archive-insertion.hxx b/xsd/examples/cxx/tree/binary/boost/boost-archive-insertion.hxx deleted file mode 100644 index 4c89104..0000000 --- a/xsd/examples/cxx/tree/binary/boost/boost-archive-insertion.hxx +++ /dev/null @@ -1,177 +0,0 @@ -// file : examples/cxx/tree/binary/boost/boost-archive-insertion.cxx -// copyright : not copyrighted - public domain - -#ifndef BOOST_ARCHIVE_INSERTION_HXX -#define BOOST_ARCHIVE_INSERTION_HXX - -#include <cstddef> // std::size_t -#include <string> - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/ostream.hxx> - -#include <boost/cstdint.hpp> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // as_size - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_size<T> x) - { - std::size_t v (static_cast<std::size_t> (x.x_)); - s.impl () << v; - return s; - } - - // 8-bit - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_int8<T> x) - { - boost::int8_t v (static_cast<boost::int8_t> (x.x_)); - s.impl () << v; - return s; - } - - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_uint8<T> x) - { - boost::uint8_t v (static_cast<boost::uint8_t> (x.x_)); - s.impl () << v; - return s; - } - - - // 16-bit - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_int16<T> x) - { - boost::int16_t v (static_cast<boost::int16_t> (x.x_)); - s.impl () << v; - return s; - } - - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_uint16<T> x) - { - boost::uint16_t v (static_cast<boost::uint16_t> (x.x_)); - s.impl () << v; - return s; - } - - - // 32-bit - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_int32<T> x) - { - boost::int32_t v (static_cast<boost::int32_t> (x.x_)); - s.impl () << v; - return s; - } - - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_uint32<T> x) - { - boost::uint32_t v (static_cast<boost::uint32_t> (x.x_)); - s.impl () << v; - return s; - } - - - // 64-bit - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_int64<T> x) - { - boost::int64_t v (static_cast<boost::int64_t> (x.x_)); - s.impl () << v; - return s; - } - - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_uint64<T> x) - { - boost::uint64_t v (static_cast<boost::uint64_t> (x.x_)); - s.impl () << v; - return s; - } - - - // Boolean - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_bool<T> x) - { - bool v (static_cast<bool> (x.x_)); - s.impl () << v; - return s; - } - - - // Floating-point - // - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_float32<T> x) - { - float v (static_cast<float> (x.x_)); - s.impl () << v; - return s; - } - - template <typename Archive, typename T> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, ostream_common::as_float64<T> x) - { - double v (static_cast<double> (x.x_)); - s.impl () << v; - return s; - } - - - // Insertion of std::basic_string. - // - template <typename Archive, typename C> - inline ostream<Archive>& - operator<< (ostream<Archive>& s, const std::basic_string<C>& x) - { - s.impl () << x; - return s; - } - - - // Insertion of a binary buffer. - // - template <typename Archive, typename C> - ostream<Archive>& - operator<< (ostream<Archive>& s, const buffer<C>& x) - { - // Boost.Serialization needs an lvalue. - // - std::size_t size (x.size()); - s.impl () << size; - s.impl ().save_binary (x.data (), x.size ()); - return s; - } - } - } -} - -#endif // BOOST_ARCHIVE_INSERTION_HXX diff --git a/xsd/examples/cxx/tree/binary/boost/driver.cxx b/xsd/examples/cxx/tree/binary/boost/driver.cxx deleted file mode 100644 index df053b6..0000000 --- a/xsd/examples/cxx/tree/binary/boost/driver.cxx +++ /dev/null @@ -1,72 +0,0 @@ -// file : examples/cxx/tree/binary/boost/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cstring> // std::memcpy -#include <sstream> -#include <iostream> - -// You can generate insertion/extraction code for other archive -// types (for example, binary, XML, etc). -// -#include <boost/archive/text_oarchive.hpp> -#include <boost/archive/text_iarchive.hpp> - -#include "library.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - try - { - using namespace library; - using boost::archive::text_oarchive; - using boost::archive::text_iarchive; - - // Read in the file. - // - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - cerr << *c << endl; - - // Save into a text archive. - // - std::ostringstream ostr; - text_oarchive oa (ostr); - xml_schema::ostream<text_oarchive> os (oa); - - os << *c; - - // Print the text representation. - // - std::string str (ostr.str ()); - - cerr << endl - << "text representation: " << endl - << str << endl; - - // Load from a text archive. - // - std::istringstream istr (str); - text_iarchive ia (istr); - xml_schema::istream<text_iarchive> is (ia); - - std::auto_ptr<catalog> copy (new catalog (is)); - - cerr << *copy << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/binary/boost/library-prologue.hxx b/xsd/examples/cxx/tree/binary/boost/library-prologue.hxx deleted file mode 100644 index ba0d35f..0000000 --- a/xsd/examples/cxx/tree/binary/boost/library-prologue.hxx +++ /dev/null @@ -1,9 +0,0 @@ -// Include declarations for the archive types. -// -#include <boost/archive/text_oarchive.hpp> -#include <boost/archive/text_iarchive.hpp> - -// Include insertion/extraction operators for fundamental types. -// -#include "boost-archive-insertion.hxx" -#include "boost-archive-extraction.hxx" diff --git a/xsd/examples/cxx/tree/binary/boost/library.xml b/xsd/examples/cxx/tree/binary/boost/library.xml deleted file mode 100644 index ceb4443..0000000 --- a/xsd/examples/cxx/tree/binary/boost/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/boost/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/binary/boost/library.xsd b/xsd/examples/cxx/tree/binary/boost/library.xsd deleted file mode 100644 index 4bfdd1e..0000000 --- a/xsd/examples/cxx/tree/binary/boost/library.xsd +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/boost/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/binary/boost/makefile b/xsd/examples/cxx/tree/binary/boost/makefile deleted file mode 100644 index 1ed7e41..0000000 --- a/xsd/examples/cxx/tree/binary/boost/makefile +++ /dev/null @@ -1,132 +0,0 @@ -# file : examples/cxx/tree/binary/boost/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(call import,\ - $(scf_root)/import/libboost/serialization/stub.make,\ - l: boost_serialization.l,cpp-options: boost_serialization.l.cpp-options) -endif - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(boost_serialization.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(boost_serialization.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += --generate-ostream \ ---hxx-prologue-file $(src_base)/library-prologue.hxx \ ---generate-insertion boost::archive::text_oarchive \ ---generate-extraction boost::archive::text_iarchive - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - $(call install-data,$(src_base)/library-prologue.hxx,$(install_doc_dir)/xsd/$(path)/library-prologue.hxx) - $(call install-data,$(src_base)/boost-archive-extraction.hxx,$(install_doc_dir)/xsd/$(path)/boost-archive-extraction.hxx) - $(call install-data,$(src_base)/boost-archive-insertion.hxx,$(install_doc_dir)/xsd/$(path)/boost-archive-insertion.hxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - $(call install-data,$(src_base)/library-prologue.hxx,$(dist_prefix)/$(path)/library-prologue.hxx) - $(call install-data,$(src_base)/boost-archive-extraction.hxx,$(dist_prefix)/$(path)/boost-archive-extraction.hxx) - $(call install-data,$(src_base)/boost-archive-insertion.hxx,$(dist_prefix)/$(path)/boost-archive-insertion.hxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,boost-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,boost-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,boost-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,boost-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,boost-vc12.sln) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/binary/cdr/README b/xsd/examples/cxx/tree/binary/cdr/README deleted file mode 100644 index 914d27c..0000000 --- a/xsd/examples/cxx/tree/binary/cdr/README +++ /dev/null @@ -1,36 +0,0 @@ -This example shows how to save/load the object model to/from CDR -(Common Data Representation) binary format using ACE CDR streams. -Support for other data representation streams can be easily added. You -will need the ACE library[1] installed in order to build and run this -example. - -[1] http://www.cs.wustl.edu/~schmidt/ACE.html - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx -library.cxx - C++ types that represent the given vocabulary as well as data - representation stream insertion and extraction operations. These - are generated by XSD from library.xsd. Note that the - --generate-insertion and --generate-extraction options are used - to generate the insertion and extraction operations for ACE CDR - stream. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input XML file. It then - saves the object model to ACE_OuputCDR and loads it back from - ACE_InputCDR. Additionally, it prints the resulting binary - representation as well as the content of the object model before - saving it to the CDR stream and after loading it from the CDR stream. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/tree/binary/cdr/driver.cxx b/xsd/examples/cxx/tree/binary/cdr/driver.cxx deleted file mode 100644 index ec1ff32..0000000 --- a/xsd/examples/cxx/tree/binary/cdr/driver.cxx +++ /dev/null @@ -1,87 +0,0 @@ -// file : examples/cxx/tree/binary/cdr/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cstring> // std::memcpy -#include <iostream> - -#include <ace/Log_Msg.h> // ACE_HEX_DUMP -#include <ace/CDR_Stream.h> - -// The following two headers define XSD-specific insertion/extraction -// operations for ACE CDR streams. You can use the content of these -// headers as a guide to implementing insertion/extraction to/from -// your own data representation streams: -// -// xsd/cxx/tree/ace-cdr-stream-insertion.hxx -// xsd/cxx/tree/ace-cdr-stream-extraction.hxx - -#include "library.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - try - { - using namespace library; - - // Read in the file. - // - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - cerr << *c << endl; - - // Save to a CDR stream. - // - ACE_OutputCDR ace_ocdr; - xml_schema::ostream<ACE_OutputCDR> ocdr (ace_ocdr); - - ocdr << *c; - - // Print the binary representation and at the same time save - // it into a continuous buffer. - // - cerr << endl - << "binary representation size: " << ace_ocdr.total_length () << endl; - - xml_schema::buffer buf (ace_ocdr.total_length ()); - char* data (buf.data ()); - - for (const ACE_Message_Block* mb = ace_ocdr.begin (); - mb != 0; - mb = mb->cont ()) - { - std::memcpy (data, mb->rd_ptr (), mb->length ()); - data += mb->length (); - - ACE_HEX_DUMP ((LM_DEBUG, mb->rd_ptr (), mb->length ())); - } - - // Load from a CDR stream. Note that ACE_InputCDR expects the - // buffer to be properly aligned. Since our buffer is dynamically - // allocated, its alignment should be good enough. - // - ACE_InputCDR ace_icdr (buf.data (), buf.size ()); - xml_schema::istream<ACE_InputCDR> icdr (ace_icdr); - - std::auto_ptr<catalog> copy (new catalog (icdr)); - - cerr << *copy << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } - - return 0; // ACE makes our main() an ordinary function. -} diff --git a/xsd/examples/cxx/tree/binary/cdr/library.xml b/xsd/examples/cxx/tree/binary/cdr/library.xml deleted file mode 100644 index 941c03f..0000000 --- a/xsd/examples/cxx/tree/binary/cdr/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/cdr/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/binary/cdr/library.xsd b/xsd/examples/cxx/tree/binary/cdr/library.xsd deleted file mode 100644 index 5659e1b..0000000 --- a/xsd/examples/cxx/tree/binary/cdr/library.xsd +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/cdr/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/binary/cdr/makefile b/xsd/examples/cxx/tree/binary/cdr/makefile deleted file mode 100644 index b349ba2..0000000 --- a/xsd/examples/cxx/tree/binary/cdr/makefile +++ /dev/null @@ -1,120 +0,0 @@ -# file : examples/cxx/tree/binary/cdr/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(call import,\ - $(scf_root)/import/libace/stub.make,\ - l: ace.l,cpp-options: ace.l.cpp-options) -endif - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(ace.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(ace.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream \ ---generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,cdr-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,cdr-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,cdr-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,cdr-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,cdr-vc12.sln) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/binary/makefile b/xsd/examples/cxx/tree/binary/makefile deleted file mode 100644 index eb4b312..0000000 --- a/xsd/examples/cxx/tree/binary/makefile +++ /dev/null @@ -1,56 +0,0 @@ -# file : examples/cxx/tree/binary/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -all_examples := boost cdr xdr -build_examples := - -ifeq ($(xsd_with_boost_serialization),y) -build_examples += boost -endif - -ifeq ($(xsd_with_ace),y) -build_examples += cdr -endif - -ifeq ($(xsd_with_xdr),y) -build_examples += xdr -endif - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples))) - -# Install & Dist. -# -$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples))) - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples))) - -$(call include,$(bld_root)/install.make) - -ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile)) -else -$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile)) -endif diff --git a/xsd/examples/cxx/tree/binary/xdr/README b/xsd/examples/cxx/tree/binary/xdr/README deleted file mode 100644 index 22d5693..0000000 --- a/xsd/examples/cxx/tree/binary/xdr/README +++ /dev/null @@ -1,34 +0,0 @@ -This example shows how to save/load the object model to/from XDR -(eXternal Data Representation) binary format using XDR streams. -The XDR API is available out of the box on most UNIX and GNU/Linux -systems as part of Sun RPC. On Windows you may need to install a -third-party library which provides the XDR API. - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx -library.cxx - C++ types that represent the given vocabulary as well as data - representation stream insertion and extraction operations. These - are generated by XSD from library.xsd. Note that the - --generate-insertion and --generate-extraction options are used - to generate the insertion and extraction operations for XDR - stream. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input XML file. It then - saves the object model to the XDR representation and loads it back. - Additionally, it prints the content of the object model before saving - it to the XDR representation and after loading it from the XDR - representation. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/tree/binary/xdr/driver.cxx b/xsd/examples/cxx/tree/binary/xdr/driver.cxx deleted file mode 100644 index d109322..0000000 --- a/xsd/examples/cxx/tree/binary/xdr/driver.cxx +++ /dev/null @@ -1,148 +0,0 @@ -// file : examples/cxx/tree/binary/xdr/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cstring> // std::memcpy -#include <cstddef> // std::size_t -#include <iostream> - -#include <rpc/types.h> -#include <rpc/xdr.h> - -#include "library.hxx" - -using std::cerr; -using std::endl; -using std::size_t; - -// XDR output functions. Their implementations are provided after main(). -// -struct underflow_info -{ - xml_schema::buffer* buf; - size_t pos; -}; - -extern "C" int -overflow (void* user_data, char* buf, int n); - -extern "C" int -underflow (void* user_data, char* buf, int n); - -// The xdrrec_create function (used below) has slightly different -// prototypes on different platforms. To make this example portable -// we will need to cast the actual function to the following common -// prototype. -// -extern "C" -typedef void (*xdrrec_create_p) ( - XDR*, - unsigned int write_size, - unsigned int read_size, - void* user_data, - int (*read) (void* user_data, char* buf, int n), - int (*write) (void* user_data, char* buf, int n)); - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - try - { - using namespace library; - - xdrrec_create_p xdrrec_create_ = - reinterpret_cast<xdrrec_create_p> (::xdrrec_create); - - // Read in the file. - // - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - cerr << *c << endl; - - // Save to an XDR stream. - // - XDR xdr; - xml_schema::buffer buf; - - xdrrec_create_ (&xdr, 0, 0, reinterpret_cast<char*> (&buf), 0, &overflow); - xdr.x_op = XDR_ENCODE; - - xml_schema::ostream<XDR> oxdr (xdr); - - oxdr << *c; - - xdrrec_endofrecord (&xdr, true); // Flush the data. - xdr_destroy (&xdr); - - // The binary representation is now in the memory buffer 'buf'. - // To get to the raw data use buf.data() and buf.size(). - // - cerr << endl - << "binary representation size: " << buf.size () << endl; - - // Load from an XDR stream. - // - underflow_info ui; - ui.buf = &buf; - ui.pos = 0; - - xdrrec_create_ (&xdr, 0, 0, reinterpret_cast<char*> (&ui), &underflow, 0); - xdr.x_op = XDR_DECODE; - - xdrrec_skiprecord (&xdr); - - xml_schema::istream<XDR> ixdr (xdr); - - std::auto_ptr<catalog> copy (new catalog (ixdr)); - - xdr_destroy (&xdr); - - cerr << *copy << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} - -extern "C" int -overflow (void* p, char* buf, int n_) -{ - xml_schema::buffer* dst (reinterpret_cast<xml_schema::buffer*> (p)); - size_t n (static_cast<size_t> (n_)); - - size_t size (dst->size ()); - size_t capacity (dst->capacity ()); - - // Implement exponential growth. - // - if (size + n > capacity && size + n < capacity * 2) - dst->capacity (capacity * 2); - - dst->size (size + n); - std::memcpy (dst->data () + size, buf, n); - - return n; -} - -extern "C" int -underflow (void* p, char* buf, int n_) -{ - underflow_info* ui (reinterpret_cast<underflow_info*> (p)); - size_t n (static_cast<size_t> (n_)); - - size_t size (ui->buf->size () - ui->pos); - n = size > n ? n : size; - - std::memcpy (buf, ui->buf->data () + ui->pos, n); - ui->pos += n; - - return n; -} diff --git a/xsd/examples/cxx/tree/binary/xdr/library.xml b/xsd/examples/cxx/tree/binary/xdr/library.xml deleted file mode 100644 index dab6afb..0000000 --- a/xsd/examples/cxx/tree/binary/xdr/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/xdr/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/binary/xdr/library.xsd b/xsd/examples/cxx/tree/binary/xdr/library.xsd deleted file mode 100644 index 7513e3b..0000000 --- a/xsd/examples/cxx/tree/binary/xdr/library.xsd +++ /dev/null @@ -1,75 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/binary/xdr/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/binary/xdr/makefile b/xsd/examples/cxx/tree/binary/xdr/makefile deleted file mode 100644 index 7939b29..0000000 --- a/xsd/examples/cxx/tree/binary/xdr/makefile +++ /dev/null @@ -1,114 +0,0 @@ -# file : examples/cxx/tree/binary/xdr/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) -lnsl - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream \ ---generate-insertion XDR --generate-extraction XDR -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,xdr-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,xdr-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,xdr-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,xdr-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,xdr-vc12.sln) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/caching/README b/xsd/examples/cxx/tree/caching/README deleted file mode 100644 index 64e5a1a..0000000 --- a/xsd/examples/cxx/tree/caching/README +++ /dev/null @@ -1,29 +0,0 @@ -This example shows how to use the C++/Tree mapping to parse several -XML documents while reusing the underlying XML parser and caching the -schemas used for validation. - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx -library.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from library.xsd. - -driver.cxx - Driver for the example. It first sets up the Xerces-C++ DOM parser - and caches the library.xsd schema for validation. It then performs - ten iterations that parse the input file to a DOM document using - the DOM parser and call one of the parsing functions that constructs - the object model from this DOM document. On each iteration the driver - prints a number of books in the object model to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/tree/caching/driver.cxx b/xsd/examples/cxx/tree/caching/driver.cxx deleted file mode 100644 index 2aa9396..0000000 --- a/xsd/examples/cxx/tree/caching/driver.cxx +++ /dev/null @@ -1,165 +0,0 @@ -// file : examples/cxx/tree/caching/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/util/PlatformUtils.hpp> -#include <xercesc/validators/common/Grammar.hpp> // xercesc::Grammar -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> -#include <xsd/cxx/xml/sax/std-input-source.hxx> - -#include <xsd/cxx/tree/error-handler.hxx> - -#include "library.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we - // are doing the XML-to-DOM parsing ourselves. - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - using namespace xercesc; - namespace xml = xsd::cxx::xml; - namespace tree = xsd::cxx::tree; - - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, true); - conf->setParameter (XMLUni::fgXercesSchema, true); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Initialize the schema cache. - // - if (!parser->loadGrammar ("library.xsd", Grammar::SchemaGrammarType, true)) - { - // In Xerces-C++ grammar loading failure results in just a warning. - // Make it a fatal error. - // - eh.handle ("library.xsd", 0, 0, - tree::error_handler<char>::severity::fatal, - "unable to load schema"); - } - - eh.throw_if_failed<xml_schema::parsing> (); - - // Use the loaded grammar during parsing. - // - conf->setParameter (XMLUni::fgXercesUseCachedGrammarInParse, true); - - // Disable loading schemas via other means (e.g., schemaLocation). - // - conf->setParameter (XMLUni::fgXercesLoadSchema, false); - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Parse XML documents. - // - for (unsigned long i (0); i < 10; ++i) - { - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - // Wrap the standard input stream. - // - xml::sax::std_input_source isrc (ifs, argv[1]); - Wrapper4InputSource wrap (&isrc, false); - - // Parse XML to DOM. - // - xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<xml_schema::parsing> (); - - // Parse DOM to the object model. - // - auto_ptr<library::catalog> c (library::catalog_ (*doc)); - - cerr << "catalog with " << c->book ().size () << " books" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/caching/library.xml b/xsd/examples/cxx/tree/caching/library.xml deleted file mode 100644 index 6d4d6f1..0000000 --- a/xsd/examples/cxx/tree/caching/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/caching/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/caching/library.xsd b/xsd/examples/cxx/tree/caching/library.xsd deleted file mode 100644 index a46c558..0000000 --- a/xsd/examples/cxx/tree/caching/library.xsd +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/caching/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/caching/makefile b/xsd/examples/cxx/tree/caching/makefile deleted file mode 100644 index cb9b191..0000000 --- a/xsd/examples/cxx/tree/caching/makefile +++ /dev/null @@ -1,101 +0,0 @@ -# file : examples/cxx/tree/caching/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/compression/README b/xsd/examples/cxx/tree/compression/README deleted file mode 100644 index f163970..0000000 --- a/xsd/examples/cxx/tree/compression/README +++ /dev/null @@ -1,48 +0,0 @@ -This example shows how to compress an XML document during serialization -and decompress it during parsing. The example uses the compression -functionality provided by the zlib library[1] which needs to be installed -in order to build and run this example. It should also be fairly straight- -forward to modify the code in this example to use other compression -libraries. - -[1] http://www.zlib.net - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml.gz - Sample XML instance document compressed using the gzip format. - -compressed-format-target.hxx -compressed-format-target.cxx - Implementation of the Xerces-C++ XMLFormatTarget interface with the on- - the-fly compression support. You can use it in your application to add - XML compression. - -compressed-input-source.hxx -compressed-input-source.cxx - Implementation of the Xerces-C++ InputSource interface with the on-the- - fly decompression support. You can use it in your application to add - XML decompression. - -library.hxx -library.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from library.xsd. - -driver.cxx - Driver for the example. It first creates the compressed_input_source - object and passes it to one of the parsing functions that constructs - the object model from the compressed input file. It then prints the - content of the object model to STDERR. Finally, the driver creates the - compressed_format_target object and passes it to one of the serialization - functions which converts the object model back to the compressed XML. - -To run the example on the sample XML document simply execute: - -$ ./driver library.xml.gz - -The serialization output is written to the out.xml.gz file. diff --git a/xsd/examples/cxx/tree/compression/compressed-format-target.cxx b/xsd/examples/cxx/tree/compression/compressed-format-target.cxx deleted file mode 100644 index 1f183e2..0000000 --- a/xsd/examples/cxx/tree/compression/compressed-format-target.cxx +++ /dev/null @@ -1,152 +0,0 @@ -// file : examples/cxx/tree/compression/compressed-format-target.cxx -// copyright : not copyrighted - public domain - -#include <ostream> -#include <cstring> // std::memcpy - -#include "compressed-format-target.hxx" - -using namespace std; - -// -// compression_failure -// - -const char* compression_failure:: -what () const throw () -{ - return "compression failure"; -} - -// -// compressed_format_target -// - -compressed_format_target:: -compressed_format_target (ostream& os, compression_type t) - : os_ (os), closed_ (false), n_ (0) - { - zs_.zalloc = Z_NULL; - zs_.zfree = Z_NULL; - zs_.opaque = Z_NULL; - - int window = 0; - - switch (t) - { - case raw: - { - window = -15; - break; - } - case zlib: - { - window = 15; - break; - } - case gzip: - { - window = 16 + 15; - break; - } - } - - int r (deflateInit2 (&zs_, - Z_DEFAULT_COMPRESSION, - Z_DEFLATED, - window, - 8, - Z_DEFAULT_STRATEGY)); - if (r != Z_OK) - throw compression_failure (r); - } - -compressed_format_target:: -~compressed_format_target () -{ - try - { - // Close the free the compression stream. - // - if (!closed_) - close (); - } - catch (...) - { - } - - deflateEnd (&zs_); -} - -void compressed_format_target:: -writeChars (const XMLByte* const buf, - const XMLSize_t size, - xercesc::XMLFormatter* const) -{ - // Flush the buffer if the block is too large or if we don't have - // any space left. - // - if ((size >= buf_size_ / 8 || n_ + size > buf_size_) && n_ != 0) - { - write (in_, n_); - n_ = 0; - } - - if (size < buf_size_ / 8) - { - memcpy (in_ + n_, reinterpret_cast<const char*> (buf), size); - n_ += size; - } - else - write (reinterpret_cast<const char*> (buf), size); -} - - -void compressed_format_target:: -flush () -{ - if (n_ != 0) - { - write (in_, n_); - n_ = 0; - } - - if (!os_.fail ()) - os_.flush (); -} - -void compressed_format_target:: -close () -{ - write (in_, n_, true); - n_ = 0; - - if (!os_.fail ()) - os_.flush (); - - closed_ = true; -} - -void compressed_format_target:: -write (const char* buf, size_t size, bool flush) -{ - zs_.next_in = reinterpret_cast<Bytef*> (const_cast<char*> (buf)); - zs_.avail_in = static_cast<uInt> (size); - - do - { - zs_.next_out = reinterpret_cast<Bytef*> (out_); - zs_.avail_out = buf_size_; - - int r (deflate (&zs_, flush ? Z_FINISH : Z_NO_FLUSH)); - - if (r != Z_OK && r != Z_BUF_ERROR && r != Z_STREAM_END) - throw compression_failure (r); - - size_t n (buf_size_ - zs_.avail_out); - - if (!os_.fail () && n > 0) - os_.write (out_, static_cast<streamsize> (n)); - - } while (zs_.avail_out == 0); -} diff --git a/xsd/examples/cxx/tree/compression/compressed-format-target.hxx b/xsd/examples/cxx/tree/compression/compressed-format-target.hxx deleted file mode 100644 index 835b676..0000000 --- a/xsd/examples/cxx/tree/compression/compressed-format-target.hxx +++ /dev/null @@ -1,91 +0,0 @@ -// file : examples/cxx/tree/compression/compressed-format-target.hxx -// copyright : not copyrighted - public domain - -#ifndef COMPRESSED_FORMAT_TARGET_HXX -#define COMPRESSED_FORMAT_TARGET_HXX - -#include <zlib.h> - -#include <iosfwd> -#include <cstddef> // std::size_t -#include <exception> - -#include <xercesc/framework/XMLFormatter.hpp> - -struct compression_failure: std::exception -{ - explicit - compression_failure (int code) - : code_ (code) - { - } - - int - code () const - { - return code_; - } - - const char* - message () const - { - return zError (code_); - } - - virtual const char* - what () const throw (); - -private: - int code_; -}; - -// Xerces-C++ XMLFormatTarget interface implementation with on-the-fly, -// zlib-based compression. -// -class compressed_format_target: public xercesc::XMLFormatTarget -{ -public: - enum compression_type - { - raw, - zlib, - gzip - }; - - compressed_format_target (std::ostream&, compression_type); - - virtual - ~compressed_format_target (); - - virtual void - writeChars (const XMLByte* const buf, - const XMLSize_t size, - xercesc::XMLFormatter* const); - - virtual void - flush (); - - // Close the compressed stream by writing out the zlib or gzip trailer. - // This function is automatically called from the destructor but you - // may want to call it explicitly to be able to catch any exceptions - // that it might throw. - // - void - close (); - -private: - void - write (const char* buf, std::size_t size, bool flush = false); - -private: - std::ostream& os_; - z_stream zs_; - bool closed_; - - static const std::size_t buf_size_ = 65536; - char in_[buf_size_]; - char out_[buf_size_]; - size_t n_; -}; - -#endif // COMPRESSED_FORMAT_TARGET_HXX diff --git a/xsd/examples/cxx/tree/compression/compressed-input-source.cxx b/xsd/examples/cxx/tree/compression/compressed-input-source.cxx deleted file mode 100644 index e25b169..0000000 --- a/xsd/examples/cxx/tree/compression/compressed-input-source.cxx +++ /dev/null @@ -1,195 +0,0 @@ -// file : examples/cxx/tree/compression/compressed-input-source.cxx -// copyright : not copyrighted - public domain - -#include <istream> - -#include <xsd/cxx/xml/string.hxx> - -#include "compressed-input-source.hxx" - -using namespace std; -using namespace xercesc; -namespace xml = xsd::cxx::xml; - -// -// decompression_failure -// - -const char* decompression_failure:: -what () const throw () -{ - return "decompression failure"; -} - -// -// compressed_input_source -// - -compressed_input_source:: -compressed_input_source (istream& is, compression_type t) - : is_ (&is), type_ (t) -{ -} - -compressed_input_source:: -compressed_input_source (istream& is, - compression_type t, - const string& sysid) - : InputSource (xml::string (sysid).c_str ()), is_ (&is), type_ (t) -{ -} - -compressed_input_source:: -compressed_input_source (istream& is, - compression_type t, - const string& sysid, - const string& pubid) - : xercesc::InputSource (xml::string (sysid).c_str (), - xml::string (pubid).c_str ()), - is_ (&is), - type_ (t) -{ -} - -BinInputStream* compressed_input_source:: -makeStream () const -{ - if (is_ == 0) - throw copy (); - - istream& is (*is_); - is_ = 0; - return new compressed_input_stream ( - is, static_cast<compressed_input_stream::compression_type> (type_)); -} - -// -// compressed_input_stream -// - -compressed_input_stream:: -compressed_input_stream (istream& is, compression_type t) - : is_ (is), end_ (false), pos_ (0) -{ - zs_.zalloc = Z_NULL; - zs_.zfree = Z_NULL; - zs_.opaque = Z_NULL; - zs_.next_in = Z_NULL; - zs_.avail_in = 0; - - int window = 0; - - switch (t) - { - case raw: - { - window = -15; - break; - } - case zlib: - { - window = 15; - break; - } - case gzip: - { - window = 16 + 15; - break; - } - } - - int r (inflateInit2 (&zs_, window)); - - if (r != Z_OK) - throw decompression_failure (r); -} - -compressed_input_stream:: -~compressed_input_stream () -{ - inflateEnd (&zs_); -} - -XMLFilePos compressed_input_stream:: -curPos () const -{ - return static_cast<XMLFilePos> (pos_); -} - -XMLSize_t compressed_input_stream:: -readBytes (XMLByte* const buf, const XMLSize_t size) -{ - if (end_) - return 0; - - // Keep calling inflate() until we fill up the buffer or reach the - // end of stream. If we run out of input data, call the underlying - // stream for more. - // - zs_.next_out = reinterpret_cast<Bytef*> (buf); - zs_.avail_out = static_cast<uInt> (size); - - int r; - - do - { - if (zs_.avail_in == 0) - { - zs_.avail_in = static_cast<uInt> (read ()); - zs_.next_in = reinterpret_cast<Bytef*> (const_cast<char*> (in_)); - - if (zs_.avail_in == 0) - throw decompression_failure (Z_DATA_ERROR); - } - - r = inflate (&zs_, Z_NO_FLUSH); - - if (r != Z_OK && r != Z_STREAM_END) - throw decompression_failure (r); - - } while (r != Z_STREAM_END && zs_.avail_out != 0); - - if (r == Z_STREAM_END) - end_ = true; - - size_t n (size - zs_.avail_out); - pos_ += n; - - return static_cast<XMLSize_t> (n); -} - -const XMLCh* compressed_input_stream:: -getContentType () const -{ - return 0; -} - -size_t compressed_input_stream:: -read () -{ - // Some implementations don't clear gcount if you call read() on a - // stream that is in the eof state. - // - if (is_.eof ()) - return 0; - - // Unset the exception failbit while we are working with the stream. - // - ios_base::iostate old (is_.exceptions ()); - is_.exceptions (old & ~ios_base::failbit); - - is_.read (in_, static_cast<streamsize> (buf_size_)); - - // Clear the fail bit if it was caused by eof and restore the original - // exception state. If there are any pending errors then the exception - // will be thrown now. - // - if (is_.fail () && is_.eof ()) - is_.clear (is_.rdstate () & ~ios_base::failbit); - - is_.exceptions (old); - - // Make sure that if we failed, we won't be called again. - // - return !is_.fail () ? static_cast<size_t> (is_.gcount ()) : 0; -} diff --git a/xsd/examples/cxx/tree/compression/compressed-input-source.hxx b/xsd/examples/cxx/tree/compression/compressed-input-source.hxx deleted file mode 100644 index 8065445..0000000 --- a/xsd/examples/cxx/tree/compression/compressed-input-source.hxx +++ /dev/null @@ -1,121 +0,0 @@ -// file : examples/cxx/tree/compression/compressed-input-source.hxx -// copyright : not copyrighted - public domain - -#ifndef COMPRESSED_INPUT_SOURCE_HXX -#define COMPRESSED_INPUT_SOURCE_HXX - -#include <zlib.h> - -#include <iosfwd> -#include <string> -#include <cstddef> // std::size_t -#include <exception> - -#include <xercesc/sax/InputSource.hpp> -#include <xercesc/util/BinInputStream.hpp> - -struct decompression_failure: std::exception -{ - explicit - decompression_failure (int code) - : code_ (code) - { - } - - int - code () const - { - return code_; - } - - const char* - message () const - { - return zError (code_); - } - - virtual const char* - what () const throw (); - -private: - int code_; -}; - -// Xerces-C++ InputSource interface implementation with on-the-fly, zlib- -// based decompression. -// -class compressed_input_source: public xercesc::InputSource -{ -public: - enum compression_type - { - raw, - zlib, - gzip - }; - - compressed_input_source (std::istream&, compression_type); - - compressed_input_source (std::istream&, - compression_type, - const std::string& system_id); - - compressed_input_source (std::istream&, - compression_type, - const std::string& system_id, - const std::string& public_id); - - struct copy {}; - - // Throws the copy exception if this function is called more than once. - // - virtual xercesc::BinInputStream* - makeStream () const; - -private: - mutable std::istream* is_; - compression_type type_; -}; - -// Xerces-C++ BinInputStream interface implementation with on-the-fly, zlib- -// based decompression. -// -class compressed_input_stream: public xercesc::BinInputStream -{ -public: - enum compression_type - { - raw, - zlib, - gzip - }; - - compressed_input_stream (std::istream&, compression_type); - - virtual - ~compressed_input_stream (); - - virtual XMLFilePos - curPos () const; - - virtual XMLSize_t - readBytes (XMLByte* const buf, const XMLSize_t size); - - virtual const XMLCh* - getContentType () const; - -private: - std::size_t - read (); - -private: - std::istream& is_; - z_stream zs_; - bool end_; - - static const std::size_t buf_size_ = 65536; - char in_[buf_size_]; - std::size_t pos_; // Current decompressed stream position. -}; - -#endif // COMPRESSED_INPUT_SOURCE_HXX diff --git a/xsd/examples/cxx/tree/compression/driver.cxx b/xsd/examples/cxx/tree/compression/driver.cxx deleted file mode 100644 index 34238b1..0000000 --- a/xsd/examples/cxx/tree/compression/driver.cxx +++ /dev/null @@ -1,124 +0,0 @@ -// file : examples/cxx/tree/compression/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <fstream> -#include <iostream> - -#include <xercesc/util/PlatformUtils.hpp> - -#include "library.hxx" - -#include "compressed-input-source.hxx" -#include "compressed-format-target.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml.gz" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we are - // using the Xerces-C++ input/output interfaces. - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - using namespace library; - - // Read in the XML file and obtain its object model. - // - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1], ifstream::in | ifstream::binary); - - compressed_input_source cis (ifs, compressed_input_source::gzip, argv[1]); - - std::auto_ptr<catalog> c ( - catalog_ (cis, xml_schema::flags::dont_initialize)); - - - // Let's print what we've got. - // - for (catalog::book_const_iterator bi (c->book ().begin ()); - bi != c->book ().end (); - ++bi) - { - cerr << endl - << "ID : " << bi->id () << endl - << "ISBN : " << bi->isbn () << endl - << "Title : " << bi->title () << endl - << "Genre : " << bi->genre () << endl; - - for (book::author_const_iterator ai (bi->author ().begin ()); - ai != bi->author ().end (); - ++ai) - { - cerr << "Author : " << ai->name () << endl; - cerr << " Born : " << ai->born () << endl; - - if (ai->died ()) - cerr << " Died : " << *ai->died () << endl; - - if (ai->recommends ()) - cerr << " Recommends : " << (*ai->recommends ())->title () << endl; - } - - cerr << "Available : " << std::boolalpha << bi->available () << endl; - } - - // Prepare namespace mapping and schema location information. - // - xml_schema::namespace_infomap map; - - map["lib"].name = "http://www.codesynthesis.com/library"; - map["lib"].schema = "library.xsd"; - - ofstream ofs; - ofs.exceptions (ofstream::badbit | ofstream::failbit | ofstream::eofbit); - ofs.open ("out.xml.gz", ofstream::out | ofstream::binary); - - compressed_format_target cft (ofs, compressed_format_target::gzip); - - // Write it out. - // - catalog_ (cft, *c, map, "UTF-8", xml_schema::flags::dont_initialize); - - // Write out the compression stream trailer. If we don't do this - // explicitly, it will be done automatically in the cft's destructor - // but then any exceptions that might be throws will be ignored. - // - cft.close(); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const compression_failure& e) - { - cerr << "compression failure: " << e.message () << endl; - r = 1; - } - catch (const decompression_failure& e) - { - cerr << "decompression failure: " << e.message () << endl; - r = 1; - } - catch (const ios_base::failure&) - { - cerr << "file open or read/write failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/compression/library.xml.gz b/xsd/examples/cxx/tree/compression/library.xml.gz Binary files differdeleted file mode 100644 index dd71159..0000000 --- a/xsd/examples/cxx/tree/compression/library.xml.gz +++ /dev/null diff --git a/xsd/examples/cxx/tree/compression/library.xsd b/xsd/examples/cxx/tree/compression/library.xsd deleted file mode 100644 index 728acc7..0000000 --- a/xsd/examples/cxx/tree/compression/library.xsd +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/compression/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/compression/makefile b/xsd/examples/cxx/tree/compression/makefile deleted file mode 100644 index 43913f7..0000000 --- a/xsd/examples/cxx/tree/compression/makefile +++ /dev/null @@ -1,128 +0,0 @@ -# file : examples/cxx/tree/compression/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx compressed-input-source.cxx compressed-format-target.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(call import,\ - $(scf_root)/import/libz/stub.make,\ - l: z.l,cpp-options: z.l.cpp-options) -endif - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(z.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(z.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream --generate-serialization -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/compressed-format-target.hxx,$(install_doc_dir)/xsd/$(path)/compressed-format-target.hxx) - $(call install-data,$(src_base)/compressed-format-target.cxx,$(install_doc_dir)/xsd/$(path)/compressed-format-target.cxx) - $(call install-data,$(src_base)/compressed-input-source.hxx,$(install_doc_dir)/xsd/$(path)/compressed-input-source.hxx) - $(call install-data,$(src_base)/compressed-input-source.cxx,$(install_doc_dir)/xsd/$(path)/compressed-input-source.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml.gz,$(install_doc_dir)/xsd/$(path)/library.xml.gz) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/compressed-format-target.hxx,$(dist_prefix)/$(path)/compressed-format-target.hxx) - $(call install-data,$(src_base)/compressed-format-target.cxx,$(dist_prefix)/$(path)/compressed-format-target.cxx) - $(call install-data,$(src_base)/compressed-input-source.hxx,$(dist_prefix)/$(path)/compressed-input-source.hxx) - $(call install-data,$(src_base)/compressed-input-source.cxx,$(dist_prefix)/$(path)/compressed-input-source.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml.gz,$(dist_prefix)/$(path)/library.xml.gz) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,compression-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,compression-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,compression-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,compression-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,compression-vc12.sln) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm $$1,rm -f $$1,$(out_base)/out.xml.gz) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver out.xml.gz $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/README b/xsd/examples/cxx/tree/custom/README deleted file mode 100644 index b2a65b5..0000000 --- a/xsd/examples/cxx/tree/custom/README +++ /dev/null @@ -1,40 +0,0 @@ -This directory contains a number of examples that show how to customize the -C++/Tree mapping. The following list gives an overview of each example: - -calendar - Shows how to customize XML Schema built-in types by mapping xsd:date - built-in type to the date class from the Boost date_time library. - -comments - This example shows how to customize the anyType XML Schema built-in - type to implement preservation of comments stored in XML documents. - Because anyType is a base type for every generated type, you can use - this technique to implement custom functionality that spans the - entire type system. - -contacts - Shows how to map a user-defined XML Schema type to a custom C++ class. - This example presents the simple case where the customized type is not - used as a base in the same schema. - -double - Shows how to customize parsing and serialization code for the xsd:double - XML Schema built-in type. It can be used as a guide on how to customize - built-in XML Schema types that are mapped to fundamental C++ types. - -mixed - Shows how to use type customization to parse and serialize mixed content. - -taxonomy - Shows how to map user-defined XML Schema types to custom C++ classes. - This example presents the complex case where the customized types are - inherited from in the same schema. - -wildcard - Shows how to use type customization to parse and serialize a specific - attribute that is matched by a wildcard (anyAttribute). - -For more information on the C++/Tree mapping customization see the -C++/Tree Mapping Customization Guide[1]. - -[1] http://wiki.codesynthesis.com/Tree/Customization_guide diff --git a/xsd/examples/cxx/tree/custom/calendar/README b/xsd/examples/cxx/tree/custom/calendar/README deleted file mode 100644 index f7f6989..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/README +++ /dev/null @@ -1,47 +0,0 @@ -This example shows how to customize the XML Schema built-in types by mapping -xsd:date built-in type to the date class from the Boost date_time library. -You will need the Boost date_time library[1] installed in order to build -and run this example. For more information on the C++/Tree mapping -customization see the C++/Tree Mapping Customization Guide[2]. - -[1] http://www.boost.org -[2] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -calendar.xsd - XML Schema definition for a simple calendar format. - -calendar.xml - Sample XML instance document. - -xml-schema.hxx - C++ types for XML Schema built-in types. This header file is generated - by XSD using the --generate-xml-schema option. The --custom-type option - is also used to customize the xsd:date type. - -calendar.hxx -calendar.ixx -calendar.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from calendar.xsd with the - --extern-xml-schema option in order to include xml-schema.hxx. - -xml-schema-custom.hxx - Header file which defines our own xml_schema::date class. It is - included at the end of xml-schema.hxx using the --hxx-epilogue - option. - -xml-schema-custom.cxx - Source file which contains the implementation of our xml_schema:date - class. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the calendar events to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver calendar.xml diff --git a/xsd/examples/cxx/tree/custom/calendar/calendar.xml b/xsd/examples/cxx/tree/custom/calendar/calendar.xml deleted file mode 100644 index 5cc898a..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/calendar.xml +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/calendar/calendar.xml -copyright : not copyrighted - public domain - ---> - -<cal:events xmlns:cal="http://www.codesynthesis.com/calendar" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/calendar calendar.xsd"> - - <event title="Bike ride" date="2006-09-04"> - Don't forget to change the tire. - </event> - - <event title="Mountain hike" date="2006-09-05"> - Can be cancelled if it is too cold. - </event> - -</cal:events> diff --git a/xsd/examples/cxx/tree/custom/calendar/calendar.xsd b/xsd/examples/cxx/tree/custom/calendar/calendar.xsd deleted file mode 100644 index 04b3af1..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/calendar.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/calendar/calendar.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:cal="http://www.codesynthesis.com/calendar" - targetNamespace="http://www.codesynthesis.com/calendar"> - - <xsd:complexType name="event"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="title" type="xsd:string" use="required"/> - <xsd:attribute name="date" type="xsd:date" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="events"> - <xsd:sequence> - <xsd:element name="event" type="cal:event" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="events" type="cal:events"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/calendar/driver.cxx b/xsd/examples/cxx/tree/custom/calendar/driver.cxx deleted file mode 100644 index a5b223e..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/driver.cxx +++ /dev/null @@ -1,39 +0,0 @@ -// file : examples/cxx/tree/custom/calendar/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "calendar.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " calendar.xml" << endl; - return 1; - } - - try - { - using namespace calendar; - - std::auto_ptr<events> e (events_ (argv[1])); - - for (events::event_const_iterator i (e->event ().begin ()); - i != e->event ().end (); ++i) - { - cerr << i->date () << " " << i->title () << endl - << *i << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/custom/calendar/makefile b/xsd/examples/cxx/tree/custom/calendar/makefile deleted file mode 100644 index 6998ffd..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/makefile +++ /dev/null @@ -1,137 +0,0 @@ -# file : examples/cxx/tree/custom/calendar/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := calendar.xsd -cxx := driver.cxx xml-schema-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(call import,\ - $(scf_root)/import/libboost/date-time/stub.make,\ - l: boost_date_time.l,cpp-options: boost_date_time.l.cpp-options) -endif - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(boost_date_time.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(boost_date_time.l.cpp-options) - -# Header file for XML Schema namespace. -# -$(out_base)/xml-schema.hxx: $(out_root)/xsd/xsd - $(call message,xsd $(src_base)/xml-schema.xsd,\ -$(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ ---custom-type date \ ---hxx-epilogue '#include "xml-schema-custom.hxx"' xml-schema.xsd) - -# -# -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += \ ---generate-inline \ ---extern-xml-schema xml-schema.xsd - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/calendar.xsd,$(install_doc_dir)/xsd/$(path)/calendar.xsd) - $(call install-data,$(src_base)/calendar.xml,$(install_doc_dir)/xsd/$(path)/calendar.xml) - $(call install-data,$(src_base)/xml-schema-custom.hxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.hxx) - $(call install-data,$(src_base)/xml-schema-custom.cxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/calendar.xsd,$(dist_prefix)/$(path)/calendar.xsd) - $(call install-data,$(src_base)/calendar.xml,$(dist_prefix)/$(path)/calendar.xml) - $(call install-data,$(src_base)/xml-schema-custom.hxx,$(dist_prefix)/$(path)/xml-schema-custom.hxx) - $(call install-data,$(src_base)/xml-schema-custom.cxx,$(dist_prefix)/$(path)/xml-schema-custom.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,calendar-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,calendar-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,calendar-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,calendar-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,calendar-vc12.sln) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.cxx b/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.cxx deleted file mode 100644 index 645880b..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.cxx +++ /dev/null @@ -1,56 +0,0 @@ -// file : examples/cxx/tree/custom/calendar/xml-schema-custom.cxx -// copyright : not copyrighted - public domain - -// Include xml-schema.hxx instead of xml-schema-custom.hxx here. -// -#include "xml-schema.hxx" - -#include <xsd/cxx/xml/string.hxx> // xsd::cxx::xml::transcode -#include <xsd/cxx/tree/text.hxx> // xsd::cxx::tree::text_content - -using namespace boost; -using namespace boost::gregorian; - -namespace xml_schema -{ - date:: - date (const xercesc::DOMElement& e, flags f, container* c) - : simple_type (e, f, c), - gregorian::date ( - from_simple_string ( - xsd::cxx::tree::text_content<char> (e))) - { - } - - date:: - date (const xercesc::DOMAttr& a, flags f, container* c) - : simple_type (a, f, c), - gregorian::date ( - from_simple_string ( - xsd::cxx::xml::transcode<char> (a.getValue ()))) - { - } - - date:: - date (const std::string& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : simple_type (s, e, f, c), - gregorian::date (from_simple_string (s)) - { - } - - date:: - date (const date& d, flags f, container* c) - : simple_type (d, f, c), - gregorian::date (d) - { - } - - date* date:: - _clone (flags f, container* c) const - { - return new date (*this, f, c); - } -} diff --git a/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.hxx b/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.hxx deleted file mode 100644 index 58f57e6..0000000 --- a/xsd/examples/cxx/tree/custom/calendar/xml-schema-custom.hxx +++ /dev/null @@ -1,33 +0,0 @@ -// file : examples/cxx/tree/custom/calendar/xml-schema-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use xml-schema.hxx instead. This -// file is included into generated xml-schema.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <boost/date_time/gregorian/gregorian.hpp> // boost::gregorian::date - -namespace xml_schema -{ - class date: public simple_type, - public boost::gregorian::date - { - public: - // Parsing c-tors: element, attribute, and list item. - // - date (const xercesc::DOMElement&, flags = 0, container* = 0); - date (const xercesc::DOMAttr&, flags = 0, container* = 0); - date (const std::string&, - const xercesc::DOMElement*, - flags = 0, - container* = 0); - - // Copy c-tor and _clone. - // - date (const date&, flags = 0, container* = 0); - - virtual date* - _clone (flags = 0, container* = 0) const; - }; -} diff --git a/xsd/examples/cxx/tree/custom/comments/README b/xsd/examples/cxx/tree/custom/comments/README deleted file mode 100644 index 8fd69d0..0000000 --- a/xsd/examples/cxx/tree/custom/comments/README +++ /dev/null @@ -1,57 +0,0 @@ -This example shows how to customize the anyType XML Schema built-in -type to implement preservation of comments stored in XML documents. -Because anyType is a base type for every generated type, you can use -this technique to implement custom functionality that spans the -entire type system. For more information on the C++/Tree mapping -customization see the C++/Tree Mapping Customization Guide[2]. - -[2] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -people.xsd - XML Schema definition for a simple person record vocabulary. - -people.xml - Sample XML instance document. - -xml-schema.hxx - C++ types for XML Schema built-in types. This header file is generated - by XSD using the --generate-xml-schema option. The --custom-type option - is also used to customize the xsd:anyType type. - -people.hxx -people.ixx -people.cxx - C++ types that represent the person record vocabulary, a set of - parsing functions that convert XML instance documents to a tree-like - in-memory object model, and a set of serialization functions that - convert the object model back to XML. These are generated by XSD - from people.xsd with the --extern-xml-schema option in order to - include xml-schema.hxx. - -xml-schema-custom.hxx - Header file which defines our own xml_schema::type class. It is - included at the end of xml-schema.hxx using the --hxx-epilogue - option. - -xml-schema-custom.cxx - Source file which contains the implementation of our xml_schema:type - class. - -dom-parse.hxx -dom-parse.cxx - Definition and implementation of the parse() function that - parses an XML document to a DOM document while preserving - XML comments. - -driver.cxx - Driver for the example. It first calls the above parse() function - to parse the input file to a DOM document. It then parses the DOM - document to the object model and performs a number of modifications - on this object model. Finally, it serializes the modified object - model back to XML, including XML comments. - -To run the example on the sample XML instance document simply execute: - -$ ./driver people.xml diff --git a/xsd/examples/cxx/tree/custom/comments/dom-parse.cxx b/xsd/examples/cxx/tree/custom/comments/dom-parse.cxx deleted file mode 100644 index 9999f67..0000000 --- a/xsd/examples/cxx/tree/custom/comments/dom-parse.cxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : examples/cxx/tree/custom/comments/dom-parse.cxx -// copyright : not copyrighted - public domain - -#include "dom-parse.hxx" - -#include <istream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -xml::dom::auto_ptr<DOMDocument> -parse (std::istream& is, const std::string& id, bool validate) -{ - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Preserve comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, true); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable/Disable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, validate); - conf->setParameter (XMLUni::fgXercesSchema, validate); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Prepare input stream. - // - xml::sax::std_input_source isrc (is, id); - Wrapper4InputSource wrap (&isrc, false); - - xml::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<tree::parsing<char> > (); - - return doc; -} diff --git a/xsd/examples/cxx/tree/custom/comments/dom-parse.hxx b/xsd/examples/cxx/tree/custom/comments/dom-parse.hxx deleted file mode 100644 index fea46d0..0000000 --- a/xsd/examples/cxx/tree/custom/comments/dom-parse.hxx +++ /dev/null @@ -1,22 +0,0 @@ -// file : examples/cxx/tree/custom/comments/dom-parse.hxx -// copyright : not copyrighted - public domain - -#ifndef DOM_PARSE -#define DOM_PARSE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -// Parse an XML document from the standard input stream with an -// optional resource id. Resource id is used in diagnostics as -// well as to locate schemas referenced from inside the document. -// -xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate); - -#endif // DOM_PARSE diff --git a/xsd/examples/cxx/tree/custom/comments/driver.cxx b/xsd/examples/cxx/tree/custom/comments/driver.cxx deleted file mode 100644 index 39b16f7..0000000 --- a/xsd/examples/cxx/tree/custom/comments/driver.cxx +++ /dev/null @@ -1,90 +0,0 @@ -// file : examples/cxx/tree/custom/commens/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "people.hxx" -#include "dom-parse.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " people.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we - // are doing the XML-to-DOM parsing ourselves (see below). - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - using namespace people; - namespace xml = xsd::cxx::xml; - - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - // For performance reasons the internal XML to DOM parsing code - // discards comments in the resulting DOM document. To overcome - // this we are going to use our own parse() function from - // dom-parse.hxx that preserves comments in the resulting DOM - // documents. - // - xml_schema::dom::auto_ptr<xercesc::DOMDocument> doc ( - parse (ifs, argv[1], true)); - - // Parse the DOM document to the object model. - // - std::auto_ptr<catalog> c (catalog_ (*doc)); - - // Change the object model. - // - catalog::person_sequence& ps (c->person ()); - - for (catalog::person_iterator i (ps.begin ()); i != ps.end (); ++i) - { - i->age (i->age () + 1); - } - - person john ("John Doe", 30); - john.comment ("Record for John Doe"); - - ps.push_back (john); - - // Serialize. - // - xml_schema::namespace_infomap map; - - map["ppl"].name = "http://www.codesynthesis.com/people"; - map["ppl"].schema = "people.xsd"; - - catalog_ (std::cout, *c, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/custom/comments/makefile b/xsd/examples/cxx/tree/custom/comments/makefile deleted file mode 100644 index eebb75e..0000000 --- a/xsd/examples/cxx/tree/custom/comments/makefile +++ /dev/null @@ -1,123 +0,0 @@ -# file : examples/cxx/tree/custom/comments/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := people.xsd -cxx := driver.cxx xml-schema-custom.cxx dom-parse.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Header file for XML Schema namespace. -# -$(out_base)/xml-schema.hxx: $(out_root)/xsd/xsd - $(call message,xsd $(src_base)/xml-schema.xsd,\ -$(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ ---generate-serialization --custom-type anyType=/type_base \ ---hxx-epilogue '#include "xml-schema-custom.hxx"' xml-schema.xsd) - -# -# -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += \ ---generate-inline \ ---generate-serialization \ ---extern-xml-schema xml-schema.xsd - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml) - $(call install-data,$(src_base)/xml-schema-custom.hxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.hxx) - $(call install-data,$(src_base)/xml-schema-custom.cxx,$(install_doc_dir)/xsd/$(path)/xml-schema-custom.cxx) - $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) - $(call install-data,$(src_base)/xml-schema-custom.hxx,$(dist_prefix)/$(path)/xml-schema-custom.hxx) - $(call install-data,$(src_base)/xml-schema-custom.cxx,$(dist_prefix)/$(path)/xml-schema-custom.cxx) - $(call install-data,$(src_base)/dom-parse.hxx,$(dist_prefix)/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(dist_prefix)/$(path)/dom-parse.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/comments/people.xml b/xsd/examples/cxx/tree/custom/comments/people.xml deleted file mode 100644 index 55c08a1..0000000 --- a/xsd/examples/cxx/tree/custom/comments/people.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/comments/people.xml -copyright : not copyrighted - public domain - ---> - -<ppl:catalog xmlns:ppl="http://www.codesynthesis.com/people" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/people people.xsd"> - - <person> - <!--Record for Joe Dirt--> - <name>Joe Dirt</name> - <age>28</age> - </person> - -</ppl:catalog> diff --git a/xsd/examples/cxx/tree/custom/comments/people.xsd b/xsd/examples/cxx/tree/custom/comments/people.xsd deleted file mode 100644 index e70dd2a..0000000 --- a/xsd/examples/cxx/tree/custom/comments/people.xsd +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/comments/people.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:ppl="http://www.codesynthesis.com/people" - targetNamespace="http://www.codesynthesis.com/people"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="age" type="xsd:unsignedShort"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="person" type="ppl:person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="ppl:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.cxx b/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.cxx deleted file mode 100644 index 67937d1..0000000 --- a/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : examples/cxx/tree/custom/comments/xml-schema-custom.cxx -// copyright : not copyrighted - public domain - -// Include xml-schema.hxx instead of xml-schema-custom.hxx here. -// -#include "xml-schema.hxx" - -#include <xercesc/dom/DOMComment.hpp> -#include <xercesc/dom/DOMDocument.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode, xml::string - -namespace xml = xsd::cxx::xml; - -namespace xml_schema -{ - type:: - type () - : type_base () - { - } - - type:: - type (const xercesc::DOMElement& e, flags f, container* c) - : type_base (e, f, c) - { - using namespace xercesc; - - // Here we are only handling a comment that is the first - // node in the element's content. - // - const DOMNode* n (e.getFirstChild ()); - - if (n != 0 && n->getNodeType () == DOMNode::COMMENT_NODE) - { - const DOMComment* c (static_cast<const DOMComment*> (n)); - comment_ = xml::transcode<char> (c->getData ()); - } - } - - type:: - type (const xercesc::DOMAttr& a, flags f, container* c) - : type_base (a, f, c) - { - // No comments for attributes. - // - } - - type:: - type (const std::string& s, const xercesc::DOMElement* e, - flags f, container* c) - : type_base (s, e, f, c) - { - // No comments for list items. - // - } - - type:: - type (const type& x, flags f, container* c) - : type_base (x, f, c), comment_ (x.comment_) - { - } - - type* type:: - _clone (flags f, container* c) const - { - return new type (*this, f, c); - } - - // Serialization operators. - // - void - operator<< (xercesc::DOMElement& e, const type& x) - { - // Call our base first. - // - const type_base& b (x); - e << b; - - // Add the comment if any. - // - const std::string s (x.comment ()); - - if (!s.empty ()) - { - using namespace xercesc; - - DOMDocument* doc (e.getOwnerDocument ()); - DOMComment* c (doc->createComment (xml::string (s).c_str ())); - e.appendChild (c); - } - } - - void - operator<< (xercesc::DOMAttr& a, const type& x) - { - // Call our base first. - // - const type_base& b (x); - a << b; - - // No comments for attributes. - // - } - - void - operator<< (xml_schema::list_stream& ls, const type& x) - { - // Call our base first. - // - const type_base& b (x); - ls << b; - - // No comments for list items. - // - } -} diff --git a/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.hxx b/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.hxx deleted file mode 100644 index 0442a44..0000000 --- a/xsd/examples/cxx/tree/custom/comments/xml-schema-custom.hxx +++ /dev/null @@ -1,57 +0,0 @@ -// file : examples/cxx/tree/custom/comments/xml-schema-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use xml-schema.hxx instead. This -// file is included into generated xml-schema.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <string> - -namespace xml_schema -{ - // When customizing anyType always inherit from the original type. - // - class type: public type_base - { - public: - type (); - type (const xercesc::DOMElement&, flags = 0, container* = 0); - type (const xercesc::DOMAttr&, flags = 0, container* = 0); - type (const std::string&, const xercesc::DOMElement*, - flags = 0, container* = 0); - type (const type&, flags = 0, container* = 0); - - virtual type* - _clone (flags = 0, container* = 0) const; - - public: - // Comment manipulation API. - // - const std::string& - comment () const - { - return comment_; - } - - void - comment (const std::string& c) - { - comment_ = c; - } - - private: - std::string comment_; - }; - - // New serialization operators. - // - void - operator<< (xercesc::DOMElement&, const type&); - - void - operator<< (xercesc::DOMAttr&, const type&); - - void - operator<< (xml_schema::list_stream&, const type&); -} diff --git a/xsd/examples/cxx/tree/custom/contacts/README b/xsd/examples/cxx/tree/custom/contacts/README deleted file mode 100644 index 072ede3..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/README +++ /dev/null @@ -1,40 +0,0 @@ -This example shows how to map a user-defined XML Schema type to a custom -C++ class. It presents the simple case where the customized type is not -used as a base in the same schema. For the complex case see the taxonomy -example. For more information on the C++/Tree mapping customization see -the C++/Tree Mapping Customization Guide[1]. - -[1] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -contacts.xsd - XML Schema definition for a simple contacts database. - -contacts.xml - Sample XML instance document. - -contacts.hxx -contacts.ixx -contacts.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from contacts.xsd with the - --custom-type option in order to customize the contact type. - -contacts-custom.hxx - Header file which defines our own contact class by inheriting from the - generated contact_base. It is included at the end of contacts.hxx using - the --hxx-epilogue option. - -contacts-custom.cxx - Source file which contains the implementation of our contact class. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the contacts to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver contacts.xml diff --git a/xsd/examples/cxx/tree/custom/contacts/contacts-custom.cxx b/xsd/examples/cxx/tree/custom/contacts/contacts-custom.cxx deleted file mode 100644 index 8bb0e22..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/contacts-custom.cxx +++ /dev/null @@ -1,50 +0,0 @@ -// file : examples/cxx/tree/custom/contacts/contacts-custom.cxx -// copyright : not copyrighted - public domain - -#include <ostream> - -// Include contacts.hxx instead of contacts-custom.hxx here. -// -#include "contacts.hxx" - -namespace contacts -{ - // We implement the following constructs by simply forwarding - // to our base. - // - contact:: - contact (const name_type& n, - const email_type& e, - const phone_type& p) - : contact_base (n, e, p) - { - } - - contact:: - contact (const xercesc::DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : contact_base (e, f, c) - { - } - - contact:: - contact (const contact& x, - xml_schema::flags f, - xml_schema::container* c) - : contact_base (x, f, c) - { - } - - contact* contact:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new contact (*this, f, c); - } - - void contact:: - print (std::ostream& os) const - { - os << name () << " e| " << email () << " t| " << phone () << std::endl; - } -} diff --git a/xsd/examples/cxx/tree/custom/contacts/contacts-custom.hxx b/xsd/examples/cxx/tree/custom/contacts/contacts-custom.hxx deleted file mode 100644 index 65d6244..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/contacts-custom.hxx +++ /dev/null @@ -1,43 +0,0 @@ -// file : examples/cxx/tree/custom/contacts/contacts-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use contacts.hxx instead. This -// file is included into generated contacts.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <iosfwd> // std::ostream - -namespace contacts -{ - class contact: public contact_base - { - // The following constructor signatures are copied from - // contact_base except for the copy constructor and the - // _clone function where we had to change the type from - // contact_base to contact. - // - public: - contact (const name_type&, - const email_type&, - const phone_type&); - - contact (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - contact (const contact&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual contact* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - // Our customizations. - // - public: - void - print (std::ostream&) const; - }; -} diff --git a/xsd/examples/cxx/tree/custom/contacts/contacts.xml b/xsd/examples/cxx/tree/custom/contacts/contacts.xml deleted file mode 100644 index 331e692..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/contacts.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/contacts/contacts.xml -copyright : not copyrighted - public domain - ---> - -<cts:catalog xmlns:cts="http://www.codesynthesis.com/contacts" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/contacts contacts.xsd"> - - <contact> - <name>Joe Dirt</name> - <email>joe@dirt.com</email> - <phone>555 DIRT</phone> - </contact> - -</cts:catalog> diff --git a/xsd/examples/cxx/tree/custom/contacts/contacts.xsd b/xsd/examples/cxx/tree/custom/contacts/contacts.xsd deleted file mode 100644 index d6110fe..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/contacts.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/contacts/contacts.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:cts="http://www.codesynthesis.com/contacts" - targetNamespace="http://www.codesynthesis.com/contacts"> - - <xsd:complexType name="contact"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="email" type="xsd:string"/> - <xsd:element name="phone" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="contact" type="cts:contact" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="catalog" type="cts:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/contacts/driver.cxx b/xsd/examples/cxx/tree/custom/contacts/driver.cxx deleted file mode 100644 index ae8a2da..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/driver.cxx +++ /dev/null @@ -1,38 +0,0 @@ -// file : examples/cxx/tree/custom/contacts/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "contacts.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " contacts.xml" << endl; - return 1; - } - - try - { - using namespace contacts; - - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - for (catalog::contact_const_iterator i (c->contact ().begin ()); - i != c->contact ().end (); ++i) - { - i->print (cerr); - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/custom/contacts/makefile b/xsd/examples/cxx/tree/custom/contacts/makefile deleted file mode 100644 index ec9d902..0000000 --- a/xsd/examples/cxx/tree/custom/contacts/makefile +++ /dev/null @@ -1,113 +0,0 @@ -# file : examples/cxx/tree/custom/contacts/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := contacts.xsd -cxx := driver.cxx contacts-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -# We have to double-escape '#' because the message function -# (which is used in command scripts) expands things twice. -# -$(gen): xsd_options += \ ---generate-inline \ ---custom-type contact=/contact_base \ ---hxx-epilogue '\#include "contacts-custom.hxx"' - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/contacts.xsd,$(install_doc_dir)/xsd/$(path)/contacts.xsd) - $(call install-data,$(src_base)/contacts.xml,$(install_doc_dir)/xsd/$(path)/contacts.xml) - $(call install-data,$(src_base)/contacts-custom.hxx,$(install_doc_dir)/xsd/$(path)/contacts-custom.hxx) - $(call install-data,$(src_base)/contacts-custom.cxx,$(install_doc_dir)/xsd/$(path)/contacts-custom.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/contacts.xsd,$(dist_prefix)/$(path)/contacts.xsd) - $(call install-data,$(src_base)/contacts.xml,$(dist_prefix)/$(path)/contacts.xml) - $(call install-data,$(src_base)/contacts-custom.hxx,$(dist_prefix)/$(path)/contacts-custom.hxx) - $(call install-data,$(src_base)/contacts-custom.cxx,$(dist_prefix)/$(path)/contacts-custom.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/double/README b/xsd/examples/cxx/tree/custom/double/README deleted file mode 100644 index 15348d2..0000000 --- a/xsd/examples/cxx/tree/custom/double/README +++ /dev/null @@ -1,62 +0,0 @@ -This example shows how to customize parsing and serialization code for the -xsd:double XML Schema built-in type using the type customization mechanism -provided by the C++/Tree Mapping. For more information on type customization -see the C++/Tree Mapping Customization Guide, particularly sections 1 and 4: - -http://wiki.codesynthesis.com/Tree/Customization_guide - -In this example our schema uses xsd:double to represent a price. There are -two potential problems with this choice of a price type. First, xsd:double -can be serialized in the scientific notation which would be an unusual way -of representing a price. Second, we would like to limit the number of -fraction digits in our prices to 2. Furthermore, we would like to always -have two fraction digits, even if one or both of them are zeros, for -example: 12.99, 12.90, 12.00. - -In case we can modify the schema, a better approach would be to define the -price type as a restriction of the xsd:decimal type (always fixed notation) -and specify the fractionDigits facet to limit the number of fraction digits -to 2. However, there is no way in XML Schema to specify that there should -always be exactly 2 fraction digits. Therefore, it may still be desirable -to customize this price type to get the required serialization behavior. - -Finally, it is worth noting that the behavior achieved in this example via -type customization can also be achieved by compiling your code with the -following macros defined: - -XSD_TREE_DOUBLE_FIXED -XSD_TREE_DOUBLE_PRECISION 2 - -However, the type customization approach while requiring more work is -cleaner since it does not rely on global macro definitions. - -This example consists of the following files: - -order.xsd - XML Schema definition for a simple order vocabulary. - -double-custom.hxx -double-custom.cxx - Custom parsing and serialization code for the xsd:double types. The - double-custom.hxx file is included at the end of the xml-schema.hxx - file described below. - -xml-schema.hxx - C++ types for XML Schema built-in types. This header file is generated - by the XSD compiler using the --generate-xml-schema option. The - --custom-type option is used to customize the xsd:double type. The - --hxx-epilogue option is used to include the double-custom.hxx file - at the end of this file. - -order.hxx -order.cxx - C++ types generated from order.xsd. The --extern-xml-schema option - is used to include xml-schema.hxx into order.hxx. - -driver.cxx - Test driver for the example. It creates a sample order and then - writes it to XML to test the custom xsd:double serialization code. - -To run the example simply execute: - -$ ./driver diff --git a/xsd/examples/cxx/tree/custom/double/double-custom.cxx b/xsd/examples/cxx/tree/custom/double/double-custom.cxx deleted file mode 100644 index 6aad908..0000000 --- a/xsd/examples/cxx/tree/custom/double/double-custom.cxx +++ /dev/null @@ -1,96 +0,0 @@ -// file : examples/cxx/tree/custom/double/double-custom.cxx -// copyright : not copyrighted - public domain - -// Include xml-schema.hxx instead of double-custom.hxx here. -// -#include "xml-schema.hxx" - -#include <limits> -#include <locale> -#include <sstream> - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -using namespace std; - -// Parsing. -// -namespace xsd -{ - namespace cxx - { - namespace tree - { - double traits<double, char, schema_type::double_>:: - create (const std::string& s, - const xercesc::DOMElement*, - flags, - type*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<char> tmp (s); - trim (tmp); - - zc_istream<char> is (tmp); - is.imbue (locale::classic ()); - - double t; - is >> t; - - return t; - } - } - } -} - -// Serialization. -// -namespace XERCES_CPP_NAMESPACE -{ - void - operator<< (xercesc::DOMElement& e, const xml_schema::as_double& d) - { - ostringstream os; - os.imbue (locale::classic ()); - - os.precision (2); - os << fixed << d.x; - - e << os.str (); - } - - void - operator<< (xercesc::DOMAttr& a, const xml_schema::as_double& d) - { - ostringstream os; - os.imbue (locale::classic ()); - - os.precision (2); - os << fixed << d.x; - - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - void - operator<< (xml_schema::list_stream& ls, - const xml_schema::as_double& d) - { - ls.os_.imbue (locale::classic ()); - ls.os_.precision (2); - ls.os_ << fixed << d.x; - } - } - } -} diff --git a/xsd/examples/cxx/tree/custom/double/double-custom.hxx b/xsd/examples/cxx/tree/custom/double/double-custom.hxx deleted file mode 100644 index 1516211..0000000 --- a/xsd/examples/cxx/tree/custom/double/double-custom.hxx +++ /dev/null @@ -1,67 +0,0 @@ -// file : examples/cxx/tree/custom/double/double-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use xml-schema.hxx instead. This -// file is included into generated xml-schema.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <xsd/cxx/xml/string.hxx> // xml::transcode -#include <xsd/cxx/tree/text.hxx> // text_content - -// Parsing. -// -namespace xsd -{ - namespace cxx - { - namespace tree - { - template<> - struct traits<double, char, schema_type::double_> - { - static double - create (const xercesc::DOMElement& e, flags f, type* c) - { - return create (text_content<char> (e), 0, f, c); - } - - static double - create (const xercesc::DOMAttr& a, flags f, type* c) - { - return create (xml::transcode<char> (a.getValue ()), 0, f, c); - } - - static double - create (const std::string& s, - const xercesc::DOMElement*, - flags, - type*); - }; - } - } -} - -// Serialization. -// -namespace XERCES_CPP_NAMESPACE -{ - void - operator<< (xercesc::DOMElement& e, const xml_schema::as_double& d); - - void - operator<< (xercesc::DOMAttr& a, const xml_schema::as_double& d); -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - void - operator<< (xml_schema::list_stream& ls, - const xml_schema::as_double& d); - } - } -} diff --git a/xsd/examples/cxx/tree/custom/double/driver.cxx b/xsd/examples/cxx/tree/custom/double/driver.cxx deleted file mode 100644 index 8b102a5..0000000 --- a/xsd/examples/cxx/tree/custom/double/driver.cxx +++ /dev/null @@ -1,31 +0,0 @@ -// file : examples/cxx/tree/custom/double/driver.cxx -// copyright : not copyrighted - public domain - -#include <iostream> - -#include "order.hxx" - -using std::cerr; -using std::endl; - -int -main () -{ - try - { - // Order one Airbus A380. - // - order o; - o.item ().push_back (item ("Airbus A380", 317000000.90)); - - - // Serialize. - // - order_ (std::cout, o); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/custom/double/makefile b/xsd/examples/cxx/tree/custom/double/makefile deleted file mode 100644 index 2eed216..0000000 --- a/xsd/examples/cxx/tree/custom/double/makefile +++ /dev/null @@ -1,112 +0,0 @@ -# file : examples/cxx/tree/custom/double/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := order.xsd -cxx := driver.cxx double-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -$(out_base)/xml-schema.hxx: $(out_root)/xsd/xsd - $(call message,xsd $(src_base)/xml-schema.xsd,\ -$(out_root)/xsd/xsd cxx-tree --output-dir $(out_base) --generate-xml-schema \ ---generate-serialization --custom-type double=double \ ---hxx-epilogue '#include "double-custom.hxx"' xml-schema.xsd) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization \ ---extern-xml-schema xml-schema.xsd - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/order.xsd,$(install_doc_dir)/xsd/$(path)/order.xsd) - $(call install-data,$(src_base)/double-custom.hxx,$(install_doc_dir)/xsd/$(path)/double-custom.hxx) - $(call install-data,$(src_base)/double-custom.cxx,$(install_doc_dir)/xsd/$(path)/double-custom.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/order.xsd,$(dist_prefix)/$(path)/order.xsd) - $(call install-data,$(src_base)/double-custom.hxx,$(dist_prefix)/$(path)/double-custom.hxx) - $(call install-data,$(src_base)/double-custom.cxx,$(dist_prefix)/$(path)/double-custom.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm $$1,rm -f $$1,$(out_base)/xml-schema.hxx) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver xml-schema.hxx $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/double/order.xsd b/xsd/examples/cxx/tree/custom/double/order.xsd deleted file mode 100644 index 9cf1a1d..0000000 --- a/xsd/examples/cxx/tree/custom/double/order.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/double/order.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="item"> - <xsd:attribute name="name" type="xsd:string" use="required"/> - <xsd:attribute name="price" type="xsd:double" use="required"/> - </xsd:complexType> - - <xsd:complexType name="order"> - <xsd:sequence> - <xsd:element name="item" type="item" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="order" type="order"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/makefile b/xsd/examples/cxx/tree/custom/makefile deleted file mode 100644 index d84f840..0000000 --- a/xsd/examples/cxx/tree/custom/makefile +++ /dev/null @@ -1,61 +0,0 @@ -# file : examples/cxx/tree/custom/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -all_examples := comments contacts double mixed taxonomy wildcard calendar -build_examples := comments contacts double mixed taxonomy wildcard - -ifeq ($(xsd_with_boost_date_time),y) -build_examples += calendar -endif - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples))) - -# Install & Dist. -# -$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples))) - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,custom-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,custom-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,custom-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,custom-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,custom-vc12.sln) - - -# Clean. -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples))) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - -ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile)) -else -$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile)) -endif - diff --git a/xsd/examples/cxx/tree/custom/mixed/README b/xsd/examples/cxx/tree/custom/mixed/README deleted file mode 100644 index 7b56812..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/README +++ /dev/null @@ -1,50 +0,0 @@ -This example shows how to use type customization to parse and serialize -mixed content. The example achieves this by customizing the type with -the mixed content model to include a DOM document that stores the data -as a raw XML representation. The customized type also provides its own -parsing constructor and serialization operator where the mixed content -is extracted from and inserted back to DOM, respectively. The use of -DOM for mixed content storage is one of the options. You may find other -data structures (e.g., a string) more suitable depending on your situation. - -For more information on the C++/Tree mapping customization see the C++/Tree -Mapping Customization Guide[1]. - -[1] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -people.xsd - XML Schema definition for a simple person record vocabulary. Each - record includes the bio element which represents arbitrary XHTML - fragments as mixed content. - -people.xml - Sample XML instance document. - -people.hxx -people.ixx -people.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model, and a set of serialization functions that convert the - object model back to XML. These are generated by XSD from people.xsd - with the --custom-type option in order to customize the bio type. - -people-custom.hxx - Header file which defines our own bio class by inheriting from the - generated bio_base. It is included at the end of people.hxx using - the --hxx-epilogue option. - -people-custom.cxx - Source file which contains the implementation of our bio class. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the data to STDERR, including the bio information converted to text. - Finally, the driver serializes the object model back to XML. - -To run the example on the sample XML instance document simply execute: - -$ ./driver people.xml diff --git a/xsd/examples/cxx/tree/custom/mixed/driver.cxx b/xsd/examples/cxx/tree/custom/mixed/driver.cxx deleted file mode 100644 index 0378f18..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/driver.cxx +++ /dev/null @@ -1,123 +0,0 @@ -// file : examples/cxx/tree/custom/mixed/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "people.hxx" - -// The following transcode() utility function is handy when working with -// Xerces. Include it after the generated header in order to get only char -// or wchar_t version depending on how you compiled your schemas. -// -#include <xsd/cxx/xml/string.hxx> - -using std::cerr; -using std::endl; -using namespace xercesc; - - -void -xhtml2txt (const DOMElement*); - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " people.xml" << endl; - return 1; - } - - int r (0); - - // The Xerces-C++ DOM document that will be used to store the XHTML - // fragments "out-live" the call to the parsing function. Therefore - // we need to initialize the Xerces-C++ runtime ourselves. - // - XMLPlatformUtils::Initialize (); - - try - { - using namespace people; - - // Parse. - // - std::auto_ptr<directory> d ( - directory_ (argv[1], xml_schema::flags::dont_initialize)); - - // Print what we've got. - // - const directory::person_sequence& s (d->person ()); - - for (directory::person_const_iterator i (s.begin ()); i != s.end (); ++i) - { - cerr << "First : " << i->first_name () << endl - << "Last : " << i->last_name () << endl - << "Gender : " << i->gender () << endl - << "Age : " << i->age () << endl; - - const bio& b (i->bio ()); - const DOMElement* xhtml (b.xhtml ()); - - if (xhtml != 0) - { - cerr << "Bio : " << endl; - xhtml2txt (xhtml); - } - - cerr << endl; - } - - // Serialize. - // - xml_schema::namespace_infomap map; - - map["ppl"].name = "http://www.codesynthesis.com/people"; - map["ppl"].schema = "people.xsd"; - - directory_ ( - std::cout, *d, map, "UTF-8", xml_schema::flags::dont_initialize); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} - -// Primitive XHTML to text converter that just prints all the text -// nodes and ignores everything else. -// -void -xhtml2txt (const DOMElement* e) -{ - namespace xml = xsd::cxx::xml; - - for (const DOMNode* n (e->getFirstChild ()); - n != 0; - n = n->getNextSibling ()) - { - switch (n->getNodeType ()) - { - case DOMNode::TEXT_NODE: - { - cerr << xml::transcode<char> (n->getTextContent ()); - break; - } - case DOMNode::ELEMENT_NODE: - { - xhtml2txt (static_cast<const DOMElement*> (n)); - break; - } - default: - break; // Ignore all other nodes (e.g., comments, etc). - } - } -} diff --git a/xsd/examples/cxx/tree/custom/mixed/makefile b/xsd/examples/cxx/tree/custom/mixed/makefile deleted file mode 100644 index 54610f0..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/makefile +++ /dev/null @@ -1,115 +0,0 @@ -# file : examples/cxx/tree/custom/mixed/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := people.xsd -cxx := driver.cxx people-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -# We have to double-escape '#' because the message function -# (which is used in command scripts) expands things twice. -# -$(gen): xsd_options += \ ---generate-inline \ ---generate-serialization \ ---custom-type bio=/bio_base \ ---hxx-epilogue '\#include "people-custom.hxx"' - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml) - $(call install-data,$(src_base)/people-custom.hxx,$(install_doc_dir)/xsd/$(path)/people-custom.hxx) - $(call install-data,$(src_base)/people-custom.cxx,$(install_doc_dir)/xsd/$(path)/people-custom.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) - $(call install-data,$(src_base)/people-custom.hxx,$(dist_prefix)/$(path)/people-custom.hxx) - $(call install-data,$(src_base)/people-custom.cxx,$(dist_prefix)/$(path)/people-custom.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/mixed/people-custom.cxx b/xsd/examples/cxx/tree/custom/mixed/people-custom.cxx deleted file mode 100644 index 7cd1947..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/people-custom.cxx +++ /dev/null @@ -1,89 +0,0 @@ -// file : examples/cxx/tree/custom/mixed/people-custom.cxx -// copyright : not copyrighted - public domain - -#include <ostream> - -// Include people.hxx instead of people-custom.hxx here. -// -#include "people.hxx" - -namespace people -{ - using namespace xercesc; - - const XMLCh ls[] = {chLatin_L, chLatin_S, chNull}; - - bio:: - bio () - : xhtml_ (0) - { - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls)); - - doc_.reset (impl->createDocument ()); - } - - bio:: - bio (const DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : bio_base (e, f, c), xhtml_ (0) - { - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls)); - - doc_.reset (impl->createDocument ()); - - // Copy the xhtml element. Assume the first child element in - // e is always xhtml. - // - for (DOMNode* n (e.getFirstChild ()); n != 0; n = n->getNextSibling ()) - { - if (n->getNodeType () == DOMNode::ELEMENT_NODE) - { - xhtml_ = static_cast<DOMElement*> (doc_->importNode (n, true)); - break; - } - } - } - - bio:: - bio (const bio& d, - xml_schema::flags f, - xml_schema::container* c) - : bio_base (d, f, c), xhtml_ (0) - { - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls)); - - doc_.reset (impl->createDocument ()); - - xhtml_ = static_cast<DOMElement*> ( - doc_->importNode (const_cast<DOMElement*> (d.xhtml_), true)); - } - - bio* bio:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new bio (*this, f, c); - } - - void - operator<< (DOMElement& e, const bio& x) - { - // Allow our base to serialize first. - // - const bio_base& b (x); - e << b; - - // Copy the XHTML fragment if we have one. - // - const DOMElement* xhtml (x.xhtml ()); - - if (xhtml != 0) - { - DOMDocument* doc (e.getOwnerDocument ()); - e.appendChild (doc->importNode (const_cast<DOMElement*> (xhtml), true)); - } - } -} diff --git a/xsd/examples/cxx/tree/custom/mixed/people-custom.hxx b/xsd/examples/cxx/tree/custom/mixed/people-custom.hxx deleted file mode 100644 index 54dfb21..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/people-custom.hxx +++ /dev/null @@ -1,83 +0,0 @@ -// file : examples/cxx/tree/custom/mixed/people-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use people.hxx instead. This -// file is included into generated people.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <cassert> -#include <xercesc/dom/DOM.hpp> - -namespace people -{ - class bio: public bio_base - { - // Standard constructors. - // - public: - bio (); - - bio (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - bio (const bio&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual bio* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - // XHTML bio as a DOM document. - // - public: - const xercesc::DOMElement* - xhtml () const - { - return xhtml_; - } - - xercesc::DOMElement* - xhtml () - { - return xhtml_; - } - - // The element should belong to the DOMDocument returned by - // the dom_document() functions. - // - void - xhtml (xercesc::DOMElement* e) - { - assert (e->getOwnerDocument () == doc_.get ()); - - if (xhtml_ != 0) - xhtml_->release (); - - xhtml_ = e; - } - - const xercesc::DOMDocument& - dom_document () const - { - return *doc_; - } - - xercesc::DOMDocument& - dom_document () - { - return *doc_; - } - - private: - xercesc::DOMElement* xhtml_; - xml_schema::dom::auto_ptr<xercesc::DOMDocument> doc_; - }; - - // Serialization operator. - // - void - operator<< (xercesc::DOMElement&, const bio&); -} diff --git a/xsd/examples/cxx/tree/custom/mixed/people.xml b/xsd/examples/cxx/tree/custom/mixed/people.xml deleted file mode 100644 index 47e68b9..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/people.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/mixed/people.xml -copyright : not copyrighted - public domain - ---> - -<ppl:directory xmlns:ppl="http://www.codesynthesis.com/people" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/people people.xsd"> - - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - <bio> - <xhtml xmlns="http://www.w3.org/1999/xhtml"> - <p>Married to Jane Doe.</p> - </xhtml> - </bio> - </person> - - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - <bio> - <xhtml xmlns="http://www.w3.org/1999/xhtml"> - <p>Married to John Doe.</p> - </xhtml> - </bio> - </person> - -</ppl:directory> diff --git a/xsd/examples/cxx/tree/custom/mixed/people.xsd b/xsd/examples/cxx/tree/custom/mixed/people.xsd deleted file mode 100644 index 03e6c97..0000000 --- a/xsd/examples/cxx/tree/custom/mixed/people.xsd +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/mixed/people.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:ppl="http://www.codesynthesis.com/people" - targetNamespace="http://www.codesynthesis.com/people"> - - <xsd:simpleType name="gender"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="male"/> - <xsd:enumeration value="female"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="bio" mixed="true"> - <xsd:sequence minOccurs="0" maxOccurs="unbounded"> - <xsd:any namespace="http://www.w3.org/1999/xhtml" processContents="skip"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="first-name" type="xsd:string"/> - <xsd:element name="last-name" type="xsd:string"/> - <xsd:element name="gender" type="ppl:gender"/> - <xsd:element name="age" type="xsd:unsignedShort"/> - <xsd:element name="bio" type="ppl:bio"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="directory"> - <xsd:sequence> - <xsd:element name="person" type="ppl:person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="directory" type="ppl:directory"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/taxonomy/README b/xsd/examples/cxx/tree/custom/taxonomy/README deleted file mode 100644 index c2e425a..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/README +++ /dev/null @@ -1,53 +0,0 @@ -This example shows how to map user-defined XML Schema types to custom C++ -classes. It presents the complex case where the customized types are -inherited from in the same schema. For the simple case see the contacts -example. For more information on the C++/Tree mapping customization see -the C++/Tree Mapping Customization Guide[1]. - -[1] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -people.xsd - XML Schema definition for a simple people database. - -people.xml - Sample XML instance document. - -people-fwd.hxx -people.hxx -people.ixx -people.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from people.xsd with the - --custom-type option in order to customize the person, superman, and - batman types. Generation of the people-fwd.hxx forward declaration - file is requested with the --generate-forward option. Note also that - we use the --generate-polymorphic command line option as well as - --polymorphic-type to mark the type hierarchy starting with the - person type as polymorphic. - -people-custom-fwd.hxx - Header file which forward-declares our own person, superman, and batman - as class templates. It is included at the beginning of people-fwd.hxx - using the --fwd-prologue option. - -people-custom.hxx - Header file which defines our own person, superman, and batman class - templates by inheriting from the generated person_base, superman_base, - and batman_base. It is included at the beginning of people.hxx using - the --hxx-prologue option. - -people-custom.cxx - Source file which contains the implementations and instantiations of - our person, superman, and batman class templates. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the database to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver people.xml diff --git a/xsd/examples/cxx/tree/custom/taxonomy/driver.cxx b/xsd/examples/cxx/tree/custom/taxonomy/driver.cxx deleted file mode 100644 index ec562f6..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/driver.cxx +++ /dev/null @@ -1,38 +0,0 @@ -// file : examples/cxx/tree/custom/taxonomy/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "people.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " people.xml" << endl; - return 1; - } - - try - { - using namespace people; - - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - for (catalog::person_const_iterator i (c->person ().begin ()); - i != c->person ().end (); ++i) - { - i->print (cerr); - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/custom/taxonomy/makefile b/xsd/examples/cxx/tree/custom/taxonomy/makefile deleted file mode 100644 index 5637f17..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/makefile +++ /dev/null @@ -1,122 +0,0 @@ -# file : examples/cxx/tree/custom/taxonomy/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := people.xsd -cxx := driver.cxx people-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=-fwd.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -# We have to double-escape '#' because the message function -# (which is used in command scripts) expands things twice. -# -$(gen): xsd_options += \ ---generate-inline \ ---generate-forward \ ---generate-polymorphic \ ---polymorphic-type person \ ---custom-type "person=person_impl<person_base>/person_base" \ ---custom-type "superman=superman_impl<superman_base>/superman_base" \ ---custom-type "batman=batman_impl<batman_base>/batman_base" \ ---fwd-prologue '\#include "people-custom-fwd.hxx"' \ ---hxx-prologue '\#include "people-custom.hxx"' - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml) - $(call install-data,$(src_base)/people-custom.hxx,$(install_doc_dir)/xsd/$(path)/people-custom.hxx) - $(call install-data,$(src_base)/people-custom.cxx,$(install_doc_dir)/xsd/$(path)/people-custom.cxx) - $(call install-data,$(src_base)/people-custom-fwd.hxx,$(install_doc_dir)/xsd/$(path)/people-custom-fwd.hxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) - $(call install-data,$(src_base)/people-custom.hxx,$(dist_prefix)/$(path)/people-custom.hxx) - $(call install-data,$(src_base)/people-custom.cxx,$(dist_prefix)/$(path)/people-custom.cxx) - $(call install-data,$(src_base)/people-custom-fwd.hxx,$(dist_prefix)/$(path)/people-custom-fwd.hxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/taxonomy/people-custom-fwd.hxx b/xsd/examples/cxx/tree/custom/taxonomy/people-custom-fwd.hxx deleted file mode 100644 index 2c26bf5..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/people-custom-fwd.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : examples/cxx/tree/custom/taxonomy/people-custom-fwd.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use people-fwd.hxx instead. This -// file is included into generated people-fwd.hxx so we do not need to -// guard against multiple inclusions. -// - -namespace people -{ - template <typename base> - class person_impl; - - template <typename base> - class superman_impl; - - template <typename base> - class batman_impl; -} diff --git a/xsd/examples/cxx/tree/custom/taxonomy/people-custom.cxx b/xsd/examples/cxx/tree/custom/taxonomy/people-custom.cxx deleted file mode 100644 index a06a6ea..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/people-custom.cxx +++ /dev/null @@ -1,156 +0,0 @@ -// file : examples/cxx/tree/custom/taxonomy/people-custom.cxx -// copyright : not copyrighted - public domain - -#include <ostream> - -// Include people.hxx instead of people-custom.hxx here. -// -#include "people.hxx" - -namespace people -{ - // person_impl - // - template <typename base> - person_impl<base>:: - person_impl (const xml_schema::string& name) - : base (name) - { - } - - template <typename base> - person_impl<base>:: - person_impl (const xercesc::DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : base (e, f, c) - { - } - - template <typename base> - person_impl<base>:: - person_impl (const person_impl& p, - xml_schema::flags f, - xml_schema::container* c) - : base (p, f, c) - { - } - - template <typename base> - person_impl<base>* person_impl<base>:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new person_impl (*this, f, c); - } - - template <typename base> - void person_impl<base>:: - print (std::ostream& os) const - { - os << this->name () << std::endl; - } - - // Explicitly instantiate person_impl class template for person_base. - // - template class person_impl<person_base>; - - - // superman_impl - // - template <typename base> - superman_impl<base>:: - superman_impl (const xml_schema::string& name, bool can_fly) - : base (name, can_fly) - { - } - - template <typename base> - superman_impl<base>:: - superman_impl (const xercesc::DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : base (e, f, c) - { - } - - template <typename base> - superman_impl<base>:: - superman_impl (const superman_impl& s, - xml_schema::flags f, - xml_schema::container* c) - : base (s, f, c) - { - } - - template <typename base> - superman_impl<base>* superman_impl<base>:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new superman_impl (*this, f, c); - } - - template <typename base> - void superman_impl<base>:: - print (std::ostream& os) const - { - if (this->can_fly ()) - os << "Flying superman "; - else - os << "Superman "; - - os << this->name () << std::endl; - } - - // Explicitly instantiate superman_impl class template for superman_base. - // - template class superman_impl<superman_base>; - - - // batman_impl - // - template <typename base> - batman_impl<base>:: - batman_impl (const xml_schema::string& name, - bool can_fly, - unsigned int wing_span) - : base (name, can_fly, wing_span) - { - } - - template <typename base> - batman_impl<base>:: - batman_impl (const xercesc::DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : base (e, f, c) - { - } - - template <typename base> - batman_impl<base>:: - batman_impl (const batman_impl& s, - xml_schema::flags f, - xml_schema::container* c) - : base (s, f, c) - { - } - - template <typename base> - batman_impl<base>* batman_impl<base>:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new batman_impl (*this, f, c); - } - - template <typename base> - void batman_impl<base>:: - print (std::ostream& os) const - { - os << "Batman " << this->name () << " with " << - this->wing_span () << "m wing span" << std::endl; - } - - // Explicitly instantiate batman_impl class template for batman_base. - // - template class batman_impl<batman_base>; -} diff --git a/xsd/examples/cxx/tree/custom/taxonomy/people-custom.hxx b/xsd/examples/cxx/tree/custom/taxonomy/people-custom.hxx deleted file mode 100644 index a60edc8..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/people-custom.hxx +++ /dev/null @@ -1,96 +0,0 @@ -// file : examples/cxx/tree/custom/taxonomy/people-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use people.hxx instead. This -// file is included into generated people.hxx so we do not need to -// guard against multiple inclusions. -// - -#include <iosfwd> // std::ostream - -// Include people-fwd.hxx here so that we can refer to the generated -// types. -// -#include "people-fwd.hxx" - -namespace people -{ - // - // - template <typename base> - class person_impl: public base - { - public: - person_impl (const xml_schema::string& name); - - person_impl (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - person_impl (const person_impl&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual person_impl* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - public: - virtual void - print (std::ostream&) const; - }; - - - // - // - template <typename base> - class superman_impl: public base - { - public: - superman_impl (const xml_schema::string& name, bool can_fly); - - superman_impl (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - superman_impl (const superman_impl&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual superman_impl* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - public: - virtual void - print (std::ostream&) const; - }; - - - // - // - template <typename base> - class batman_impl: public base - { - public: - batman_impl (const xml_schema::string& name, - bool can_fly, - unsigned int wing_span); - - batman_impl (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - batman_impl (const batman_impl&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual batman_impl* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - public: - virtual void - print (std::ostream&) const; - }; -} diff --git a/xsd/examples/cxx/tree/custom/taxonomy/people.xml b/xsd/examples/cxx/tree/custom/taxonomy/people.xml deleted file mode 100644 index b53b576..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/people.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/taxonomy/people.xml -copyright : not copyrighted - public domain - ---> - -<ppl:catalog xmlns:ppl="http://www.codesynthesis.com/people" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/people people.xsd"> - - <person> - <name>Joe Dirt</name> - </person> - - <person xsi:type="ppl:superman" can-fly="false"> - <name>James "007" Bond</name> - </person> - - <person xsi:type="ppl:batman" can-fly="true" wing-span="10"> - <name>Bruce Wayne</name> - </person> - -</ppl:catalog> diff --git a/xsd/examples/cxx/tree/custom/taxonomy/people.xsd b/xsd/examples/cxx/tree/custom/taxonomy/people.xsd deleted file mode 100644 index 1181270..0000000 --- a/xsd/examples/cxx/tree/custom/taxonomy/people.xsd +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/taxonomy/people.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:ppl="http://www.codesynthesis.com/people" - targetNamespace="http://www.codesynthesis.com/people"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="superman"> - <xsd:complexContent> - <xsd:extension base="ppl:person"> - <xsd:attribute name="can-fly" type="xsd:boolean" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="batman"> - <xsd:complexContent> - <xsd:extension base="ppl:superman"> - <xsd:attribute name="wing-span" type="xsd:unsignedInt" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="person" type="ppl:person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="ppl:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/custom/wildcard/README b/xsd/examples/cxx/tree/custom/wildcard/README deleted file mode 100644 index 70eaea4..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/README +++ /dev/null @@ -1,45 +0,0 @@ -This example shows how to use type customization to parse and serialize -a specific attribute that is matched by a wildcard (anyAttribute). The -example achieves this by customizing the type to include the data -members and accessors/modifiers that represent the attribute as well as -the parsing constructor and serialization operator where the attribute -value is extracted from and inserted back to DOM, respectively. For -more information on the C++/Tree mapping customization see the C++/Tree -Mapping Customization Guide[1]. - -[1] http://wiki.codesynthesis.com/Tree/Customization_guide - -The example consists of the following files: - -wildcard.xsd - XML Schema definition for simple data type and element. - -wildcard.xml - Sample XML instance document. - -wildcard.hxx -wildcard.ixx -wildcard.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model, and a set of serialization functions that convert the - object model back to XML. These are generated by XSD from wildcard.xsd - with the --custom-type option in order to customize the data type. - -wildcard-custom.hxx - Header file which defines our own data class by inheriting from the - generated data_base. It is included at the end of wildcard.hxx using - the --hxx-epilogue option. - -wildcard-custom.cxx - Source file which contains the implementation of our data class. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the data to STDERR, including the extra attribute. Finally, the driver - serializes the object model back to XML. - -To run the example on the sample XML instance document simply execute: - -$ ./driver wildcard.xml diff --git a/xsd/examples/cxx/tree/custom/wildcard/driver.cxx b/xsd/examples/cxx/tree/custom/wildcard/driver.cxx deleted file mode 100644 index d29f125..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/driver.cxx +++ /dev/null @@ -1,47 +0,0 @@ -// file : examples/cxx/tree/custom/wildcard/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "wildcard.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " wildcard.xml" << endl; - return 1; - } - - try - { - using namespace wildcard; - - // Parse. - // - std::auto_ptr<data> d (data_ (argv[1])); - - // Print. - // - cerr << *d << endl; - - // Serialize. - // - xml_schema::namespace_infomap map; - - map["wc"].name = "http://www.codesynthesis.com/wildcard"; - map["wc"].schema = "wildcard.xsd"; - - data_ (std::cout, *d, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/custom/wildcard/makefile b/xsd/examples/cxx/tree/custom/wildcard/makefile deleted file mode 100644 index 55e94b0..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/makefile +++ /dev/null @@ -1,116 +0,0 @@ -# file : examples/cxx/tree/custom/wildcard/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := wildcard.xsd -cxx := driver.cxx wildcard-custom.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -# We have to double-escape '#' because the message function -# (which is used in command scripts) expands things twice. -# -$(gen): xsd_options += \ ---generate-inline \ ---generate-ostream \ ---generate-serialization \ ---custom-type data=/data_base \ ---hxx-epilogue '\#include "wildcard-custom.hxx"' - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/wildcard.xsd,$(install_doc_dir)/xsd/$(path)/wildcard.xsd) - $(call install-data,$(src_base)/wildcard.xml,$(install_doc_dir)/xsd/$(path)/wildcard.xml) - $(call install-data,$(src_base)/wildcard-custom.hxx,$(install_doc_dir)/xsd/$(path)/wildcard-custom.hxx) - $(call install-data,$(src_base)/wildcard-custom.cxx,$(install_doc_dir)/xsd/$(path)/wildcard-custom.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/wildcard.xsd,$(dist_prefix)/$(path)/wildcard.xsd) - $(call install-data,$(src_base)/wildcard.xml,$(dist_prefix)/$(path)/wildcard.xml) - $(call install-data,$(src_base)/wildcard-custom.hxx,$(dist_prefix)/$(path)/wildcard-custom.hxx) - $(call install-data,$(src_base)/wildcard-custom.cxx,$(dist_prefix)/$(path)/wildcard-custom.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.cxx b/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.cxx deleted file mode 100644 index 006f93a..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.cxx +++ /dev/null @@ -1,84 +0,0 @@ -// file : examples/cxx/tree/custom/wildcard/wildcard-custom.cxx -// copyright : not copyrighted - public domain - -#include <ostream> - -// Include wildcard.hxx instead of wildcard-custom.hxx here. -// -#include "wildcard.hxx" - -namespace wildcard -{ - data:: - data (const xml_schema::string& d) - : data_base (d), scope_present_ (false) - { - } - - data:: - data (const xercesc::DOMElement& e, - xml_schema::flags f, - xml_schema::container* c) - : data_base (e, f, c), scope_present_ (false) - { - // Check if we've got the scope attribute. - // - namespace xml = xsd::cxx::xml; - xml::string name ("scope"); - - if (e.hasAttribute (name.c_str ())) - { - scope (xml::transcode<char> (e.getAttribute (name.c_str ()))); - } - } - - data:: - data (const data& d, - xml_schema::flags f, - xml_schema::container* c) - : data_base (d, f, c), - scope_present_ (d.scope_present_), - scope_ (d.scope_) - { - } - - data* data:: - _clone (xml_schema::flags f, xml_schema::container* c) const - { - return new data (*this, f, c); - } - - void - operator<< (xercesc::DOMElement& e, const data& x) - { - // Use our base to serialize data and id. - // - const data_base& b (x); - e << b; - - // Add the scope attribute if present. - // - if (x.scope_present ()) - { - namespace xml = xsd::cxx::xml; - xml::string name ("scope"); - xml::string value (x.scope ()); - - e.setAttribute (name.c_str (), value.c_str ()); - } - } - - std::ostream& - operator<< (std::ostream& os, const data& x) - { - // Use our base to print date and id. - // - const data_base& b (x); - os << b; - - if (x.scope_present ()) - os << std::endl << "scope: " << x.scope (); - - return os; - } -} diff --git a/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.hxx b/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.hxx deleted file mode 100644 index 0546d38..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/wildcard-custom.hxx +++ /dev/null @@ -1,66 +0,0 @@ -// file : examples/cxx/tree/custom/wildcard/wildcard-custom.hxx -// copyright : not copyrighted - public domain - -// Do not include this file directly, use wildcard.hxx instead. This -// file is included into generated wildcard.hxx so we do not need to -// guard against multiple inclusions. -// - -namespace wildcard -{ - class data: public data_base - { - // Standard constructors. - // - public: - data (const xml_schema::string&); - - data (const xercesc::DOMElement&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - data (const data&, - xml_schema::flags = 0, - xml_schema::container* = 0); - - virtual data* - _clone (xml_schema::flags = 0, - xml_schema::container* = 0) const; - - // Our customizations. - // - public: - bool - scope_present () const - { - return scope_present_; - } - - const xml_schema::string& - scope () const - { - return scope_; - } - - void - scope (const xml_schema::string& s) - { - scope_present_ = true; - scope_ = s; - } - - private: - bool scope_present_; - xml_schema::string scope_; - }; - - // Serialization operator. - // - void - operator<< (xercesc::DOMElement&, const data&); - - // std::ostream insertion operator. - // - std::ostream& - operator<< (std::ostream&, const data&); -} diff --git a/xsd/examples/cxx/tree/custom/wildcard/wildcard.xml b/xsd/examples/cxx/tree/custom/wildcard/wildcard.xml deleted file mode 100644 index 80f215a..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/wildcard.xml +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/wildcard/wildcard.xml -copyright : not copyrighted - public domain - ---> - -<wc:data xmlns:wc="http://www.codesynthesis.com/wildcard" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/wildcard wildcard.xsd" - id="1" - scope="global">abc123</wc:data> diff --git a/xsd/examples/cxx/tree/custom/wildcard/wildcard.xsd b/xsd/examples/cxx/tree/custom/wildcard/wildcard.xsd deleted file mode 100644 index 1a32b1e..0000000 --- a/xsd/examples/cxx/tree/custom/wildcard/wildcard.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/custom/wildcard/wildcard.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:wc="http://www.codesynthesis.com/wildcard" - targetNamespace="http://www.codesynthesis.com/wildcard"> - - <xsd:complexType name="data"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="id" type="xsd:unsignedInt"/> - <xsd:anyAttribute namespace="##any" processContents="skip"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:element name="data" type="wc:data"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/embedded/README b/xsd/examples/cxx/tree/embedded/README deleted file mode 100644 index 266a8ff..0000000 --- a/xsd/examples/cxx/tree/embedded/README +++ /dev/null @@ -1,48 +0,0 @@ -This example shows how to embed the binary representation of the schema -grammar into an application and then use it with the C++/Tree mapping to -parse and validate XML documents. This example is similar to the 'caching' -example except that it loads the binary representation of the schemas -embedded into the application instead of pre-parsing external schema files. - -The example consists of the following files: - -xsdbin.cxx - Tool for converting one or more XML Schema files to the compressed binary - representation. The output is written as a pair of C++ source files - containing the array with the binary data. Use the --help option to see - the tool's usage information. - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx -library.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by the XSD compiler from library.xsd. - -library-schema.hxx -library-schema.cxx - Binary representation of the library.xsd schema. These files are generated - by the xsdbin tool. - -grammar-input-stream.hxx -grammar-input-stream.cxx - Input stream implementation with the special-purpose schema grammar - decompression algorithm. It is used to load the binary schema representation - produced by the xsdbin tool. - -driver.cxx - Driver for the example. It first sets up the Xerces-C++ DOM parser and - loads the embedded binary schema grammar for validation. It then performs - ten iterations that parse the input file to a DOM document using the DOM - parser and call one of the parsing functions that constructs the object - model from this DOM document. On each iteration the driver prints a number - of books in the object model to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml diff --git a/xsd/examples/cxx/tree/embedded/driver.cxx b/xsd/examples/cxx/tree/embedded/driver.cxx deleted file mode 100644 index 5ceafa4..0000000 --- a/xsd/examples/cxx/tree/embedded/driver.cxx +++ /dev/null @@ -1,183 +0,0 @@ -// file : examples/cxx/tree/embedded/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/util/PlatformUtils.hpp> -#include <xercesc/validators/common/Grammar.hpp> // xercesc::Grammar -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xercesc/framework/XMLGrammarPoolImpl.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> -#include <xsd/cxx/xml/sax/std-input-source.hxx> - -#include <xsd/cxx/tree/error-handler.hxx> - -#include "library.hxx" -#include "library-schema.hxx" -#include "grammar-input-stream.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we - // are doing the XML-to-DOM parsing ourselves. - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - using namespace xercesc; - namespace xml = xsd::cxx::xml; - namespace tree = xsd::cxx::tree; - - // Create and load the grammar pool. - // - MemoryManager* mm (XMLPlatformUtils::fgMemoryManager); - - auto_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm)); - - try - { - grammar_input_stream is (library_schema, sizeof (library_schema)); - gp->deserializeGrammars(&is); - } - catch(const XSerializationException& e) - { - cerr << "unable to load schema: " << - xml::transcode<char> (e.getMessage ()) << endl; - return 1; - } - - // Lock the grammar pool. This is necessary if we plan to use the - // same grammar pool in multiple threads (this way we can reuse the - // same grammar in multiple parsers). Locking the pool disallows any - // modifications to the pool, such as an attempt by one of the threads - // to cache additional schemas. - // - gp->lockPool (); - - // Get an implementation of the Load-Store (LS) interface. - // - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser ( - DOMImplementationLS::MODE_SYNCHRONOUS, 0, mm, gp.get ())); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, true); - conf->setParameter (XMLUni::fgXercesSchema, true); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // Use the loaded grammar during parsing. - // - conf->setParameter (XMLUni::fgXercesUseCachedGrammarInParse, true); - - // Disable loading schemas via other means (e.g., schemaLocation). - // - conf->setParameter (XMLUni::fgXercesLoadSchema, false); - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Parse XML documents. - // - for (unsigned long i (0); i < 10; ++i) - { - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - // Wrap the standard input stream. - // - xml::sax::std_input_source isrc (ifs, argv[1]); - Wrapper4InputSource wrap (&isrc, false); - - // Parse XML to DOM. - // - xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<xml_schema::parsing> (); - - // Parse DOM to the object model. - // - auto_ptr<library::catalog> c (library::catalog_ (*doc)); - - cerr << "catalog with " << c->book ().size () << " books" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/embedded/grammar-input-stream.cxx b/xsd/examples/cxx/tree/embedded/grammar-input-stream.cxx deleted file mode 100644 index f3a6d52..0000000 --- a/xsd/examples/cxx/tree/embedded/grammar-input-stream.cxx +++ /dev/null @@ -1,95 +0,0 @@ -// file : examples/cxx/tree/embedded/grammar-input-stream.cxx -// copyright : not copyrighted - public domain - -#include <cassert> -#include "grammar-input-stream.hxx" - -grammar_input_stream:: -grammar_input_stream (const XMLByte* data, std::size_t size) - : data_ (data), - size_ (size), - pos_ (0), - vpos_ (0), - cseq_ (0), - add_zero_ (false) -{ -} - -XMLFilePos grammar_input_stream:: -curPos () const -{ - return static_cast<XMLFilePos> (vpos_); -} - -XMLSize_t grammar_input_stream:: -readBytes (XMLByte* const buf, const XMLSize_t size) -{ - std::size_t i (0); - - // Add a zero from the alternating sequence if it didn't - // fit on the previous read. - // - if (add_zero_) - { - buf[i++] = 0; - add_zero_ = false; - } - - // If have an unfinished sequential sequence, output it now. - // - if (cseq_ != 0 && !alt_) - { - for (; cseq_ != 0 && i < size; --cseq_) - buf[i++] = 0; - } - - for (; i < size && pos_ < size_;) - { - XMLByte b = buf[i++] = data_[pos_++]; - - // See if we are in a compression sequence. - // - if (cseq_ != 0) - { - if (i < size) - buf[i++] = 0; - else - add_zero_ = true; // Add it on the next read. - - cseq_--; - continue; - } - - // If we are not in a compression sequence and this byte is - // not zero then we are done. - // - if (b != 0) - continue; - - // We have a zero. - // - assert (pos_ < size_); // There has to be another byte. - unsigned char v (static_cast<unsigned char> (data_[pos_++])); - alt_ = (v & 128) != 0; - cseq_ = v & 127; - - // If it is a sequential sequence, output as many zeros as - // we can. - // - if (!alt_) - { - for (; cseq_ != 0 && i < size; --cseq_) - buf[i++] = 0; - } - } - - vpos_ += i; - - return static_cast<XMLSize_t> (i); -} - -const XMLCh* grammar_input_stream:: -getContentType () const -{ - return 0; -} diff --git a/xsd/examples/cxx/tree/embedded/grammar-input-stream.hxx b/xsd/examples/cxx/tree/embedded/grammar-input-stream.hxx deleted file mode 100644 index ed12b7c..0000000 --- a/xsd/examples/cxx/tree/embedded/grammar-input-stream.hxx +++ /dev/null @@ -1,40 +0,0 @@ -// file : examples/cxx/tree/embedded/grammar-input-stream.hxx -// copyright : not copyrighted - public domain - -#ifndef GRAMMAR_INPUT_STREAM_HXX -#define GRAMMAR_INPUT_STREAM_HXX - -#include <cstddef> -#include <xercesc/util/BinInputStream.hpp> - -// Memory buffer input stream with the special-purpose schema -// grammar decompression. -// -class grammar_input_stream: public xercesc::BinInputStream -{ -public : - grammar_input_stream (const XMLByte* data, std::size_t size); - - virtual XMLFilePos - curPos () const; - - virtual XMLSize_t - readBytes (XMLByte* const buf, const XMLSize_t size); - - virtual const XMLCh* - getContentType () const; - -private : - const XMLByte* data_; - std::size_t size_; - std::size_t pos_; - std::size_t vpos_; - - // Compression data. - // - size_t cseq_; // Number of bytes left in a compression sequence. - bool alt_; // Alternating or sequential sequence. - bool add_zero_; // Add a zero on the next read. -}; - -#endif // GRAMMAR_INPUT_STREAM_HXX diff --git a/xsd/examples/cxx/tree/embedded/library.xml b/xsd/examples/cxx/tree/embedded/library.xml deleted file mode 100644 index f57c042..0000000 --- a/xsd/examples/cxx/tree/embedded/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/embedded/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/embedded/library.xsd b/xsd/examples/cxx/tree/embedded/library.xsd deleted file mode 100644 index 6a9ad01..0000000 --- a/xsd/examples/cxx/tree/embedded/library.xsd +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/embedded/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/embedded/makefile b/xsd/examples/cxx/tree/embedded/makefile deleted file mode 100644 index d0fdc33..0000000 --- a/xsd/examples/cxx/tree/embedded/makefile +++ /dev/null @@ -1,123 +0,0 @@ -# file : examples/cxx/tree/embedded/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx grammar-input-stream.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o) \ -$(xsd:.xsd=-schema.o)) -obj2 := $(out_base)/xsdbin.o -dep := $(obj:.o=.o.d) $(obj2:.o=.o.d) - -driver := $(out_base)/driver -xsdbin := $(out_base)/xsdbin -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) -$(xsdbin): $(obj2) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(obj2) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -genf += $(xsd:.xsd=-schema.hxx) $(xsd:.xsd=-schema.cxx) - -.PRECIOUS: $(out_base)/%-schema.hxx $(out_base)/%-schema.cxx -$(out_base)/%: xsdbin := $(xsdbin) -$(out_base)/%-schema.hxx $(out_base)/%-schema.cxx: $(src_base)/%.xsd $(xsdbin) - $(call message,xsdbin $<,$(xsdbin) --output-dir $(out_base) $<) - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/xsdbin.cxx,$(install_doc_dir)/xsd/$(path)/xsdbin.cxx) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/grammar-input-stream.hxx,$(install_doc_dir)/xsd/$(path)/grammar-input-stream.hxx) - $(call install-data,$(src_base)/grammar-input-stream.cxx,$(install_doc_dir)/xsd/$(path)/grammar-input-stream.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/xsdbin.cxx,$(dist_prefix)/$(path)/xsdbin.cxx) - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/grammar-input-stream.hxx,$(dist_prefix)/$(path)/grammar-input-stream.hxx) - $(call install-data,$(src_base)/grammar-input-stream.cxx,$(dist_prefix)/$(path)/grammar-input-stream.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - # Note: solution files are not automatically generated. - -# Clean. -# -$(clean): files := $(out_base)/$(xsd:.xsd=-schema.?xx) -$(clean): $(driver).o.clean $(xsdbin).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(obj2)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm '$(out_base)/*-schema.?xx',rm -f $(files)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver xsdbin $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/embedded/xsdbin.cxx b/xsd/examples/cxx/tree/embedded/xsdbin.cxx deleted file mode 100644 index 656b830..0000000 --- a/xsd/examples/cxx/tree/embedded/xsdbin.cxx +++ /dev/null @@ -1,494 +0,0 @@ -// file : examples/cxx/tree/embedded/xsdbin.cxx -// copyright : not copyrighted - public domain - -// This program loads the XML Schema file(s) and converts them to -// the Xerces-C++ binary schema format which can then be embedded -// into C++ programs and used to validate XML documents. The output -// is written as a C++ source file containing the array with the -// binary data. -// - -#include <string> -#include <memory> // std::auto_ptr -#include <cstddef> // std::size_t -#include <fstream> -#include <iostream> - -#include <xercesc/util/XMLUni.hpp> -#include <xercesc/util/XMLString.hpp> -#include <xercesc/util/PlatformUtils.hpp> -#include <xercesc/util/XercesVersion.hpp> - -#include <xercesc/internal/BinMemOutputStream.hpp> -#include <xercesc/validators/common/Grammar.hpp> - -#include <xercesc/sax/ErrorHandler.hpp> -#include <xercesc/sax/SAXParseException.hpp> -#include <xercesc/sax2/SAX2XMLReader.hpp> -#include <xercesc/sax2/XMLReaderFactory.hpp> - -#include <xercesc/framework/XMLGrammarPoolImpl.hpp> - -using namespace std; -using namespace xercesc; - -class error_handler: public ErrorHandler -{ -public: - error_handler () - : failed_ (false) - { - } - - bool - failed () const - { - return failed_; - } - - enum severity {s_warning, s_error, s_fatal}; - - virtual void - warning (const SAXParseException&); - - virtual void - error (const SAXParseException&); - - virtual void - fatalError (const SAXParseException&); - - virtual void - resetErrors () - { - failed_ = false; - } - - void - handle (const SAXParseException&, severity); - -private: - bool failed_; -}; - -void -cxx_escape (string&); - -int -main (int argc, char* argv[]) -{ - const char* hxx_suffix = "-schema.hxx"; - const char* cxx_suffix = "-schema.cxx"; - - string name; - string base; - string outdir; - - struct usage - { - usage (bool e = true): error (e) {} - bool error; - }; - - int argi (1); - bool multi_import (true); - bool verbose (false); - - try - { - for (; argi < argc; ++argi) - { - string a (argv[argi]); - - if (a == "--help") - throw usage (false); - else if (a == "--verbose") - { - verbose = true; - } - else if (a == "--hxx-suffix") - { - if (++argi >= argc) - throw usage (); - - hxx_suffix = argv[argi]; - } - else if (a == "--cxx-suffix") - { - if (++argi >= argc) - throw usage (); - - cxx_suffix = argv[argi]; - } - else if (a == "--output-dir") - { - if (++argi >= argc) - throw usage (); - - outdir = argv[argi]; - } - else if (a == "--array-name") - { - if (++argi >= argc) - throw usage (); - - name = argv[argi]; - } - else if (a == "--disable-multi-import") - { - multi_import = false; - } - else - break; - } - - if (argi >= argc) - { - cerr << "no input file specified" << endl; - throw usage (); - } - - base = argv[argi]; - } - catch (usage const& e) - { - ostream& o (e.error ? cerr : cout); - - o << "Usage: " << argv[0] << " [options] <files>" << endl - << "Options:" << endl - << " --help Print usage information and exit." << endl - << " --verbose Print progress information." << endl - << " --output-dir <dir> Write generated files to <dir>." << endl - << " --hxx-suffix <sfx> Header file suffix instead of '-schema.hxx'." << endl - << " --cxx-suffix <sfx> Source file suffix instead of '-schema.cxx'." << endl - << " --array-name <name> Binary data array name." << endl - << " --disable-multi-import Disable multiple import support." << endl - << endl; - - return e.error ? 0 : 1; - } - - XMLPlatformUtils::Initialize (); - - { - MemoryManager* mm (XMLPlatformUtils::fgMemoryManager); - - auto_ptr<XMLGrammarPool> gp (new XMLGrammarPoolImpl (mm)); - - // Load the schemas into grammar pool. - // - { - auto_ptr<SAX2XMLReader> parser ( - XMLReaderFactory::createXMLReader (mm, gp.get ())); - - parser->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); - parser->setFeature (XMLUni::fgSAX2CoreNameSpacePrefixes, true); - parser->setFeature (XMLUni::fgSAX2CoreValidation, true); - parser->setFeature (XMLUni::fgXercesSchema, true); - parser->setFeature (XMLUni::fgXercesSchemaFullChecking, true); - parser->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - parser->setFeature (XMLUni::fgXercesHandleMultipleImports, multi_import); -#endif - - error_handler eh; - parser->setErrorHandler (&eh); - - for (; argi < argc; ++argi) - { - if (verbose) - cerr << "loading " << argv[argi] << endl; - - if (!parser->loadGrammar (argv[argi], Grammar::SchemaGrammarType, true)) - { - cerr << argv[argi] << ": error: unable to load" << endl; - return 1; - } - - if (eh.failed ()) - return 1; - } - } - - // Get the binary representation. - // - BinMemOutputStream data; - - try - { - gp->serializeGrammars (&data); - } - catch (const XSerializationException& e) - { - char* msg (XMLString::transcode (e.getMessage ())); - cerr << "error: " << msg << endl; - XMLString::release (&msg); - return 1; - } - - size_t n (static_cast<size_t> (data.curPos ())); - const unsigned char* buf ( - static_cast<const unsigned char*> (data.getRawBuffer ())); - - if (verbose) - cerr << "uncomressed data size " << n << " bytes" << endl; - - // Compress zeros. - // - size_t cn (0); - unsigned char* cbuf = new unsigned char[n]; - - size_t cseq (0); // Number of bytes left in a compression sequence. - bool alt (false); // Alternating or sequential sequence. - - for (size_t i (0); i < n;) - { - unsigned char v (buf[i++]); - - // See if we are in a compression sequence. - // - if (cseq != 0) - { - // See if this byte needs to be copied. - // - if (alt && cseq % 2 == 0) - cbuf[cn++] = v; - - cseq--; - continue; - } - - // If we are not in a compression sequence and this byte is - // not zero then simply copy it. - // - if (v != 0) - { - cbuf[cn++] = v; - continue; - } - - // We have a zero. - // - cbuf[cn++] = 0; - - // See if we can start a new compression sequence. - // - if (i < n) - { - if (buf[i] == 0) - { - // Sequential sequence. See how far it runs. - // - alt = false; - - for (cseq = 1; cseq < 127 && cseq + i < n; cseq++) - if (buf[cseq + i] != 0) - break; - } - else if (i + 1 < n && buf[i + 1] == 0) - { - // Alternating sequence. See how far it runs. - // - alt = true; - - for (cseq = 1; cseq < 127 && cseq * 2 + i + 1 < n; cseq++) - { - if (buf[cseq * 2 + i + 1] != 0) - break; - - // For longer sequences prefer sequential to alternating. - // - if (cseq > 2 && - buf[cseq * 2 + i] == 0 && - buf[(cseq - 1) * 2 + i] == 0 && - buf[(cseq - 2) * 2 + i] == 0) - { - cseq -= 2; - break; - } - } - - cseq *= 2; - } - } - - if (cseq != 0) - { - cbuf[cn++] = static_cast<unsigned char> ( - alt ? (128 | cseq / 2) : cseq); - } - else - cbuf[cn++] = 0; - } - - if (verbose) - cerr << "comressed data size " << cn << " bytes" << endl; - - buf = cbuf; - n = cn; - - // Figure out the file names. - // - string::size_type p (base.rfind ('/')), p1 (base.rfind ('\\')); - - if (p1 != string::npos && p1 > p) - p = p1; - - if (p != string::npos) - base = string (base, p + 1); - - p = base.rfind ('.'); - - if (p != string::npos) - base.resize (p); - - string hxx (base + hxx_suffix); - string cxx (base + cxx_suffix); - - if (!outdir.empty ()) - { -#if defined (WIN32) || defined (__WIN32__) - hxx = outdir + '\\' + hxx; - cxx = outdir + '\\' + cxx; -#else - hxx = outdir + '/' + hxx; - cxx = outdir + '/' + cxx; -#endif - } - - if (name.empty ()) - { - name = base + "_schema"; - cxx_escape (name); - } - - // Write header. - // - { - ofstream os (hxx.c_str ()); - - if (!os.is_open ()) - { - cerr << hxx << ": error: unable to open" << endl; - return 1; - } - - os << "// Automatically generated. Do not edit." << endl - << "//" << endl - << endl - << "#include <xercesc/util/XercesDefs.hpp>" << endl - << endl - << "extern const XMLByte " << name << "[" << n << "UL];" << endl; - } - - { - ofstream os (cxx.c_str ()); - - if (!os.is_open ()) - { - cerr << cxx << ": error: unable to open" << endl; - return 1; - } - - os << "// Automatically generated. Do not edit." << endl - << "//" << endl - << endl - << "#include <xercesc/util/XercesDefs.hpp>" << endl - << "#include <xercesc/util/XercesVersion.hpp>" << endl - << endl - << "#if XERCES_GRAMMAR_SERIALIZATION_LEVEL != " << - XERCES_GRAMMAR_SERIALIZATION_LEVEL << endl - << "# error incompatible Xerces-C++ version detected" << endl - << "#endif" << endl - << endl - << "extern const XMLByte " << name << "[" << n << "UL] =" << endl - << "{"; - - for (size_t i (0); i < n; ++i) - { - if (i != 0) - os << ','; - - os << (i % 12 == 0 ? "\n " : " ") << "0x"; - os.width (2); - os.fill ('0'); - os << hex << static_cast<unsigned short> (buf[i]); - } - - os << endl - << "};" << endl - << endl; - } - - delete[] cbuf; - } - - XMLPlatformUtils::Terminate (); -} - -void -cxx_escape (string& s) -{ - for (string::size_type i (0); i < s.size (); ++i) - { - char& c (s[i]); - - if (i == 0) - { - if (!((c >= 'a' && c <= 'z') || - (c >= 'A' && c <= 'Z') || - c == '_')) - c = '_'; - } - else - { - if (!((c >= 'a' && c <= 'z') || - (c >= 'A' && c <= 'Z') || - (c >= '0' && c <= '9') || - c == '_')) - c = '_'; - } - } -} - -void error_handler:: -warning (const SAXParseException& e) -{ - handle (e, s_warning); -} - -void error_handler:: -error (const SAXParseException& e) -{ - failed_ = true; - handle (e, s_error); -} - -void error_handler:: -fatalError (const SAXParseException& e) -{ - failed_ = true; - handle (e, s_fatal); -} - -void error_handler:: -handle (const SAXParseException& e, severity s) -{ - const XMLCh* xid (e.getPublicId ()); - - if (xid == 0) - xid = e.getSystemId (); - - char* id (XMLString::transcode (xid)); - char* msg (XMLString::transcode (e.getMessage ())); - - cerr << id << ":" - << e.getLineNumber () << ":" << e.getColumnNumber () << " " - << (s == s_warning ? "warning: " : "error: ") << msg << endl; - - XMLString::release (&id); - XMLString::release (&msg); -} diff --git a/xsd/examples/cxx/tree/hello/README b/xsd/examples/cxx/tree/hello/README deleted file mode 100644 index bb98584..0000000 --- a/xsd/examples/cxx/tree/hello/README +++ /dev/null @@ -1,26 +0,0 @@ -This is a "Hello, world!" example that shows how to use the C++/Tree -mapping to access XML instance documents described by XML Schema -definitions. - -The example consists of the following files: - -hello.xsd - XML Schema which describes "hello" instance documents. - -hello.xml - Sample XML instance document. - -hello.hxx -hello.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from hello.xsd. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the content of the object model to STDERR. - -To run the example on the sample XML instance document simply execute: - -$ ./driver hello.xml diff --git a/xsd/examples/cxx/tree/hello/driver.cxx b/xsd/examples/cxx/tree/hello/driver.cxx deleted file mode 100644 index b6629b3..0000000 --- a/xsd/examples/cxx/tree/hello/driver.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// file : examples/cxx/tree/hello/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "hello.hxx" - -using namespace std; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " hello.xml" << endl; - return 1; - } - - try - { - auto_ptr<hello_t> h (hello (argv[1])); - - for (hello_t::name_const_iterator i (h->name ().begin ()); - i != h->name ().end (); - ++i) - { - cout << h->greeting () << ", " << *i << "!" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/hello/hello.xml b/xsd/examples/cxx/tree/hello/hello.xml deleted file mode 100644 index 8b25b5b..0000000 --- a/xsd/examples/cxx/tree/hello/hello.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/hello/hello.xml -copyright : not copyrighted - public domain - ---> - -<hello xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="hello.xsd"> - - <greeting>Hello</greeting> - - <name>sun</name> - <name>moon</name> - <name>world</name> - -</hello> diff --git a/xsd/examples/cxx/tree/hello/hello.xsd b/xsd/examples/cxx/tree/hello/hello.xsd deleted file mode 100644 index 8326ff0..0000000 --- a/xsd/examples/cxx/tree/hello/hello.xsd +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/hello/hello.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="hello_t"> - - <xsd:annotation> - <xsd:documentation> - The hello_t type consists of a greeting phrase and a - collection of names to which this greeting applies. - </xsd:documentation> - </xsd:annotation> - - <xsd:sequence> - - <xsd:element name="greeting" type="xsd:string"> - <xsd:annotation> - <xsd:documentation> - The greeting element contains the greeting phrase - for this hello object. - </xsd:documentation> - </xsd:annotation> - </xsd:element> - - <xsd:element name="name" type="xsd:string" maxOccurs="unbounded"> - <xsd:annotation> - <xsd:documentation> - The name elements contains names to be greeted. - </xsd:documentation> - </xsd:annotation> - </xsd:element> - - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="hello" type="hello_t"> - <xsd:annotation> - <xsd:documentation> - The hello element is a root of the Hello XML vocabulary. - Every conforming document should start with this element. - </xsd:documentation> - </xsd:annotation> - </xsd:element> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/hello/makefile b/xsd/examples/cxx/tree/hello/makefile deleted file mode 100644 index 2657fc6..0000000 --- a/xsd/examples/cxx/tree/hello/makefile +++ /dev/null @@ -1,101 +0,0 @@ -# file : examples/cxx/tree/hello/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := hello.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/hello.xsd,$(install_doc_dir)/xsd/$(path)/hello.xsd) - $(call install-data,$(src_base)/hello.xml,$(install_doc_dir)/xsd/$(path)/hello.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/hello.xsd,$(dist_prefix)/$(path)/hello.xsd) - $(call install-data,$(src_base)/hello.xml,$(dist_prefix)/$(path)/hello.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/library/README b/xsd/examples/cxx/tree/library/README deleted file mode 100644 index 0b8638c..0000000 --- a/xsd/examples/cxx/tree/library/README +++ /dev/null @@ -1,32 +0,0 @@ -This example shows how to use the C++/Tree mapping to parse XML documents -into a tree-like in-memory object model, modify this object model, and -finally serialize it back to XML. - -The example consists of the following files: - -library.xsd - XML Schema which describes a library of books. - -library.xml - Sample XML instance document. - -library.hxx -library.ixx -library.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML documents to a tree-like in-memory object - model, and a set of serialization functions that convert the object - model back to XML. These are generated by XSD from library.xsd. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the content of the object model to STDERR. Finally, the driver modifies - the object model and serializes it back to XML. - -To run the example on the sample XML instance document simply execute: - -$ ./driver library.xml - -This example also shows how to use the ID/IDREF cross-referencing -mechanism and the xsd:enumeration to C++ enum mapping. diff --git a/xsd/examples/cxx/tree/library/driver.cxx b/xsd/examples/cxx/tree/library/driver.cxx deleted file mode 100644 index 5913ddf..0000000 --- a/xsd/examples/cxx/tree/library/driver.cxx +++ /dev/null @@ -1,130 +0,0 @@ -// file : examples/cxx/tree/library/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "library.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " library.xml" << endl; - return 1; - } - - try - { - using namespace library; - - // Read in the XML file and obtain its object model. - // - std::auto_ptr<catalog> c (catalog_ (argv[1])); - - - // Let's print what we've got. - // - for (catalog::book_const_iterator bi (c->book ().begin ()); - bi != c->book ().end (); - ++bi) - { - cerr << endl - << "ID : " << bi->id () << endl - << "ISBN : " << bi->isbn () << endl - << "Title : " << bi->title () << endl - << "Genre : " << bi->genre () << endl; - - for (book::author_const_iterator ai (bi->author ().begin ()); - ai != bi->author ().end (); - ++ai) - { - cerr << "Author : " << ai->name () << endl; - cerr << " Born : " << ai->born () << endl; - - if (ai->died ()) - cerr << " Died : " << *ai->died () << endl; - - if (ai->recommends ()) - cerr << " Recommends : " << (*ai->recommends ())->title () << endl; - } - - cerr << "Available : " << std::boolalpha << bi->available () << endl; - } - - - // Now we are going to modify the object model and serialize it - // back to XML. - // - - catalog::book_sequence& books (c->book ()); - - - // Get rid of all unavailable books. - // - for (catalog::book_iterator bi (books.begin ()); bi != books.end ();) - { - if (!bi->available ()) - bi = books.erase (bi); - else - ++bi; - } - - - // Insert a new book. - // - book b (679776443, // ISBN - "Dead Souls", // Title - genre::philosophy, // Genre - "DS"); // ID - - b.author ().push_back (author ("Nikolai Gogol", - xml_schema::date (1809, 3, 31))); - - books.insert (books.begin (), b); - - - // Because we removed all unavailable books, some IDREFs might be - // broken. Let's fix this. - // - for (catalog::book_iterator bi (books.begin ()); bi != books.end (); ++bi) - { - for (book::author_iterator ai (bi->author ().begin ()); - ai != bi->author ().end (); - ++ai) - { - author::recommends_optional& c (ai->recommends ()); - - if (c.present ()) - { - author::recommends_type& ref (c.get ()); - - if (!ref) - c.reset (); - } - } - } - - - // Prepare namespace mapping and schema location information. - // - xml_schema::namespace_infomap map; - - map["lib"].name = "http://www.codesynthesis.com/library"; - map["lib"].schema = "library.xsd"; - - - // Write it out. - // - catalog_ (std::cout, *c, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/library/library.xml b/xsd/examples/cxx/tree/library/library.xml deleted file mode 100644 index ca4ca9c..0000000 --- a/xsd/examples/cxx/tree/library/library.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/library/library.xml -copyright : not copyrighted - public domain - ---> - -<lib:catalog xmlns:lib="http://www.codesynthesis.com/library" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/library library.xsd"> - - <book id="MM" available="false"> - <isbn>0679760806</isbn> - <title>The Master and Margarita</title> - <genre>fiction</genre> - - <author recommends="WP"> - <name>Mikhail Bulgakov</name> - <born>1891-05-15</born> - <died>1940-03-10</died> - </author> - </book> - - - <book id="WP"> - <isbn>0679600841</isbn> - <title>War and Peace</title> - <genre>history</genre> - - <author recommends="CP"> - <name>Leo Tolstoy</name> - <born>1828-09-09</born> - <died>1910-11-20</died> - </author> - </book> - - - <book id="CP" available="false"> - <isbn>0679420290</isbn> - <title>Crime and Punishment</title> - <genre>philosophy</genre> - - <author> - <name>Fyodor Dostoevsky</name> - <born>1821-11-11</born> - <died>1881-02-09</died> - </author> - </book> - -</lib:catalog> diff --git a/xsd/examples/cxx/tree/library/library.xsd b/xsd/examples/cxx/tree/library/library.xsd deleted file mode 100644 index b183efc..0000000 --- a/xsd/examples/cxx/tree/library/library.xsd +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/library/library.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:lib="http://www.codesynthesis.com/library" - targetNamespace="http://www.codesynthesis.com/library"> - - <xsd:simpleType name="isbn"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - <xsd:complexType name="title"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:simpleType name="genre"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="romance"/> - <xsd:enumeration value="fiction"/> - <xsd:enumeration value="horror"/> - <xsd:enumeration value="history"/> - <xsd:enumeration value="philosophy"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="born" type="xsd:date"/> - <xsd:element name="died" type="xsd:date" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="author"> - <xsd:complexContent> - <xsd:extension base="lib:person"> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="lib:book"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="book"> - <xsd:sequence> - <xsd:element name="isbn" type="lib:isbn"/> - <xsd:element name="title" type="lib:title"/> - <xsd:element name="genre" type="lib:genre"/> - <xsd:element name="author" type="lib:author" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="available" type="xsd:boolean" default="true"/> - <xsd:attribute name="id" type="xsd:ID" use="required"/> - </xsd:complexType> - - <xsd:complexType name="catalog"> - <xsd:sequence> - <xsd:element name="book" type="lib:book" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="catalog" type="lib:catalog"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/library/makefile b/xsd/examples/cxx/tree/library/makefile deleted file mode 100644 index 3db03de..0000000 --- a/xsd/examples/cxx/tree/library/makefile +++ /dev/null @@ -1,102 +0,0 @@ -# file : examples/cxx/tree/library/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := library.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-inline --generate-ostream \ ---generate-serialization -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(install_doc_dir)/xsd/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(install_doc_dir)/xsd/$(path)/library.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/library.xsd,$(dist_prefix)/$(path)/library.xsd) - $(call install-data,$(src_base)/library.xml,$(dist_prefix)/$(path)/library.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/makefile b/xsd/examples/cxx/tree/makefile deleted file mode 100644 index 172195a..0000000 --- a/xsd/examples/cxx/tree/makefile +++ /dev/null @@ -1,70 +0,0 @@ -# file : examples/cxx/tree/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -all_examples := binary caching embedded custom hello library messaging \ -mixed multiroot order performance polymorphism streaming wildcard \ -compression xpath - -build_examples := binary caching embedded custom hello library messaging \ -mixed multiroot order performance polymorphism streaming wildcard - -ifeq ($(xsd_with_zlib),y) -build_examples += compression -endif - -ifeq ($(xsd_with_xqilla),y) -build_examples += xpath -endif - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples))) - -# Install & Dist. -# -$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples))) - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): export dirs := $(shell find $(src_base) -type d -exec test -f {}/driver.cxx ';' -printf '%P ') -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,tree-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,tree-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,tree-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,tree-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,tree-vc12.sln) - $(call meta-vctest,tree-vc8.sln,$(src_root)/dist/examples/test.bat,test.bat) - -# Clean. -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples))) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) -$(call include,$(bld_root)/meta/vctest.make) - -ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile)) -else -$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile)) -endif diff --git a/xsd/examples/cxx/tree/messaging/README b/xsd/examples/cxx/tree/messaging/README deleted file mode 100644 index 435a4cf..0000000 --- a/xsd/examples/cxx/tree/messaging/README +++ /dev/null @@ -1,58 +0,0 @@ -This example shows how to handle XML vocabularies with multiple -root elements using the element type and element map features -of the C++/Tree mapping. The main purpose of element types is -to distinguish object models with the same root type but with -different root elements. The element map allows uniform parsing -and serialization of multiple root elements. - -The example consists of the following files: - -protocol.xsd - XML Schema which defines a simple bank account protocol with - requests such as withdraw and deposit. Note that some request - and response elements are of the same type. - -balance.xml -withdraw.xml -deposit.xml - Sample XML instances for the protocol requests. - -protocol.hxx -protocol.cxx - C++ types that represent the given vocabulary. These are - generated by the XSD compiler from protocol.xsd. Generation of - element types instead of parsing and serialization functions is - requested with the --generate-element-type option. Generation of - the element map is requested with the --generate-element-map - option. - -dom-parse.hxx -dom-parse.cxx - Definition and implementation of the parse() function that - parses an XML document to a DOM document. - -dom-serialize.hxx -dom-serialize.cxx - Definition and implementation of the serialize() function that - serializes a DOM document to XML. - -driver.cxx - Driver for the example. It first calls the above-mentioned parse() - function to parse the input file to a DOM document. It then calls - the parse() function on the element map to parse the root document - element to the object model. The object model is returned as a - pointer to xml_schema::element_type which is a common base type for - all element types. The driver then determines which request it has - received either using RTTI or by comparing the root element names. - Once the request type is determined, information about it is printed - to STDERR and the corresponding response is created. Finally, the - driver serializes the opaque response object to a DOM document - using the element map and then serializes this DOM document to - STDOUT using the above-mentioned serialize() function. - -To run the example on the sample XML request documents simply -execute: - -$ ./driver balance.xml -$ ./driver withdraw.xml -$ ./driver deposit.xml diff --git a/xsd/examples/cxx/tree/messaging/balance.xml b/xsd/examples/cxx/tree/messaging/balance.xml deleted file mode 100644 index 83b9692..0000000 --- a/xsd/examples/cxx/tree/messaging/balance.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/messaging/balance.xml -copyright : not copyrighted - public domain - ---> - -<p:balance xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - -</p:balance> diff --git a/xsd/examples/cxx/tree/messaging/deposit.xml b/xsd/examples/cxx/tree/messaging/deposit.xml deleted file mode 100644 index c59153d..0000000 --- a/xsd/examples/cxx/tree/messaging/deposit.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/messaging/deposit.xml -copyright : not copyrighted - public domain - ---> - -<p:deposit xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:deposit> diff --git a/xsd/examples/cxx/tree/messaging/dom-parse.cxx b/xsd/examples/cxx/tree/messaging/dom-parse.cxx deleted file mode 100644 index 61f9f4a..0000000 --- a/xsd/examples/cxx/tree/messaging/dom-parse.cxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : examples/cxx/tree/messaging/dom-parse.cxx -// copyright : not copyrighted - public domain - -#include "dom-parse.hxx" - -#include <istream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -xml::dom::auto_ptr<DOMDocument> -parse (std::istream& is, const std::string& id, bool validate) -{ - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable/Disable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, validate); - conf->setParameter (XMLUni::fgXercesSchema, validate); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Prepare input stream. - // - xml::sax::std_input_source isrc (is, id); - Wrapper4InputSource wrap (&isrc, false); - - xml::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<tree::parsing<char> > (); - - return doc; -} diff --git a/xsd/examples/cxx/tree/messaging/dom-parse.hxx b/xsd/examples/cxx/tree/messaging/dom-parse.hxx deleted file mode 100644 index 6eccacd..0000000 --- a/xsd/examples/cxx/tree/messaging/dom-parse.hxx +++ /dev/null @@ -1,22 +0,0 @@ -// file : examples/cxx/tree/messaging/dom-parse.hxx -// copyright : not copyrighted - public domain - -#ifndef DOM_PARSE -#define DOM_PARSE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -// Parse an XML document from the standard input stream with an -// optional resource id. Resource id is used in diagnostics as -// well as to locate schemas referenced from inside the document. -// -xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate); - -#endif // DOM_PARSE diff --git a/xsd/examples/cxx/tree/messaging/dom-serialize.cxx b/xsd/examples/cxx/tree/messaging/dom-serialize.cxx deleted file mode 100644 index dbf3370..0000000 --- a/xsd/examples/cxx/tree/messaging/dom-serialize.cxx +++ /dev/null @@ -1,64 +0,0 @@ -// file : examples/cxx/tree/messaging/dom-serialize.cxx -// copyright : not copyrighted - public domain - -#include "dom-serialize.hxx" - -#include <ostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/serialization-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -void -serialize (std::ostream& os, - const xercesc::DOMDocument& doc, - const std::string& encoding) -{ - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - - xml::dom::ostream_format_target oft (os); - - // Create a DOMSerializer. - // - xml::dom::auto_ptr<DOMLSSerializer> writer ( - impl->createLSSerializer ()); - - DOMConfiguration* conf (writer->getDomConfig ()); - - // Set error handler. - // - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Set some generally nice features. - // - conf->setParameter (XMLUni::fgDOMWRTDiscardDefaultContent, true); - conf->setParameter (XMLUni::fgDOMWRTFormatPrettyPrint, true); - conf->setParameter (XMLUni::fgDOMWRTXercesPrettyPrint, false); - - xml::dom::auto_ptr<DOMLSOutput> out (impl->createLSOutput ()); - out->setEncoding (xml::string (encoding).c_str ()); - out->setByteStream (&oft); - - writer->write (&doc, out.get ()); - - eh.throw_if_failed<tree::serialization<char> > (); -} diff --git a/xsd/examples/cxx/tree/messaging/dom-serialize.hxx b/xsd/examples/cxx/tree/messaging/dom-serialize.hxx deleted file mode 100644 index f80e22b..0000000 --- a/xsd/examples/cxx/tree/messaging/dom-serialize.hxx +++ /dev/null @@ -1,20 +0,0 @@ -// file : examples/cxx/tree/messaging/dom-serialize.hxx -// copyright : not copyrighted - public domain - -#ifndef DOM_SERIALIZE -#define DOM_SERIALIZE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> - -// Serialize a DOM document to XML which is written to the standard -// output stream. -// -void -serialize (std::ostream& os, - const xercesc::DOMDocument& doc, - const std::string& encoding = "UTF-8"); - -#endif // DOM_SERIALIZE diff --git a/xsd/examples/cxx/tree/messaging/driver.cxx b/xsd/examples/cxx/tree/messaging/driver.cxx deleted file mode 100644 index 095e2cd..0000000 --- a/xsd/examples/cxx/tree/messaging/driver.cxx +++ /dev/null @@ -1,144 +0,0 @@ -// file : examples/cxx/tree/messaging/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <string> -#include <fstream> -#include <typeinfo> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include <xsd/cxx/xml/string.hxx> - -#include "dom-parse.hxx" -#include "dom-serialize.hxx" - -#include "protocol.hxx" - -using namespace std; -using namespace protocol; -using namespace xercesc; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " request.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we - // are doing the XML-to-DOM parsing ourselves. - // - XMLPlatformUtils::Initialize (); - - try - { - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - auto_ptr<xml_schema::element_type> req, res; - - // Parse the XML request to a DOM document using the parse() - // function from dom-parse.hxx. - // - { - xml_schema::dom::auto_ptr<DOMDocument> doc (parse (ifs, argv[1], true)); - DOMElement& root (*doc->getDocumentElement ()); - - req = xml_schema::element_map::parse (root); - } - - // We can test which request we've got either using RTTI or by - // comparing the element names, as shown below. - // - if (balance* b = dynamic_cast<balance*> (req.get ())) - { - account_t& a (b->value ()); - - cerr << "balance request for acc# " << a.account () << endl; - - res.reset (new success (balance_t (a.account (), 1000))); - } - else if (req->_name () == withdraw::name ()) - { - withdraw& w (static_cast<withdraw&> (*req)); - change_t& c (w.value ()); - - wcerr << "withdrawal request for acc# " << c.account () << ", " - << "amount: " << c.amount () << endl; - - if (c.amount () > 1000) - res.reset (new insufficient_funds (balance_t (c.account (), 1000))); - else - res.reset (new success (balance_t (c.account (), 1000 - c.amount ()))); - - } - else if (req->_name () == deposit::name ()) - { - deposit& d (static_cast<deposit&> (*req)); - change_t& c (d.value ()); - - wcerr << "deposit request for acc# " << c.account () << ", " - << "amount: " << c.amount () << endl; - - res.reset (new success (balance_t (c.account (), 1000 + c.amount ()))); - } - - // Serialize the response to a DOM document. - // - namespace xml = xsd::cxx::xml; - - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - const string& name (res->_name ()); - const string& ns (res->_namespace ()); - - xml_schema::dom::auto_ptr<DOMDocument> doc ( - impl->createDocument ( - xml::string (ns).c_str (), - xml::string ("p:" + name).c_str (), - 0)); - - xml_schema::element_map::serialize (*doc->getDocumentElement (), *res); - - // Serialize the DOM document to XML using the serialize() function - // from dom-serialize.hxx. - // - cout << "response:" << endl - << endl; - - serialize (cout, *doc); - } - catch (const xml_schema::no_element_info& e) - { - // This exception indicates that we tried to parse or serialize - // an unknown element. - // - cerr << "unknown request: " << e.element_namespace () << "#" << - e.element_name () << endl; - r = 1; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/messaging/makefile b/xsd/examples/cxx/tree/messaging/makefile deleted file mode 100644 index 309147a..0000000 --- a/xsd/examples/cxx/tree/messaging/makefile +++ /dev/null @@ -1,117 +0,0 @@ -# file : examples/cxx/tree/messaging/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := protocol.xsd -cxx := driver.cxx dom-parse.cxx dom-serialize.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += --root-element-all --generate-element-type \ ---generate-element-map --generate-serialization - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(install_doc_dir)/xsd/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(install_doc_dir)/xsd/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(install_doc_dir)/xsd/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(install_doc_dir)/xsd/$(path)/withdraw.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx) - $(call install-data,$(src_base)/dom-serialize.hxx,$(install_doc_dir)/xsd/$(path)/dom-serialize.hxx) - $(call install-data,$(src_base)/dom-serialize.cxx,$(install_doc_dir)/xsd/$(path)/dom-serialize.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(dist_prefix)/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(dist_prefix)/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(dist_prefix)/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(dist_prefix)/$(path)/withdraw.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(dist_prefix)/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(dist_prefix)/$(path)/dom-parse.cxx) - $(call install-data,$(src_base)/dom-serialize.hxx,$(dist_prefix)/$(path)/dom-serialize.hxx) - $(call install-data,$(src_base)/dom-serialize.cxx,$(dist_prefix)/$(path)/dom-serialize.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/messaging/protocol.xsd b/xsd/examples/cxx/tree/messaging/protocol.xsd deleted file mode 100644 index b371ba7..0000000 --- a/xsd/examples/cxx/tree/messaging/protocol.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/messaging/protocol.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:p="http://www.codesynthesis.com/protocol" - targetNamespace="http://www.codesynthesis.com/protocol"> - - <!-- types --> - - <xsd:complexType name="account_t"> - <xsd:sequence> - <xsd:element name="account" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="change_t"> - <xsd:complexContent> - <xsd:extension base="p:account_t"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="balance_t"> - <xsd:complexContent> - <xsd:extension base="p:account_t"> - <xsd:sequence> - <xsd:element name="balance" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <!-- request elements --> - - <xsd:element name="balance" type="p:account_t"/> - <xsd:element name="withdraw" type="p:change_t"/> - <xsd:element name="deposit" type="p:change_t"/> - - <!-- response elements --> - - <xsd:element name="success" type="p:balance_t"/> - <xsd:element name="insufficient-funds" type="p:balance_t"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/messaging/withdraw.xml b/xsd/examples/cxx/tree/messaging/withdraw.xml deleted file mode 100644 index 1f309f3..0000000 --- a/xsd/examples/cxx/tree/messaging/withdraw.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/messaging/withdraw.xml -copyright : not copyrighted - public domain - ---> - -<p:withdraw xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:withdraw> diff --git a/xsd/examples/cxx/tree/mixed/README b/xsd/examples/cxx/tree/mixed/README deleted file mode 100644 index fc23faa..0000000 --- a/xsd/examples/cxx/tree/mixed/README +++ /dev/null @@ -1,45 +0,0 @@ -This example shows how to access the underlying DOM nodes in the -C++/Tree mapping in order to handle raw, "type-less content" such -as mixed content models, anyType/anySimpleType, and any/anyAttribute. - -For an alternative (and recommended) approach that employs ordered -types see the order/mixed example. - -For an alternative approach that employes type customization see -examples in the custom/ directory, in particular, custom/mixed and -custom/wildcard. - -In this example we use mixed content model to describe text with -embedded links, e.g., - - This paragraph talks about <a href="uri">time</a>. - -The example transforms such text into plain text with references, e.g., - - This paragraph talks about time[0]. - - [0] uri - -The example consists of the following files: - -text.xsd - XML Schema which describes "text with links" instance documents. - -text.xml - Sample XML instance document. - -text.hxx -text.cxx - C++ types that represent the given vocabulary and a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model. These are generated by XSD from text.xsd. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then uses - both the underlying DOM and statically-typed mapping to perform the - transformation. - -To run the example on the sample XML instance document simply execute: - -$ ./driver text.xml diff --git a/xsd/examples/cxx/tree/mixed/driver.cxx b/xsd/examples/cxx/tree/mixed/driver.cxx deleted file mode 100644 index 17c3b55..0000000 --- a/xsd/examples/cxx/tree/mixed/driver.cxx +++ /dev/null @@ -1,122 +0,0 @@ -// file : examples/cxx/tree/mixed/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include <xercesc/dom/DOM.hpp> - -#include "text.hxx" - -// The following transcode() utility function is handy when working with -// Xerces. Include it after the generated header in order to get only char -// or wchar_t version depending on how you compiled your schemas. -// -#include <xsd/cxx/xml/string.hxx> - -using std::cout; -using std::cerr; -using std::endl; -using std::auto_ptr; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " text.xml" << endl; - return 1; - } - - using namespace xercesc; - - int r (0); - - // The Xerces-C++ DOM objects that will be associated with the - // document tree "out-live" the call to the parsing function. - // Therefore we need to initialize the Xerces-C++ runtime - // ourselves. - // - XMLPlatformUtils::Initialize (); - - try - { - auto_ptr<text> t ( - text_ (argv[1], - xml_schema::flags::keep_dom | - xml_schema::flags::dont_initialize)); - - // The DOM association can be recreated in a copy (the underlying - // DOM document is cloned) if explicitly requested with the keep_dom - // flag and only if this copy is "complete", i.e., made from the root - // of the tree. - // - text copy (*t, xml_schema::flags::keep_dom); - - // Print text. - // - { - namespace xml = xsd::cxx::xml; - - unsigned long ref (0); - DOMNode* root (copy._node ()); - - for (DOMNode* n (root->getFirstChild ()); - n != 0; - n = n->getNextSibling ()) - { - switch (n->getNodeType ()) - { - case DOMNode::TEXT_NODE: - { - cout << xml::transcode<char> (n->getTextContent ()); - break; - } - case DOMNode::ELEMENT_NODE: - { - // Let's get back to a tree node from this DOM node. - // - xml_schema::type& t ( - *reinterpret_cast<xml_schema::type*> ( - n->getUserData (xml_schema::dom::tree_node_key))); - - anchor& a (dynamic_cast<anchor&> (t)); - - cout << a << "[" << ref << "]"; - - // Or we could continue using DOM interface: - // - //cout << xml::transcode<char> (n->getTextContent ()) - // << "[" << ref << "]"; - - ++ref; - break; - } - default: - break; // Ignore all other nodes (e.g., comments, etc). - } - } - } - - // Print references. - // - { - unsigned long r (0); - - for (text::a_const_iterator i (copy.a ().begin ()); - i != copy.a ().end (); - ++i, ++r) - { - cout << "[" << r << "] " << i->href () << endl; - } - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/mixed/makefile b/xsd/examples/cxx/tree/mixed/makefile deleted file mode 100644 index 7c001f0..0000000 --- a/xsd/examples/cxx/tree/mixed/makefile +++ /dev/null @@ -1,102 +0,0 @@ -# file : examples/cxx/tree/mixed/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := text.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(install_doc_dir)/xsd/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(install_doc_dir)/xsd/$(path)/text.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(dist_prefix)/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(dist_prefix)/$(path)/text.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/mixed/text.xml b/xsd/examples/cxx/tree/mixed/text.xml deleted file mode 100644 index 21e32af..0000000 --- a/xsd/examples/cxx/tree/mixed/text.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/mixed/text.xml -copyright : not copyrighted - public domain - ---> - -<text xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="text.xsd"> - -The first paragraph of this text talks about <a href="http://en.wikipedia.org/wiki/time">time</a>. - -And this paragraph talks about <a href="http://en.wikipedia.org/wiki/space">space</a>. - -</text> diff --git a/xsd/examples/cxx/tree/mixed/text.xsd b/xsd/examples/cxx/tree/mixed/text.xsd deleted file mode 100644 index 9777f8a..0000000 --- a/xsd/examples/cxx/tree/mixed/text.xsd +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/mixed/text.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="anchor"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="href" type="xsd:anyURI" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="text" mixed="true"> - <xsd:sequence> - <xsd:element name="a" type="anchor" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="text" type="text"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/multiroot/README b/xsd/examples/cxx/tree/multiroot/README deleted file mode 100644 index b742422..0000000 --- a/xsd/examples/cxx/tree/multiroot/README +++ /dev/null @@ -1,45 +0,0 @@ -This example shows how to handle XML vocabularies with multiple -root elements using the C++/Tree mapping. - -See also the messaging example for an alternative approach that -uses the element type and element map features of the C++/Tree -mapping. - -The example consists of the following files: - -protocol.xsd - XML Schema which defines a simple bank account protocol with - requests such as withdraw and deposit. - -balance.xml -withdraw.xml -deposit.xml - Sample XML instances for the protocol requests. - -protocol.hxx -protocol.cxx - C++ types that represent the given vocabulary and a set of - parsing functions that convert XML documents to a tree-like - in-memory object model. These are generated by XSD from - protocol.xsd. - -dom-parse.hxx -dom-parse.cxx - Definition and implementation of the parse() function that - parses an XML document to a DOM document. - -driver.cxx - Driver for the example. It first calls the above parse() function - to parse the input file to a DOM document. It then determines the - type of request being handled and calls the corresponding parsing - function that constructs the object model from this DOM document. - Finally, it prints the content of this object model to STDERR. - This example intentionally does not support the deposit request - to show how to handle unknown documents. - -To run the example on the sample XML request documents simply -execute: - -$ ./driver balance.xml -$ ./driver withdraw.xml -$ ./driver deposit.xml diff --git a/xsd/examples/cxx/tree/multiroot/balance.xml b/xsd/examples/cxx/tree/multiroot/balance.xml deleted file mode 100644 index 68b434a..0000000 --- a/xsd/examples/cxx/tree/multiroot/balance.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/multiroot/balance.xml -copyright : not copyrighted - public domain - ---> - -<p:balance xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - -</p:balance> diff --git a/xsd/examples/cxx/tree/multiroot/deposit.xml b/xsd/examples/cxx/tree/multiroot/deposit.xml deleted file mode 100644 index 4d9449a..0000000 --- a/xsd/examples/cxx/tree/multiroot/deposit.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/multiroot/deposit.xml -copyright : not copyrighted - public domain - ---> - -<p:deposit xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:deposit> diff --git a/xsd/examples/cxx/tree/multiroot/dom-parse.cxx b/xsd/examples/cxx/tree/multiroot/dom-parse.cxx deleted file mode 100644 index 98fc82e..0000000 --- a/xsd/examples/cxx/tree/multiroot/dom-parse.cxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : examples/cxx/tree/multiroot/dom-parse.cxx -// copyright : not copyrighted - public domain - -#include "dom-parse.hxx" - -#include <istream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -xml::dom::auto_ptr<DOMDocument> -parse (std::istream& is, const std::string& id, bool validate) -{ - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable/Disable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, validate); - conf->setParameter (XMLUni::fgXercesSchema, validate); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Prepare input stream. - // - xml::sax::std_input_source isrc (is, id); - Wrapper4InputSource wrap (&isrc, false); - - xml::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<tree::parsing<char> > (); - - return doc; -} diff --git a/xsd/examples/cxx/tree/multiroot/dom-parse.hxx b/xsd/examples/cxx/tree/multiroot/dom-parse.hxx deleted file mode 100644 index c2ab0fb..0000000 --- a/xsd/examples/cxx/tree/multiroot/dom-parse.hxx +++ /dev/null @@ -1,22 +0,0 @@ -// file : examples/cxx/tree/multiroot/dom-parse.hxx -// copyright : not copyrighted - public domain - -#ifndef DOM_PARSE -#define DOM_PARSE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -// Parse an XML document from the standard input stream with an -// optional resource id. Resource id is used in diagnostics as -// well as to locate schemas referenced from inside the document. -// -xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate); - -#endif // DOM_PARSE diff --git a/xsd/examples/cxx/tree/multiroot/driver.cxx b/xsd/examples/cxx/tree/multiroot/driver.cxx deleted file mode 100644 index 9497ef1..0000000 --- a/xsd/examples/cxx/tree/multiroot/driver.cxx +++ /dev/null @@ -1,124 +0,0 @@ -// file : examples/cxx/tree/multiroot/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <string> -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include "dom-parse.hxx" - -#include "protocol.hxx" - -using namespace std; -using namespace protocol; - -// Parse an XML document and return a pointer to request_t which can -// then be tested with dynamic_cast. If your vocabulary does not have -// a common base type for all root element types then you can use -// xml_schema::type which is a base for all generated types. -// -auto_ptr<request_t> -parse (istream& is, const string& id) -{ - using namespace xercesc; - namespace xml = xsd::cxx::xml; - - // Parse an XML instance to a DOM document using the parse() - // function from dom-parse.hxx. - // - xml_schema::dom::auto_ptr<DOMDocument> doc (parse (is, id, true)); - - DOMElement* root (doc->getDocumentElement ()); - - string ns (xml::transcode<char> (root->getNamespaceURI ())); - string name (xml::transcode<char> (root->getLocalName ())); - - auto_ptr<request_t> r; - - // We could have handled the result directly in this function - // instead of returning it as an opaque pointer and using - // dynamic_cast later to figure out which request we are dealing - // with. - // - if (ns == "http://www.codesynthesis.com/protocol") - { - if (name == "balance") - { - // Use the balance parsing function. - // - r.reset (balance (*doc).release ()); - } - else if (name == "withdraw") - { - // Use the withdraw parsing function. - // - r.reset (withdraw (*doc).release ()); - } - } - - if (r.get () == 0) - cerr << "ignoring unknown request: " << ns << "#" << name << endl; - - return r; -} - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " request.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we - // are doing the XML-to-DOM parsing ourselves. - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - auto_ptr<request_t> r (parse (ifs, argv[1])); - - // Let's print what we've got. - // - if (balance_t* b = dynamic_cast<balance_t*> (r.get ())) - { - cerr << "balance request for acc# " << b->account () << endl; - } - else if (withdraw_t* w = dynamic_cast<withdraw_t*> (r.get ())) - { - cerr << "withdrawal request for acc# " << w->account () << ", " - << "amount: " << w->amount () << endl; - } - else - { - cerr << "unknown request" << endl; - } - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/multiroot/makefile b/xsd/examples/cxx/tree/multiroot/makefile deleted file mode 100644 index 4d6c907..0000000 --- a/xsd/examples/cxx/tree/multiroot/makefile +++ /dev/null @@ -1,109 +0,0 @@ -# file : examples/cxx/tree/multiroot/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := protocol.xsd -cxx := driver.cxx dom-parse.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --root-element-all -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(install_doc_dir)/xsd/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(install_doc_dir)/xsd/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(install_doc_dir)/xsd/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(install_doc_dir)/xsd/$(path)/withdraw.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/protocol.xsd,$(dist_prefix)/$(path)/protocol.xsd) - $(call install-data,$(src_base)/balance.xml,$(dist_prefix)/$(path)/balance.xml) - $(call install-data,$(src_base)/deposit.xml,$(dist_prefix)/$(path)/deposit.xml) - $(call install-data,$(src_base)/withdraw.xml,$(dist_prefix)/$(path)/withdraw.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(dist_prefix)/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(dist_prefix)/$(path)/dom-parse.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/multiroot/protocol.xsd b/xsd/examples/cxx/tree/multiroot/protocol.xsd deleted file mode 100644 index 1121824..0000000 --- a/xsd/examples/cxx/tree/multiroot/protocol.xsd +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/multiroot/protocol.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:p="http://www.codesynthesis.com/protocol" - targetNamespace="http://www.codesynthesis.com/protocol"> - - <xsd:complexType name="request_t"> - <xsd:sequence> - <xsd:element name="account" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="balance_t"> - <xsd:complexContent> - <xsd:extension base="p:request_t"/> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="withdraw_t"> - <xsd:complexContent> - <xsd:extension base="p:request_t"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="deposit_t"> - <xsd:complexContent> - <xsd:extension base="p:request_t"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="balance" type="p:balance_t"/> - <xsd:element name="withdraw" type="p:withdraw_t"/> - <xsd:element name="deposit" type="p:deposit_t"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/multiroot/withdraw.xml b/xsd/examples/cxx/tree/multiroot/withdraw.xml deleted file mode 100644 index 8f1dc54..0000000 --- a/xsd/examples/cxx/tree/multiroot/withdraw.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/multiroot/withdraw.xml -copyright : not copyrighted - public domain - ---> - -<p:withdraw xmlns:p="http://www.codesynthesis.com/protocol" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/protocol protocol.xsd"> - - <account>123456789</account> - <amount>1000000</amount> - -</p:withdraw> diff --git a/xsd/examples/cxx/tree/order/README b/xsd/examples/cxx/tree/order/README deleted file mode 100644 index 7125a2d..0000000 --- a/xsd/examples/cxx/tree/order/README +++ /dev/null @@ -1,11 +0,0 @@ -This directory contains a number of examples that show how to use ordered -types to capture and maintain content order. The following list gives an -overview of each example: - -element - Shows how to use ordered types to capture and maintain element order, - including element wildcards. - -mixed - Shows how to use ordered types to capture mixed content text and to - maintain order information between elements and text. diff --git a/xsd/examples/cxx/tree/order/element/README b/xsd/examples/cxx/tree/order/element/README deleted file mode 100644 index 19f2381..0000000 --- a/xsd/examples/cxx/tree/order/element/README +++ /dev/null @@ -1,35 +0,0 @@ -This example shows how to use ordered types to capture and maintain -element order, including element wildcards. - -The example consists of the following files: - -transactions.xsd - XML Schema which describes various bank transactions. A batch of - transactions can contain any number of different transactions in - any order but the order of transaction in the batch is significant. - -library.xml - Sample XML instance document. - -transactions.hxx -transactions.cxx - C++ types that represent the given vocabulary as well as a set of - parsing and serialization functions. These are generated by XSD - from transactions.xsd. Note that the --ordered-type option is - used to indicate to the XSD compiler that the batch type is - ordered. We also use the --generate-wildcard option to enable - wildcard support. An element wildcard is used in the batch to - allow transaction extensions. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input XML file. It then - iterates over transactions in the batch using the content order - sequence. The driver then performs various modifications of the - object model while showing how to maintain the content order. - Finally, it saves the modified transaction batch back to XML to - verify that the content order is preserved in the output document. - -To run the example on the sample XML instance document simply execute: - -$ ./driver transactions.xml diff --git a/xsd/examples/cxx/tree/order/element/driver.cxx b/xsd/examples/cxx/tree/order/element/driver.cxx deleted file mode 100644 index 0ea6d6f..0000000 --- a/xsd/examples/cxx/tree/order/element/driver.cxx +++ /dev/null @@ -1,147 +0,0 @@ -// file : examples/cxx/tree/order/element/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cassert> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "transactions.hxx" - -// The following string class keeps us sane when working with Xerces. -// Include it after the generated header in order to get only char or -// wchar_t version depending on how you compiled your schemas. -// -#include <xsd/cxx/xml/string.hxx> - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " transactions.xml" << endl; - return 1; - } - - using namespace xercesc; - - int r (0); - - // The Xerces-C++ DOM objects that will be used to store the - // content matched by the wildcard "out-lives" the call to the - // parsing function. Therefore we need to initialize the - // Xerces-C++ runtime ourselves. - // - XMLPlatformUtils::Initialize (); - - try - { - using namespace transactions; - - // Parse the batch. - // - std::auto_ptr<batch> b ( - batch_ (argv[1], xml_schema::flags::dont_initialize)); - - // Print what we've got in content order. - // - for (batch::content_order_const_iterator i (b->content_order ().begin ()); - i != b->content_order ().end (); - ++i) - { - switch (i->id) - { - case batch::balance_id: - { - const balance& t (b->balance ()[i->index]); - cerr << t.account () << " balance" << endl; - break; - } - case batch::withdraw_id: - { - const withdraw& t (b->withdraw ()[i->index]); - cerr << t.account () << " withdraw " << t.amount () << endl; - break; - } - case batch::deposit_id: - { - const deposit& t (b->deposit ()[i->index]); - cerr << t.account () << " deposit " << t.amount () << endl; - break; - } - case batch::any_id: - { - namespace xml = xsd::cxx::xml; - - const DOMElement& e (b->any ()[i->index]); - cerr << xml::transcode<char> (e.getLocalName ()) << endl; - break; - } - default: - { - assert (false); // Unknown content id. - } - } - } - - cerr << endl; - - // Modify the transaction batch. First remove the last transaction. - // Note that we have to update both the content itself and content - // order sequences. - // - batch::content_order_sequence& co (b->content_order ()); - - co.pop_back (); - b->withdraw ().pop_back (); - - // Now add a few more transactions. Again we have to add both the - // content and its ordering. The order information consists of the - // content id and, in case of a sequence, the index. - // - b->deposit ().push_back (deposit (123456789, 100000)); - co.push_back ( - batch::content_order_type ( - batch::deposit_id, b->deposit ().size () - 1)); - - // The next transaction we add at the beginning of the batch. - // - b->balance ().push_back (balance (123456789)); - co.insert (co.begin (), - batch::content_order_type ( - batch::balance_id, b->balance ().size () - 1)); - - // Note also that when we merely modify the content of one - // of the elements in place, we don't need to update its - // order. For example: - // - b->deposit ()[0].amount (2000000); - - // Serialize the modified transaction batch back to XML. - // - xml_schema::namespace_infomap map; - - map[""].name = "http://www.codesynthesis.com/transactions"; - map[""].schema = "transactions.xsd"; - map["te"].name = "http://www.codesynthesis.com/transactions-extras"; - - batch_ (std::cout, - *b, - map, - "UTF-8", - xml_schema::flags::dont_initialize); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/order/element/makefile b/xsd/examples/cxx/tree/order/element/makefile deleted file mode 100644 index 272c17f..0000000 --- a/xsd/examples/cxx/tree/order/element/makefile +++ /dev/null @@ -1,100 +0,0 @@ -# file : examples/cxx/tree/order/element/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := transactions.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) -lnsl - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --generate-wildcard \ ---ordered-type batch -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/transactions.xsd,$(install_doc_dir)/xsd/$(path)/transactions.xsd) - $(call install-data,$(src_base)/transactions.xml,$(install_doc_dir)/xsd/$(path)/transactions.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/transactions.xsd,$(dist_prefix)/$(path)/transactions.xsd) - $(call install-data,$(src_base)/transactions.xml,$(dist_prefix)/$(path)/transactions.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/order/element/transactions.xml b/xsd/examples/cxx/tree/order/element/transactions.xml deleted file mode 100644 index 4c317c2..0000000 --- a/xsd/examples/cxx/tree/order/element/transactions.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/order/element/transactions.xml -copyright : not copyrighted - public domain - ---> - -<batch xmlns="http://www.codesynthesis.com/transactions" - xmlns:te="http://www.codesynthesis.com/transactions-extras" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/transactions transactions.xsd"> - <deposit> - <account>123456789</account> - <amount>1000000</amount> - </deposit> - - <balance> - <account>123456789</account> - </balance> - - <te:block> - <account>123456789</account> - <amount>500000</amount> - </te:block> - - <withdraw> - <account>123456789</account> - <amount>500000</amount> - </withdraw> -</batch> diff --git a/xsd/examples/cxx/tree/order/element/transactions.xsd b/xsd/examples/cxx/tree/order/element/transactions.xsd deleted file mode 100644 index 053aac4..0000000 --- a/xsd/examples/cxx/tree/order/element/transactions.xsd +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/order/element/transactions.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:t="http://www.codesynthesis.com/transactions" - targetNamespace="http://www.codesynthesis.com/transactions" - elementFormDefault="qualified"> - - <xsd:complexType name="transaction"> - <xsd:sequence> - <xsd:element name="account" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="balance"> - <xsd:complexContent> - <xsd:extension base="t:transaction"/> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="withdraw"> - <xsd:complexContent> - <xsd:extension base="t:transaction"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="deposit"> - <xsd:complexContent> - <xsd:extension base="t:transaction"> - <xsd:sequence> - <xsd:element name="amount" type="xsd:unsignedInt"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="batch"> - <xsd:choice minOccurs="0" maxOccurs="unbounded"> - <xsd:element name="balance" type="t:balance"/> - <xsd:element name="withdraw" type="t:withdraw"/> - <xsd:element name="deposit" type="t:deposit"/> - <xsd:any namespace="##other" processContents="lax"/> - </xsd:choice> - </xsd:complexType> - - <xsd:element name="batch" type="t:batch"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/order/makefile b/xsd/examples/cxx/tree/order/makefile deleted file mode 100644 index 2424e2b..0000000 --- a/xsd/examples/cxx/tree/order/makefile +++ /dev/null @@ -1,44 +0,0 @@ -# file : examples/cxx/tree/order/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -all_examples := element mixed -build_examples := element mixed - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Build. -# -$(default): $(addprefix $(out_base)/,$(addsuffix /,$(build_examples))) - -# Install & Dist. -# -$(install) $(dist) $(dist-win): path := $(subst $(src_root)/,,$(src_base)) - -$(install): $(addprefix $(out_base)/,$(addsuffix /.install,$(all_examples))) - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - -$(dist): $(addprefix $(out_base)/,$(addsuffix /.dist,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(addprefix $(out_base)/,$(addsuffix /.dist-win,$(all_examples))) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(addprefix $(out_base)/,$(addsuffix /.clean,$(build_examples))) - -$(call include,$(bld_root)/install.make) - -ifneq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(foreach e,$(all_examples),$(call import,$(src_base)/$e/makefile)) -else -$(foreach e,$(build_examples),$(call import,$(src_base)/$e/makefile)) -endif diff --git a/xsd/examples/cxx/tree/order/mixed/README b/xsd/examples/cxx/tree/order/mixed/README deleted file mode 100644 index e66c1ad..0000000 --- a/xsd/examples/cxx/tree/order/mixed/README +++ /dev/null @@ -1,45 +0,0 @@ -This example shows how to use ordered types to capture mixed content -text and to maintain order information between elements and text. - -In this example we use mixed content model to describe text with -embedded links in the form: - - This paragraph talks about <a href="uri">time</a>. - -The example transforms such text into plain text with references in -the form: - - This paragraph talks about time[uri]. - -It also saves the modified text back to XML in order to verify the -element and text order. - -The example consists of the following files: - -text.xsd - XML Schema which describes "text with links" instance documents. - -text.xml - Sample XML instance document. - -text.hxx -text.cxx - C++ types that represent the given vocabulary as well as a set of - parsing and serialization functions. These are generated by XSD - from text.xsd. Note that the --ordered-type-mixed option is used - to indicate to the XSD compiler that all types with mixed content - should be automatically treated as ordered. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input XML file. It then - iterates over the text and elements in the content order to convert - the document to its plain text representation. The driver then adds - another paragraph of text and a link to the object model while showing - how to maintain the content order. Finally, it saves the modified - text back to XML to verify that the content order is preserved in - the output document. - -To run the example on the sample XML instance document simply execute: - -$ ./driver text.xml diff --git a/xsd/examples/cxx/tree/order/mixed/driver.cxx b/xsd/examples/cxx/tree/order/mixed/driver.cxx deleted file mode 100644 index 9606b67..0000000 --- a/xsd/examples/cxx/tree/order/mixed/driver.cxx +++ /dev/null @@ -1,89 +0,0 @@ -// file : examples/cxx/tree/order/mixed/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cassert> -#include <iostream> - -#include "text.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " text.xml" << endl; - return 1; - } - - try - { - std::auto_ptr<text> t (text_ (argv[1])); - - // Print what we've got in content order. - // - for (text::content_order_const_iterator i (t->content_order ().begin ()); - i != t->content_order ().end (); - ++i) - { - switch (i->id) - { - case text::a_id: - { - const anchor& a (t->a ()[i->index]); - cerr << a << "[" << a.href () << "]"; - break; - } - case text::text_content_id: - { - const xml_schema::string& s (t->text_content ()[i->index]); - cerr << s; - break; - } - default: - { - assert (false); // Unknown content id. - } - } - } - - cerr << endl; - - // Modify the document. Note that we have to update both the content - // itself and content order sequences. - // - typedef text::content_order_type order_type; - - text::content_order_sequence& co (t->content_order ()); - text::text_content_sequence& tc (t->text_content ()); - - tc.push_back ("The last paragraph doesn't talk about "); - co.push_back (order_type (text::text_content_id, tc.size () - 1)); - - t->a ().push_back (anchor ("anything", "http://en.wikipedia.org")); - co.push_back (order_type (text::a_id, t->a ().size () - 1)); - - tc.push_back (" in particular.\n\n"); - co.push_back (order_type (text::text_content_id, tc.size () - 1)); - - // Serialize the modified document back to XML. - // - xml_schema::namespace_infomap map; - - map[""].schema = "text.xsd"; - - text_ (std::cout, - *t, - map, - "UTF-8", - xml_schema::flags::dont_pretty_print); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/order/mixed/makefile b/xsd/examples/cxx/tree/order/mixed/makefile deleted file mode 100644 index 311ce52..0000000 --- a/xsd/examples/cxx/tree/order/mixed/makefile +++ /dev/null @@ -1,99 +0,0 @@ -# file : examples/cxx/tree/order/mixed/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := text.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) -lnsl - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --ordered-type-mixed -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(install_doc_dir)/xsd/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(install_doc_dir)/xsd/$(path)/text.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/text.xsd,$(dist_prefix)/$(path)/text.xsd) - $(call install-data,$(src_base)/text.xml,$(dist_prefix)/$(path)/text.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/order/mixed/text.xml b/xsd/examples/cxx/tree/order/mixed/text.xml deleted file mode 100644 index ac80159..0000000 --- a/xsd/examples/cxx/tree/order/mixed/text.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/order/mixed/text.xml -copyright : not copyrighted - public domain - ---> - -<text xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="text.xsd"> - -The first paragraph of this text talks about <a href="http://en.wikipedia.org/wiki/time">time</a>. - -And this paragraph talks about <a href="http://en.wikipedia.org/wiki/space">space</a>. - -</text> diff --git a/xsd/examples/cxx/tree/order/mixed/text.xsd b/xsd/examples/cxx/tree/order/mixed/text.xsd deleted file mode 100644 index e45abcd..0000000 --- a/xsd/examples/cxx/tree/order/mixed/text.xsd +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/order/mixed/text.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="anchor"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="href" type="xsd:anyURI" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="text" mixed="true"> - <xsd:sequence> - <xsd:element name="a" type="anchor" minOccurs="0" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="text" type="text"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/performance/README b/xsd/examples/cxx/tree/performance/README deleted file mode 100644 index cb79cc2..0000000 --- a/xsd/examples/cxx/tree/performance/README +++ /dev/null @@ -1,58 +0,0 @@ -This example measures the performance of parsing and serialization in -the C++/Tree mapping. It also shows how to structure your code to -achieve the maximum performance for these two operations. - -The example consists of the following files: - -test.xsd - XML Schema which describes the test vocabulary. - -test-50k.xml - Test XML document. - -gen.cxx - Program to generate a test document of desired size. - -time.hxx -time.cxx - Class definition that represents time. - -test.hxx -test.ixx -test.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML documents to a tree-like in-memory object - model, and a set of serialization functions that convert the object - model back to XML. These are generated by the XSD compiler from - test.xsd. - -parsing.cxx - Parsing performance test. It first reads the entire document into - a memory buffer. It then creates a DOM parser and pre-parses and - caches the schema if validation is enabled. Finally, it runs the - performance measurement loop which on each iteration parses the - XML document from the in-memory buffer into DOM and then DOM to - the object model. - -serialization.cxx - Serialization performance test. It first parses the XML document - into the object model. It then creates a memory buffer into which - the document is serialized and a DOM serializer. Finally, it runs - the performance measurement loop which on each iteration serializes - the object model to DOM and DOM to XML. - -driver.cxx - Driver for the example. It first parses the command line arguments. - It then initializes the Xerces-C++ runtime and calls the parsing - and serialization tests described above. - -To run the example on a test XML document simply execute: - -$ ./driver test-50k.xml - -The -v option can be used to turn on validation in the underlying XML -parser (off by default). The -i option can be used to specify the -number of parsing and serialization iterations (1000 by default). For -example: - -$ ./driver -v -i 100 test-50k.xml diff --git a/xsd/examples/cxx/tree/performance/driver.cxx b/xsd/examples/cxx/tree/performance/driver.cxx deleted file mode 100644 index b626e4d..0000000 --- a/xsd/examples/cxx/tree/performance/driver.cxx +++ /dev/null @@ -1,90 +0,0 @@ -// file : examples/cxx/tree/performance/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <sstream> -#include <iostream> - -#include <xercesc/util/PlatformUtils.hpp> - -using namespace std; - -// See parsing.cxx -// -bool -parsing (const char* file, unsigned long iter, bool validate); - -// See serialization.cxx -// -bool -serialization (const char* file, unsigned long iter); - -int -main (int argc, char* argv[]) -{ - if (argc < 2) - { - cerr << "usage: " << argv[0] << " [-v] [-i <count>] test.xml" << endl - << "\t -v turn on validation (default is off)" << endl - << "\t -i number of iterations to perform (default is 1000)" << endl; - return 1; - } - - bool validate (false); - unsigned long iter (1000); - const char* file (0); - - // Parse command line arguments. - // - for (int i (1); i < argc; ++i) - { - std::string arg (argv[i]); - - if (arg == "-v") - { - validate = true; - } - else if (arg == "-i") - { - if (++i == argc) - { - cerr << "argument expected for the -i option" << endl; - return 1; - } - - iter = 0; - istringstream is (argv[i]); - is >> iter; - - if (iter == 0) - { - cerr << "invalid argument for the -i option" << endl; - return 1; - } - } - else - { - file = argv[i]; - break; - } - } - - if (file == 0) - { - cerr << "no input file specified" << endl; - return 1; - } - - int r (0); - - xercesc::XMLPlatformUtils::Initialize (); - - // Call parsing and serialization tests. - // - if (!parsing (file, iter, validate) || !serialization (file, iter)) - r = 1; - - xercesc::XMLPlatformUtils::Terminate (); - - return r; -} diff --git a/xsd/examples/cxx/tree/performance/gen.cxx b/xsd/examples/cxx/tree/performance/gen.cxx deleted file mode 100644 index b6392c0..0000000 --- a/xsd/examples/cxx/tree/performance/gen.cxx +++ /dev/null @@ -1,76 +0,0 @@ -#include <fstream> -#include <sstream> -#include <iostream> - -using namespace std; - -static const char* enums[] = -{ - "romance", - "fiction", - "horror", - "history", - "philosophy" -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 3) - { - cerr << "usage: " << argv[0] << " <count> <output-file>" << endl; - return 1; - } - - unsigned long n (0); - istringstream is (argv[1]); - is >> n; - - if (n == 0) - { - cerr << "record count argument should be a positive number" << endl; - return 1; - } - - ofstream ofs (argv[2]); - - if (!ofs.is_open ()) - { - cerr << "unable to open '" << argv[2] << "' in write mode" << endl; - return 1; - } - - ofs << "<t:root xmlns:t='test' " << - "xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' " << - "xsi:schemaLocation='test test.xsd'>"; - - unsigned short ch (1), en (0); - - for (unsigned long i (0); i < n; ++i) - { - ofs << "<record orange=\"" << i << "\""; - - if (i % 2 == 0) - ofs << " apple=\"true\""; - - ofs << ">" - << "<int>42</int>" - << "<double>42345.4232</double>" - << "<name>name123_45</name>"; - - if (i % 2 == 1) - ofs << "<string>one two three</string>"; - - ofs << "<choice" << ch << ">" << ch << " choice</choice" << ch << ">" - << "<enum>" << enums[en] << "</enum>" - << "</record>"; - - if (++ch > 4) - ch = 1; - - if (++en > 4) - en = 0; - } - - ofs << "</t:root>"; -} diff --git a/xsd/examples/cxx/tree/performance/makefile b/xsd/examples/cxx/tree/performance/makefile deleted file mode 100644 index e6f4258..0000000 --- a/xsd/examples/cxx/tree/performance/makefile +++ /dev/null @@ -1,111 +0,0 @@ -# file : examples/cxx/tree/performance/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx parsing.cxx serialization.cxx time.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-inline --generate-serialization -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/parsing.cxx,$(install_doc_dir)/xsd/$(path)/parsing.cxx) - $(call install-data,$(src_base)/serialization.cxx,$(install_doc_dir)/xsd/$(path)/serialization.cxx) - $(call install-data,$(src_base)/test.xsd,$(install_doc_dir)/xsd/$(path)/test.xsd) - $(call install-data,$(src_base)/test-50k.xml,$(install_doc_dir)/xsd/$(path)/test-50k.xml) - $(call install-data,$(src_base)/time.hxx,$(install_doc_dir)/xsd/$(path)/time.hxx) - $(call install-data,$(src_base)/time.cxx,$(install_doc_dir)/xsd/$(path)/time.cxx) - $(call install-data,$(src_base)/gen.cxx,$(install_doc_dir)/xsd/$(path)/gen.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/parsing.cxx,$(dist_prefix)/$(path)/parsing.cxx) - $(call install-data,$(src_base)/serialization.cxx,$(dist_prefix)/$(path)/serialization.cxx) - $(call install-data,$(src_base)/test.xsd,$(dist_prefix)/$(path)/test.xsd) - $(call install-data,$(src_base)/test-50k.xml,$(dist_prefix)/$(path)/test-50k.xml) - $(call install-data,$(src_base)/time.hxx,$(dist_prefix)/$(path)/time.hxx) - $(call install-data,$(src_base)/time.cxx,$(dist_prefix)/$(path)/time.cxx) - $(call install-data,$(src_base)/gen.cxx,$(dist_prefix)/$(path)/gen.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/performance/parsing.cxx b/xsd/examples/cxx/tree/performance/parsing.cxx deleted file mode 100644 index bf7f667..0000000 --- a/xsd/examples/cxx/tree/performance/parsing.cxx +++ /dev/null @@ -1,172 +0,0 @@ -// file : examples/cxx/tree/performance/parsing.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cstddef> // std::size_t -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/dom/DOMLSParser.hpp> -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> - -#include <xercesc/validators/common/Grammar.hpp> - -#include <xercesc/framework/MemBufInputSource.hpp> -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xercesc/util/XMLUniDefs.hpp> - -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -#include "time.hxx" -#include "test.hxx" - -using namespace std; - -bool -parsing (const char* file, unsigned long iter, bool validate) -{ - try - { - cerr << "parsing:" << endl; - - ifstream ifs; - ifs.exceptions (ios_base::failbit); - ifs.open (file, ios::in | ios::ate); - - size_t size (ifs.tellg ()); - ifs.seekg (0, ios::beg); - - char* buf = new char[size]; - ifs.read (buf, size); - ifs.close (); - - cerr << " document size: " << size << " bytes" << endl - << " iterations: " << iter << endl; - - // Create XML parser that we are going to use in all iterations. - // - using namespace xercesc; - - const XMLCh ls_id[] = - {xercesc::chLatin_L, xercesc::chLatin_S, xercesc::chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - // Use the error handler implementation provided by the XSD runtime. - // - xsd::cxx::tree::error_handler<char> eh; - xsd::cxx::xml::dom::bits::error_handler_proxy<char> ehp (eh); - - xml_schema::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - conf->setParameter (XMLUni::fgDOMComments, false); - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - conf->setParameter (XMLUni::fgDOMEntities, false); - conf->setParameter (XMLUni::fgDOMNamespaces, true); - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Set error handler. - // - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - if (validate) - { - conf->setParameter (XMLUni::fgDOMValidate, true); - conf->setParameter (XMLUni::fgXercesSchema, true); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // If we are validating, pre-load and cache the schema. - // - if (!parser->loadGrammar ("test.xsd", Grammar::SchemaGrammarType, true)) - { - // In Xerces-C++ grammar loading failure results in just a warning. - // Make it a fatal error. - // - eh.handle ("test.xsd", 0, 0, - xsd::cxx::tree::error_handler<char>::severity::fatal, - "unable to load schema"); - } - - eh.throw_if_failed<xml_schema::parsing> (); - conf->setParameter (XMLUni::fgXercesUseCachedGrammarInParse, true); - conf->setParameter (XMLUni::fgXercesLoadSchema, false); - } - else - { - conf->setParameter (XMLUni::fgDOMValidate, false); - conf->setParameter (XMLUni::fgXercesSchema, false); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - } - - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Create memory buffer input source. - // - MemBufInputSource is ( - reinterpret_cast<XMLByte*> (buf), size, file, false); - is.setCopyBufToStream (false); - Wrapper4InputSource wis (&is, false); - - // Parsing loop. - // - os::time start; - - for (unsigned long i (0); i < iter; ++i) - { - // First parse XML to DOM reusing the parser we created above. - // - xml_schema::dom::auto_ptr<DOMDocument> doc (parser->parse (&wis)); - eh.throw_if_failed<xml_schema::parsing> (); - - // Then parse DOM to the object model. - // - auto_ptr<test::root> r (test::root_ (*doc)); - } - - os::time end; - os::time time (end - start); - - delete[] buf; - - cerr << " time: " << time << " sec" << endl; - - double ms (time.sec () * 1000000ULL + time.nsec () / 1000ULL); - - // Calculate throughput in documents/sec. - // - double tpd ((iter / ms) * 1000000); - cerr << " throughput: " << tpd << " documents/sec" << endl; - - // Calculate throughput in MBytes/sec. - // - double tpb (((size * iter) / ms) * 1000000/(1024*1024)); - cerr << " throughput: " << tpb << " MBytes/sec" << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return false; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return false; - } - - return true; -} diff --git a/xsd/examples/cxx/tree/performance/serialization.cxx b/xsd/examples/cxx/tree/performance/serialization.cxx deleted file mode 100644 index 08e5740..0000000 --- a/xsd/examples/cxx/tree/performance/serialization.cxx +++ /dev/null @@ -1,132 +0,0 @@ -// file : examples/cxx/tree/performance/serialization.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <cstddef> // std::size_t -#include <sstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/dom/DOMLSOutput.hpp> -#include <xercesc/dom/DOMLSSerializer.hpp> -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> - -#include <xercesc/framework/MemBufFormatTarget.hpp> - -#include <xercesc/util/XMLUniDefs.hpp> - -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -#include "time.hxx" -#include "test.hxx" - -using namespace std; - -bool -serialization (const char* file, unsigned long iter) -{ - try - { - using namespace xercesc; - - cerr << "serialization:" << endl; - - // Get the object model using the standard parsing function. - // - auto_ptr<test::root> r ( - test::root_ (file, - xml_schema::flags::dont_initialize | - xml_schema::flags::dont_validate)); - - // Serialize it to the in-memory buffer. This makes sure the buffer - // pre-allocates enough memory. - // - xml_schema::namespace_infomap map; - map["t"].name = "test"; - map["t"].schema = "test.xsd"; - - MemBufFormatTarget ft (10240); - test::root_ (ft, *r, map, "UTF-8", - xml_schema::flags::dont_initialize | - xml_schema::flags::dont_pretty_print | - xml_schema::flags::no_xml_declaration); - - size_t size (ft.getLen ()); - cerr << " document size: " << size << " bytes" << endl - << " iterations: " << iter << endl; - - // Create XML serializer that we are going to use in all iterations. - // - const XMLCh ls_id[] = - {xercesc::chLatin_L, xercesc::chLatin_S, xercesc::chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - // Use the error handler implementation provided by the XSD runtime. - // - xsd::cxx::tree::error_handler<char> eh; - xsd::cxx::xml::dom::bits::error_handler_proxy<char> ehp (eh); - - xml_schema::dom::auto_ptr<DOMLSSerializer> writer ( - impl->createLSSerializer ()); - - DOMConfiguration* conf (writer->getDomConfig ()); - - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - conf->setParameter (XMLUni::fgDOMXMLDeclaration, false); - - xml_schema::dom::auto_ptr<DOMLSOutput> out (impl->createLSOutput ()); - - out->setByteStream (&ft); - - // Serialization loop. - // - os::time start; - - for (unsigned long i (0); i < iter; ++i) - { - // First serialize the object model to DOM. - // - xml_schema::dom::auto_ptr<DOMDocument> doc (test::root_ (*r, map)); - - ft.reset (); - - // Then serialize DOM to XML reusing the serializer we created above. - // - writer->write (doc.get (), out.get ()); - eh.throw_if_failed<xml_schema::serialization> (); - } - - os::time end; - os::time time (end - start); - - cerr << " time: " << time << " sec" << endl; - - double ms (time.sec () * 1000000ULL + time.nsec () / 1000ULL); - - // Calculate throughput in documents/sec. - // - double tpd ((iter / ms) * 1000000); - cerr << " throughput: " << tpd << " documents/sec" << endl; - - // Calculate throughput in MBytes/sec. - // - double tpb (((size * iter) / ms) * 1000000/(1024*1024)); - cerr << " throughput: " << tpb << " MBytes/sec" << endl; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return false; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return false; - } - - return true; -} diff --git a/xsd/examples/cxx/tree/performance/test-50k.xml b/xsd/examples/cxx/tree/performance/test-50k.xml deleted file mode 100644 index 42e22f3..0000000 --- a/xsd/examples/cxx/tree/performance/test-50k.xml +++ /dev/null @@ -1 +0,0 @@ -<t:root xmlns:t='test' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='test test.xsd'><record orange="0" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="1"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="2" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="3"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="4" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="5"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="6" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="7"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="8" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="9"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="10" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="11"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="12" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="13"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="14" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="15"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="16" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="17"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="18" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="19"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="20" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="21"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="22" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="23"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="24" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="25"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="26" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="27"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="28" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="29"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="30" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="31"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="32" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="33"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="34" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="35"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="36" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="37"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="38" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="39"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="40" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="41"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="42" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="43"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="44" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="45"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="46" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="47"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="48" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="49"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="50" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="51"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="52" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="53"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="54" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="55"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="56" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="57"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="58" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="59"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="60" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="61"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="62" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="63"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="64" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="65"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="66" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="67"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="68" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="69"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="70" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="71"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="72" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="73"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="74" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="75"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="76" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="77"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="78" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="79"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="80" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="81"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="82" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="83"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="84" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="85"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="86" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="87"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="88" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="89"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="90" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="91"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="92" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="93"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="94" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="95"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="96" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="97"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="98" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="99"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="100" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="101"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="102" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="103"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="104" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="105"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="106" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="107"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="108" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="109"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="110" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="111"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="112" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="113"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="114" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="115"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="116" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="117"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="118" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="119"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="120" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="121"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="122" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="123"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="124" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="125"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="126" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="127"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="128" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="129"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="130" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="131"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="132" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="133"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="134" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="135"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="136" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="137"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="138" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="139"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="140" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="141"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="142" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="143"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="144" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="145"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="146" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="147"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="148" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="149"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="150" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="151"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="152" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="153"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="154" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="155"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="156" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="157"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="158" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="159"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="160" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="161"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="162" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="163"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="164" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="165"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="166" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="167"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="168" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="169"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="170" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="171"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="172" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="173"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="174" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="175"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="176" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="177"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="178" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="179"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="180" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="181"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="182" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="183"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="184" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="185"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="186" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="187"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="188" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="189"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="190" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="191"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="192" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="193"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="194" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="195"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="196" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="197"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="198" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="199"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="200" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="201"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="202" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="203"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="204" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="205"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="206" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="207"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="208" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="209"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="210" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="211"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="212" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="213"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="214" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="215"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="216" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="217"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="218" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="219"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="220" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="221"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="222" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="223"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="224" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="225"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="226" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="227"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="228" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="229"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="230" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="231"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="232" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="233"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="234" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="235"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="236" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="237"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="238" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="239"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="240" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="241"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="242" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="243"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="244" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="245"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="246" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="247"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="248" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="249"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="250" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="251"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="252" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="253"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="254" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="255"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="256" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="257"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="258" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="259"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="260" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="261"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="262" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="263"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="264" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="265"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="266" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="267"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="268" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="269"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="270" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="271"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="272" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="273"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="274" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="275"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="276" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="277"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="278" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="279"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="280" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="281"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="282" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="283"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="284" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="285"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="286" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="287"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="288" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="289"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="290" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="291"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="292" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="293"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="294" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="295"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="296" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record><record orange="297"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>horror</enum></record><record orange="298" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>history</enum></record><record orange="299"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>philosophy</enum></record><record orange="300" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>romance</enum></record><record orange="301"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>fiction</enum></record><record orange="302" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>horror</enum></record><record orange="303"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>history</enum></record><record orange="304" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>philosophy</enum></record><record orange="305"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>romance</enum></record><record orange="306" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>fiction</enum></record><record orange="307"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>horror</enum></record><record orange="308" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>history</enum></record><record orange="309"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>philosophy</enum></record><record orange="310" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>romance</enum></record><record orange="311"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>fiction</enum></record><record orange="312" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>horror</enum></record><record orange="313"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice2>2 choice</choice2><enum>history</enum></record><record orange="314" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice3>3 choice</choice3><enum>philosophy</enum></record><record orange="315"><int>42</int><double>42345.4232</double><name>name123_45</name><string>one two three</string><choice4>4 choice</choice4><enum>romance</enum></record><record orange="316" apple="true"><int>42</int><double>42345.4232</double><name>name123_45</name><choice1>1 choice</choice1><enum>fiction</enum></record></t:root>
\ No newline at end of file diff --git a/xsd/examples/cxx/tree/performance/test.xsd b/xsd/examples/cxx/tree/performance/test.xsd deleted file mode 100644 index d9b5778..0000000 --- a/xsd/examples/cxx/tree/performance/test.xsd +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/performance/test.xsd -copyright : not copyrighted - public domain - ---> - -<schema targetNamespace="test" xmlns:t="test" - xmlns="http://www.w3.org/2001/XMLSchema"> - - <simpleType name="enum"> - <restriction base="string"> - <enumeration value="romance"/> - <enumeration value="fiction"/> - <enumeration value="horror"/> - <enumeration value="history"/> - <enumeration value="philosophy"/> - </restriction> - </simpleType> - - <complexType name="record"> - <sequence> - <element name="int" type="unsignedInt"/> - <element name="double" type="double"/> - <element name="name" type="NCName"/> - <element name="string" type="string" minOccurs="0" maxOccurs="1"/> - <choice> - <element name="choice1" type="string"/> - <element name="choice2" type="string"/> - <element name="choice3" type="string"/> - <element name="choice4" type="string"/> - </choice> - <element name="enum" type="t:enum"/> - </sequence> - <attribute name="apple" type="boolean"/> - <attribute name="orange" type="unsignedLong" use="required"/> - </complexType> - - <complexType name="root"> - <sequence> - <element name="record" type="t:record" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:root"/> - -</schema> diff --git a/xsd/examples/cxx/tree/performance/time.cxx b/xsd/examples/cxx/tree/performance/time.cxx deleted file mode 100644 index 6bec91b..0000000 --- a/xsd/examples/cxx/tree/performance/time.cxx +++ /dev/null @@ -1,46 +0,0 @@ -// file : examples/cxx/tree/performance/time.cxx -// copyright : not copyrighted - public domain - -#include "time.hxx" - -#if defined (WIN32) || defined (__WIN32__) -# define WIN32_LEAN_AND_MEAN -# include <windows.h> // GetSystemTimeAsFileTime -#else -# include <time.h> // gettimeofday -# include <sys/time.h> // timeval -#endif - -#include <ostream> // std::ostream -#include <iomanip> // std::setfill, std::setw - -namespace os -{ - time:: - time () - { -#if defined (WIN32) || defined (__WIN32__) - FILETIME ft; - GetSystemTimeAsFileTime (&ft); - unsigned long long v ( - ((unsigned long long) (ft.dwHighDateTime) << 32) + ft.dwLowDateTime); - - sec_ = static_cast<unsigned long> (v / 10000000ULL); - nsec_ = static_cast<unsigned long> ((v % 10000000ULL) * 100); -#else - timeval tv; - if (gettimeofday(&tv, 0) != 0) - throw failed (); - - sec_ = static_cast<unsigned long> (tv.tv_sec); - nsec_ = static_cast<unsigned long> (tv.tv_usec * 1000); -#endif - } - - std::ostream& - operator<< (std::ostream& o, time const& t) - { - return o << t.sec () << '.' - << std::setfill ('0') << std::setw (9) << t.nsec (); - } -} diff --git a/xsd/examples/cxx/tree/performance/time.hxx b/xsd/examples/cxx/tree/performance/time.hxx deleted file mode 100644 index ea71e83..0000000 --- a/xsd/examples/cxx/tree/performance/time.hxx +++ /dev/null @@ -1,110 +0,0 @@ -// file : examples/cxx/tree/performance/time.hxx -// copyright : not copyrighted - public domain - -#ifndef TIME_HXX -#define TIME_HXX - -#include <iosfwd> // std::ostream& - -namespace os -{ - class time - { - public: - class failed {}; - - // Create a time object representing the current time. - // - time (); - - time (unsigned long long nsec) - { - sec_ = static_cast<unsigned long> (nsec / 1000000000ULL); - nsec_ = static_cast<unsigned long> (nsec % 1000000000ULL); - } - - time (unsigned long sec, unsigned long nsec) - { - sec_ = sec; - nsec_ = nsec; - } - - public: - unsigned long - sec () const - { - return sec_; - } - - unsigned long - nsec () const - { - return nsec_; - } - - public: - class overflow {}; - class underflow {}; - - time - operator+= (time const& b) - { - unsigned long long tmp = 0ULL + nsec_ + b.nsec_; - - sec_ += static_cast<unsigned long> (b.sec_ + tmp / 1000000000ULL); - nsec_ = static_cast<unsigned long> (tmp % 1000000000ULL); - - return *this; - } - - time - operator-= (time const& b) - { - if (*this < b) - throw underflow (); - - sec_ -= b.sec_; - - if (nsec_ < b.nsec_) - { - --sec_; - nsec_ += 1000000000ULL - b.nsec_; - } - else - nsec_ -= b.nsec_; - - return *this; - } - - friend time - operator+ (time const& a, time const& b) - { - time r (a); - r += b; - return r; - } - - friend time - operator- (time const& a, time const& b) - { - time r (a); - r -= b; - return r; - } - - friend bool - operator < (time const& a, time const& b) - { - return (a.sec_ < b.sec_) || (a.sec_ == b.sec_ && a.nsec_ < b.nsec_); - } - - private: - unsigned long sec_; - unsigned long nsec_; - }; - - std::ostream& - operator<< (std::ostream&, time const&); -} - -#endif // TIME_HXX diff --git a/xsd/examples/cxx/tree/polymorphism/README b/xsd/examples/cxx/tree/polymorphism/README deleted file mode 100644 index 6e54e49..0000000 --- a/xsd/examples/cxx/tree/polymorphism/README +++ /dev/null @@ -1,32 +0,0 @@ -This example shows how to use XML Schema polymorphism features such as -xsi:type attributes and substitution groups in the C++/Tree mapping. - -The example consists of the following files: - -supermen.xsd - XML Schema which describes the "supermen" instance documents. - -supermen.xml - Sample XML instance document. - -supermen.hxx -supermen.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model, and a set of serialization functions that convert the - object model back to XML. These are generated by XSD from supermen.xsd. - Note also that we use the --generate-polymorphic command line option - and that we don't need to use --polymorphic-type to explicitly mark - types as polymorphic because this is automatically deduced by the - XSD compiler from the substitution groups used in the supermen.xsd - schema. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the content of the object model to STDERR. Finally, the driver serializes - the object model back to XML. - -To run the example on the sample XML instance document simply execute: - -$ ./driver instance.xml diff --git a/xsd/examples/cxx/tree/polymorphism/driver.cxx b/xsd/examples/cxx/tree/polymorphism/driver.cxx deleted file mode 100644 index 3f1598f..0000000 --- a/xsd/examples/cxx/tree/polymorphism/driver.cxx +++ /dev/null @@ -1,59 +0,0 @@ -// file : examples/cxx/tree/polymorphism/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <iostream> - -#include "supermen.hxx" - -using std::cerr; -using std::endl; -using std::auto_ptr; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " supermen.xml" << endl; - return 1; - } - - try - { - auto_ptr<supermen> sm (supermen_ (argv[1])); - - supermen copy (*sm); // Dynamic types are preserved in copies. - - // Print what we've got. - // - for (supermen::person_const_iterator i (copy.person ().begin ()); - i != copy.person ().end (); - ++i) - { - cerr << i->name (); - - if (const superman* s = dynamic_cast<const superman*> (&*i)) - { - if (s->can_fly ()) - cerr << ", flying superman"; - else - cerr << ", superman"; - } - - cerr << endl; - } - - // Serialize back to XML. - // - xml_schema::namespace_infomap map; - map[""].schema = "supermen.xsd"; - - supermen_ (std::cout, copy, map); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/examples/cxx/tree/polymorphism/makefile b/xsd/examples/cxx/tree/polymorphism/makefile deleted file mode 100644 index 2ee16e7..0000000 --- a/xsd/examples/cxx/tree/polymorphism/makefile +++ /dev/null @@ -1,104 +0,0 @@ -# file : examples/cxx/tree/polymorphism/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := supermen.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic --generate-serialization \ ---root-element-last -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(install_doc_dir)/xsd/$(path)/supermen.xsd) - $(call install-data,$(src_base)/supermen.xml,$(install_doc_dir)/xsd/$(path)/supermen.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/supermen.xsd,$(dist_prefix)/$(path)/supermen.xsd) - $(call install-data,$(src_base)/supermen.xml,$(dist_prefix)/$(path)/supermen.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/polymorphism/supermen.xml b/xsd/examples/cxx/tree/polymorphism/supermen.xml deleted file mode 100644 index 1b5b1df..0000000 --- a/xsd/examples/cxx/tree/polymorphism/supermen.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/polymorphism/supermen.xml -copyright : not copyrighted - public domain - ---> - -<supermen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="supermen.xsd"> - - <person> - <name>John Doe</name> - </person> - - <superman can-fly="false"> - <name>James "007" Bond</name> - </superman> - - <superman can-fly="true" wing-span="10" xsi:type="batman"> - <name>Bruce Wayne</name> - </superman> - -</supermen> diff --git a/xsd/examples/cxx/tree/polymorphism/supermen.xsd b/xsd/examples/cxx/tree/polymorphism/supermen.xsd deleted file mode 100644 index 0d37e3d..0000000 --- a/xsd/examples/cxx/tree/polymorphism/supermen.xsd +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/polymorphism/supermen.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <!-- substitution group root --> - <xsd:element name="person" type="person"/> - - - <xsd:complexType name="superman"> - <xsd:complexContent> - <xsd:extension base="person"> - <xsd:attribute name="can-fly" type="xsd:boolean" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:element name="superman" type="superman" substitutionGroup="person"/> - - <xsd:complexType name="batman"> - <xsd:complexContent> - <xsd:extension base="superman"> - <xsd:attribute name="wing-span" type="xsd:unsignedInt" use="required"/> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="supermen"> - <xsd:sequence> - <xsd:element ref="person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="supermen" type="supermen"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/streaming/README b/xsd/examples/cxx/tree/streaming/README deleted file mode 100644 index 5a467e0..0000000 --- a/xsd/examples/cxx/tree/streaming/README +++ /dev/null @@ -1,51 +0,0 @@ -This example shows how to perform stream-oriented, partially in-memory -XML processing using the C++/Tree mapping. With the partially in-memory -parsing and serialization only a part of the object model is in memory at -any given time. With this approach we can process parts of the document -as they become available as well as handle documents that are too large -to fit into memory. - -The example consists of the following files: - -position.xsd - XML Schema which describes a simple object position vocabulary. The - position is represented as a potentially large series of latitude and - longitude measurements. - -position.xml - Sample object position document. - -position.hxx -position.cxx - C++ types that represent the position vocabulary as well as parsing - and serialization functions. These are generated by XSD from - position.xsd. - -parser.hxx -parser.cxx - Stream-oriented DOM parser implementation that is built on top of the - Xerces-C++ SAX2 parser in the progressive parsing mode. This parser - allows us to parse an XML document as a series of DOM fragments. - -serializer.hxx -serializer.cxx - Stream-oriented DOM serializer implementation that allows us to - serialize an XML Document as a series of object model fragments. - -grammar-input-stream.hxx -grammar-input-stream.cxx - Input stream implementation with the special-purpose schema grammar - decompression algorithm. It is used internally by the streaming parser. - -driver.cxx - Driver for the example. It parses the input file into a series of DOM - fragments which are then parsed into the object model fragments. The - driver prints the information from the document as it becomes available. - It also serializes the object model fragments into a new XML document - (out.xml). - -To run the example simply execute: - -$ ./driver position.xml - -The serialization results are written to the out.xml file. diff --git a/xsd/examples/cxx/tree/streaming/driver.cxx b/xsd/examples/cxx/tree/streaming/driver.cxx deleted file mode 100644 index eb7026a..0000000 --- a/xsd/examples/cxx/tree/streaming/driver.cxx +++ /dev/null @@ -1,139 +0,0 @@ -// file : examples/cxx/tree/streaming/driver.cxx -// copyright : not copyrighted - public domain - -#include <iostream> -#include <fstream> - -#include <xercesc/dom/DOM.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::string - -#include "parser.hxx" -#include "serializer.hxx" -#include "position.hxx" - -using namespace std; -using namespace xercesc; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " position.xml" << endl; - return 1; - } - - int r (0); - - // We need to initialize the Xerces-C++ runtime because we are doing - // the XML-to-DOM parsing ourselves. - // - xercesc::XMLPlatformUtils::Initialize (); - - try - { - using namespace op; - namespace xml = xsd::cxx::xml; - - // Parse and serialize at the same time, in the streaming mode. - // - - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - ofstream ofs; - ofs.exceptions (ios_base::badbit | ios_base::failbit); - ofs.open ("out.xml"); - - xml_schema::namespace_infomap ns_map; - ns_map["op"].name = "http://www.codesynthesis.com/op"; - ns_map["op"].schema = "position.xsd"; - - parser p; - serializer s; - - p.start (ifs, argv[1], true); - s.start (ofs); - - typedef xml_schema::dom::auto_ptr<DOMDocument> document_ptr; - - // Peek at the root element. This way we only get the "carcase" - // of the document, that is, the root element with its name, all - // the attributes, and namespace declarations but without any of - // the nested elements. - // - document_ptr docr (p.peek ()); - bool parsed (false); - - // Parse first-level elements. - // - for (document_ptr doc1 (p.peek ()); doc1.get () != 0; doc1 = p.peek ()) - { - // Check whether it is an element that we should stream (position) or - // just add to the root (header). - // - string n1 (xml::transcode<char> ( - doc1->getDocumentElement ()->getLocalName ())); - - // If we see the first streaming element, then parse the root carcase. - // - if (!parsed && n1 == "position") - { - object o (*docr->getDocumentElement ()); - - cerr << "id: " << o.id () << endl - << "name: " << o.header ().name () << endl - << "type: " << o.header ().type () << endl; - - // Start serializing the document by writing out the root carcase. - // Note that we leave it open so that we can serialize more elements. - // - s.next_open (ns_map["op"].name, "op:object", ns_map, o); - parsed = true; - } - - // Handle elements that need streaming. - // - if (n1 == "position") - { - // Position has no nested elements that we need to stream so we - // finish parsing it in one go. - // - doc1 = p.next (doc1); - position pos (*doc1->getDocumentElement ()); - - cerr << "lat: " << pos.lat () << " lon: " << pos.lon () << endl; - - // Serialize it (append) to the root element. - // - s.next ("position", pos); - } - else - { - // Element that doesn't require streaming (header in our case). Add - // to the root element and finish parsing. - // - docr = p.next (doc1, docr); - } - } - - // Close the root element in serializer. - // - s.next_close ("op:object"); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const ios_base::failure&) - { - cerr << "io failure" << endl; - r = 1; - } - - xercesc::XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/streaming/grammar-input-stream.cxx b/xsd/examples/cxx/tree/streaming/grammar-input-stream.cxx deleted file mode 100644 index ffdb5b4..0000000 --- a/xsd/examples/cxx/tree/streaming/grammar-input-stream.cxx +++ /dev/null @@ -1,96 +0,0 @@ -// file : examples/cxx/tree/streaming/grammar-input-stream.cxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#include <cassert> -#include "grammar-input-stream.hxx" - -grammar_input_stream:: -grammar_input_stream (const XMLByte* data, std::size_t size) - : data_ (data), - size_ (size), - pos_ (0), - vpos_ (0), - cseq_ (0), - add_zero_ (false) -{ -} - -XMLFilePos grammar_input_stream:: -curPos () const -{ - return static_cast<XMLFilePos> (vpos_); -} - -XMLSize_t grammar_input_stream:: -readBytes (XMLByte* const buf, const XMLSize_t size) -{ - std::size_t i (0); - - // Add a zero from the alternating sequence if it didn't - // fit on the previous read. - // - if (add_zero_) - { - buf[i++] = 0; - add_zero_ = false; - } - - // If have an unfinished sequential sequence, output it now. - // - if (cseq_ != 0 && !alt_) - { - for (; cseq_ != 0 && i < size; --cseq_) - buf[i++] = 0; - } - - for (; i < size && pos_ < size_;) - { - XMLByte b = buf[i++] = data_[pos_++]; - - // See if we are in a compression sequence. - // - if (cseq_ != 0) - { - if (i < size) - buf[i++] = 0; - else - add_zero_ = true; // Add it on the next read. - - cseq_--; - continue; - } - - // If we are not in a compression sequence and this byte is - // not zero then we are done. - // - if (b != 0) - continue; - - // We have a zero. - // - assert (pos_ < size_); // There has to be another byte. - unsigned char v (static_cast<unsigned char> (data_[pos_++])); - alt_ = (v & 128) != 0; - cseq_ = v & 127; - - // If it is a sequential sequence, output as many zeros as - // we can. - // - if (!alt_) - { - for (; cseq_ != 0 && i < size; --cseq_) - buf[i++] = 0; - } - } - - vpos_ += i; - - return static_cast<XMLSize_t> (i); -} - -const XMLCh* grammar_input_stream:: -getContentType () const -{ - return 0; -} diff --git a/xsd/examples/cxx/tree/streaming/grammar-input-stream.hxx b/xsd/examples/cxx/tree/streaming/grammar-input-stream.hxx deleted file mode 100644 index 36ef74c..0000000 --- a/xsd/examples/cxx/tree/streaming/grammar-input-stream.hxx +++ /dev/null @@ -1,41 +0,0 @@ -// file : examples/cxx/tree/streaming/grammar-input-stream.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#ifndef GRAMMAR_INPUT_STREAM_HXX -#define GRAMMAR_INPUT_STREAM_HXX - -#include <cstddef> -#include <xercesc/util/BinInputStream.hpp> - -// Memory buffer input stream with the special-purpose schema -// grammar decompression. -// -class grammar_input_stream: public xercesc::BinInputStream -{ -public : - grammar_input_stream (const XMLByte* data, std::size_t size); - - virtual XMLFilePos - curPos () const; - - virtual XMLSize_t - readBytes (XMLByte* const buf, const XMLSize_t size); - - virtual const XMLCh* - getContentType () const; - -private : - const XMLByte* data_; - std::size_t size_; - std::size_t pos_; - std::size_t vpos_; - - // Compression data. - // - size_t cseq_; // Number of bytes left in a compression sequence. - bool alt_; // Alternating or sequential sequence. - bool add_zero_; // Add a zero on the next read. -}; - -#endif // GRAMMAR_INPUT_STREAM_HXX diff --git a/xsd/examples/cxx/tree/streaming/makefile b/xsd/examples/cxx/tree/streaming/makefile deleted file mode 100644 index f6db5c0..0000000 --- a/xsd/examples/cxx/tree/streaming/makefile +++ /dev/null @@ -1,115 +0,0 @@ -# file : examples/cxx/tree/streaming/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := position.xsd -cxx := driver.cxx parser.cxx serializer.cxx grammar-input-stream.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/parser.cxx,$(install_doc_dir)/xsd/$(path)/parser.cxx) - $(call install-data,$(src_base)/parser.hxx,$(install_doc_dir)/xsd/$(path)/parser.hxx) - $(call install-data,$(src_base)/serializer.cxx,$(install_doc_dir)/xsd/$(path)/serializer.cxx) - $(call install-data,$(src_base)/serializer.hxx,$(install_doc_dir)/xsd/$(path)/serializer.hxx) - $(call install-data,$(src_base)/grammar-input-stream.cxx,$(install_doc_dir)/xsd/$(path)/grammar-input-stream.cxx) - $(call install-data,$(src_base)/grammar-input-stream.hxx,$(install_doc_dir)/xsd/$(path)/grammar-input-stream.hxx) - $(call install-data,$(src_base)/position.xsd,$(install_doc_dir)/xsd/$(path)/position.xsd) - $(call install-data,$(src_base)/position.xml,$(install_doc_dir)/xsd/$(path)/position.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/parser.cxx,$(dist_prefix)/$(path)/parser.cxx) - $(call install-data,$(src_base)/parser.hxx,$(dist_prefix)/$(path)/parser.hxx) - $(call install-data,$(src_base)/serializer.cxx,$(dist_prefix)/$(path)/serializer.cxx) - $(call install-data,$(src_base)/serializer.hxx,$(dist_prefix)/$(path)/serializer.hxx) - $(call install-data,$(src_base)/grammar-input-stream.cxx,$(dist_prefix)/$(path)/grammar-input-stream.cxx) - $(call install-data,$(src_base)/grammar-input-stream.hxx,$(dist_prefix)/$(path)/grammar-input-stream.hxx) - $(call install-data,$(src_base)/position.xsd,$(dist_prefix)/$(path)/position.xsd) - $(call install-data,$(src_base)/position.xml,$(dist_prefix)/$(path)/position.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - $(call message,rm $$1,rm -f $$1,$(out_base)/out.xml) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver out.xml $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/streaming/parser.cxx b/xsd/examples/cxx/tree/streaming/parser.cxx deleted file mode 100644 index 41ad7af..0000000 --- a/xsd/examples/cxx/tree/streaming/parser.cxx +++ /dev/null @@ -1,372 +0,0 @@ -#include <cassert> - -#include <xercesc/util/XMLUni.hpp> -#include <xercesc/util/XMLString.hpp> - -#include <xercesc/sax2/Attributes.hpp> -#include <xercesc/sax2/DefaultHandler.hpp> -#include <xercesc/sax2/SAX2XMLReader.hpp> -#include <xercesc/sax2/XMLReaderFactory.hpp> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/dom/impl/DOMTextImpl.hpp> - -#include <xercesc/validators/common/Grammar.hpp> // xercesc::Grammar -#include <xercesc/framework/XMLGrammarPoolImpl.hpp> - -#include <xsd/cxx/auto-array.hxx> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/sax/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -#include "parser.hxx" -#include "grammar-input-stream.hxx" - -using namespace std; -using namespace xercesc; - -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -typedef parser::document_ptr document_ptr; - -class parser_impl: public DefaultHandler -{ -public: - parser_impl (const XMLByte* grammar, size_t grammar_size); - - void - start (istream& is, const string& id, bool validate); - - document_ptr - peek (); - - document_ptr - next (document_ptr doc = document_ptr (), - document_ptr outer_doc = document_ptr ()); - - // SAX event handlers. - // -private: - virtual void - startElement (const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const qname, - const Attributes& attributes); - - virtual void - endElement (const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const qname); - - virtual void - characters (const XMLCh* const s, - const XMLSize_t length); - -private: - // SAX parser. - // - bool clean_; - auto_ptr<XMLGrammarPool> grammar_pool_; - auto_ptr<SAX2XMLReader> parser_; - XMLPScanToken token_; - tree::error_handler<char> error_handler_; - xml::sax::bits::error_handler_proxy<char> error_proxy_; - auto_ptr<xml::sax::std_input_source> isrc_; - - size_t depth_; - size_t whitespace_depth_; // Depth at which to ignore whitespaces. - - bool peek_; - size_t next_depth_; // Depth at which next() should work. - - // DOM document being built. - // - DOMImplementation& dom_impl_; - document_ptr doc_; - DOMElement* cur_; -}; - -const XMLCh ls[] = {chLatin_L, chLatin_S, chNull}; - -parser_impl:: -parser_impl (const XMLByte* grammar, size_t grammar_size) - : clean_ (true), - error_proxy_ (error_handler_), - dom_impl_ (*DOMImplementationRegistry::getDOMImplementation (ls)) -{ - MemoryManager* mm (XMLPlatformUtils::fgMemoryManager); - - if (grammar != 0) - { - assert (grammar_size != 0); - grammar_pool_.reset (new XMLGrammarPoolImpl (mm)); - - grammar_input_stream is (grammar, grammar_size); - grammar_pool_->deserializeGrammars(&is); - grammar_pool_->lockPool (); - } - - parser_.reset (XMLReaderFactory::createXMLReader (mm, grammar_pool_.get ())); - - parser_->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); - parser_->setFeature (XMLUni::fgSAX2CoreNameSpacePrefixes, true); - parser_->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true); - parser_->setFeature (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. It also allows us to disable buffering in the parser - // so that the data is parsed and returned as soon as it is - // available. - // -#if _XERCES_VERSION >= 30100 - parser_->setFeature (XMLUni::fgXercesHandleMultipleImports, true); - - XMLSize_t lwm = 0; - parser_->setProperty (XMLUni::fgXercesLowWaterMark, &lwm); -#endif - - parser_->setErrorHandler (&error_proxy_); - parser_->setContentHandler (this); -} - -void parser_impl:: -start (istream& is, const string& id, bool val) -{ - // Reset our state. - // - depth_ = 0; - peek_ = false; - doc_.reset (); - error_handler_.reset (); - - if (!clean_) - parser_->parseReset (token_); - else - clean_ = false; - - isrc_.reset (new xml::sax::std_input_source (is, id)); - - parser_->setFeature (XMLUni::fgSAX2CoreValidation, val); - parser_->setFeature (XMLUni::fgXercesSchema, val); - - if (val && grammar_pool_.get () != 0) - { - // Use the loaded grammar during parsing. - // - parser_->setFeature (XMLUni::fgXercesUseCachedGrammarInParse, true); - - // Disable loading schemas via other means (e.g., schemaLocation). - // - parser_->setFeature (XMLUni::fgXercesLoadSchema, false); - } - - parser_->parseFirst (*isrc_, token_); - error_handler_.throw_if_failed<tree::parsing<char> > (); -} - -document_ptr parser_impl:: -peek () -{ - bool r (true); - - size_t d (depth_); - whitespace_depth_ = d; - - peek_ = true; - - // Parse (skip whitespace content) until the depth increases or we get - // a document. The latter test covers <element/> cases where both start - // and end events will trigger and therefore leave the depth unchanged. - // - while (r && depth_ == d && doc_.get () == 0) - { - r = parser_->parseNext (token_); - error_handler_.throw_if_failed<tree::parsing<char> > (); - } - - if (!r) - return document_ptr (0); - - return doc_; -} - -document_ptr parser_impl:: -next (document_ptr doc, document_ptr outer_doc) -{ - assert (peek_ == (doc.get () != 0)); - - // Install doc/outer_doc as the document we are parsing. - // - if (doc.get () != 0) - { - if (outer_doc.get () != 0) - { - // Copy doc to outer_doc. - // - doc_ = outer_doc; - cur_ = static_cast<DOMElement*> ( - doc_->importNode (doc->getDocumentElement (), true)); - doc_->getDocumentElement ()->appendChild (cur_); - } - else - { - doc_ = doc; - cur_ = doc_->getDocumentElement (); - } - - // This handles the <element/> case where we get both start and - // end events in peek(). In this case the element is fully parsed - // and next() has nothing to do. - // - if (depth_ != next_depth_) - { - peek_ = false; - return doc_; - } - } - - bool r (true); - - // If we peeked, then we have already seen the start tag and our - // return depth is one above the current depth. - // - size_t d (peek_ ? depth_ - 1 : depth_); - whitespace_depth_ = d; - - peek_ = false; - - // Keep calling parseNext() until we either move to a greater depth or - // get a document. This way we skip the text (presumably whitespaces) - // that may be preceding this chunk. - // - while (r && depth_ == d && doc_.get () == 0) - { - parser_->parseNext (token_); - error_handler_.throw_if_failed<tree::parsing<char> > (); - } - - if (!r) - return document_ptr (0); - - // If we are not at our start depth, keep calling parseNext() until we - // get there again. - // - while (r && depth_ != d) - { - r = parser_->parseNext (token_); - error_handler_.throw_if_failed<tree::parsing<char> > (); - } - - if (!r) - return document_ptr (0); - - return doc_; -} - -// DOM builder. -// - -void parser_impl:: -startElement (const XMLCh* const uri, - const XMLCh* const /*lname*/, - const XMLCh* const qname, - const Attributes& attr) -{ - if (doc_.get () == 0) - { - doc_.reset (dom_impl_.createDocument (uri, qname, 0)); - cur_ = doc_->getDocumentElement (); - } - else - { - DOMElement* e = doc_->createElementNS (uri, qname); - cur_->appendChild (e); - cur_ = e; - } - - // Set attributes. - // - for (XMLSize_t i (0), end (attr.getLength()); i < end; ++i) - { - const XMLCh* qn (attr.getQName (i)); - const XMLCh* ns (attr.getURI (i)); - - // When SAX2 reports the xmlns attribute, it does not include - // the proper attribute namespace. So we have to detect and - // handle this case. - // - if (XMLString::equals (qn, XMLUni::fgXMLNSString)) - ns = XMLUni::fgXMLNSURIName; - - cur_->setAttributeNS (ns, qn, attr.getValue (i)); - } - - depth_++; - - if (peek_) - next_depth_ = depth_; -} - -void parser_impl:: -endElement (const XMLCh* const /*uri*/, - const XMLCh* const /*lname*/, - const XMLCh* const /*qname*/) -{ - // We have an element parent only on depth 2 or greater. - // - if (--depth_ > 1) - cur_ = static_cast<DOMElement*> (cur_->getParentNode ()); -} - -void parser_impl:: -characters (const XMLCh* const s, const XMLSize_t length) -{ - const XMLCh empty[] = {chNull}; - - // Ignore text content (presumably whitespaces) while looking for - // the next element. - // - if (depth_ > whitespace_depth_) - { - DOMText* t = doc_->createTextNode (empty); - static_cast<DOMTextImpl*> (t)->appendData (s, length); - cur_->appendChild (t); - } -} - -// -// parser -// - -parser:: -~parser () -{ -} - -parser:: -parser (const XMLByte* grammar, size_t grammar_size) - : impl_ (new parser_impl (grammar, grammar_size)) -{ -} - -void parser:: -start (istream& is, const string& id, bool val) -{ - return impl_->start (is, id, val); -} - -document_ptr parser:: -peek () -{ - return impl_->peek (); -} - -document_ptr parser:: -next (document_ptr doc, document_ptr outer_doc) -{ - return impl_->next (doc, outer_doc); -} diff --git a/xsd/examples/cxx/tree/streaming/parser.hxx b/xsd/examples/cxx/tree/streaming/parser.hxx deleted file mode 100644 index cb34f92..0000000 --- a/xsd/examples/cxx/tree/streaming/parser.hxx +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef PARSER_HXX -#define PARSER_HXX - -#include <string> -#include <iosfwd> -#include <cstddef> // std::size_t -#include <memory> // std::auto_ptr - -#include <xercesc/dom/DOMDocument.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -class parser_impl; - -class parser -{ -public: - // We can specify embedded XML Schema grammar to be used by the parser - // that was created by the xsdbin utility from the 'embedded' example. - // - parser (const XMLByte* grammar = 0, std::size_t grammar_size = 0); - ~parser (); - - // The start function prepares everything for parsing a new document. - // - void - start (std::istream& is, const std::string& id, bool validate); - - typedef xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument> document_ptr; - - // The peek function parses just the next element (ignoring any - // preceding content assuming it is whitespace) without parsing - // any of its nested content (but it includes the element's - // attributes). It returns NULL if there are no more elements - // at this level (there could still be on outer levels in case - // of nested streaming). - // - document_ptr - peek (); - - // The next function parses (or finishes parsing after peek) the - // next element including its nested content. It returns NULL if - // there are no more elements at this level (there could still - // be on outer levels in case of nested streaming). - // - // If doc is not NULL, then it should be the document returned - // by peek(). That is, a document with only the root element. - // In this case next() finishes parsing this element. - // - // If outer_doc is not NULL, then next() will first add doc to - // outer_doc as a child of the document root. - // - document_ptr - next (document_ptr doc = document_ptr (), - document_ptr outer_doc = document_ptr ()); - -private: - parser (const parser&); - - parser& - operator= (const parser&); - -private: - std::auto_ptr<parser_impl> impl_; -}; - -#endif // PARSER_HXX diff --git a/xsd/examples/cxx/tree/streaming/position.xml b/xsd/examples/cxx/tree/streaming/position.xml deleted file mode 100644 index a3428bf..0000000 --- a/xsd/examples/cxx/tree/streaming/position.xml +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/streaming/position.xml -copyright : not copyrighted - public domain - ---> - -<op:object xmlns:op="http://www.codesynthesis.com/op" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/op position.xsd" - id="123"> - - <header> - <name>Lion's Head</name> - <type>rock</type> - </header> - - <position lat="-33.8569" lon="18.5083"/> - <position lat="-33.8568" lon="18.5083"/> - <position lat="-33.8568" lon="18.5082"/> - <position lat="-33.8570" lon="18.5083"/> - <position lat="-33.8569" lon="18.5084"/> - <position lat="-33.8570" lon="18.5084"/> - <position lat="-33.8570" lon="18.5082"/> - <position lat="-33.8569" lon="18.5082"/> - -</op:object> diff --git a/xsd/examples/cxx/tree/streaming/position.xsd b/xsd/examples/cxx/tree/streaming/position.xsd deleted file mode 100644 index 18dda94..0000000 --- a/xsd/examples/cxx/tree/streaming/position.xsd +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/streaming/position.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:op="http://www.codesynthesis.com/op" - targetNamespace="http://www.codesynthesis.com/op"> - - - <xsd:complexType name="header"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="type" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="position"> - <xsd:attribute name="lat" type="xsd:float" use="required"/> - <xsd:attribute name="lon" type="xsd:float" use="required"/> - </xsd:complexType> - - <xsd:complexType name="object"> - <xsd:sequence> - <xsd:element name="header" type="op:header"/> - <xsd:element name="position" type="op:position" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:unsignedInt" use="required"/> - </xsd:complexType> - - <xsd:element name="object" type="op:object"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/streaming/serializer.cxx b/xsd/examples/cxx/tree/streaming/serializer.cxx deleted file mode 100644 index 0ce8156..0000000 --- a/xsd/examples/cxx/tree/streaming/serializer.cxx +++ /dev/null @@ -1,607 +0,0 @@ -#include <vector> -#include <cassert> -#include <cstddef> - -#include <xercesc/util/XMLUni.hpp> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/dom/impl/DOMLSSerializerImpl.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> -#include <xsd/cxx/xml/dom/serialization-source.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -#include "serializer.hxx" - -using namespace std; -using namespace xercesc; - -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -static const XMLCh gEOLSeq[] = -{ - chLF, chNull -}; - -static const XMLCh gUTF8[] = -{ - chLatin_U, chLatin_T, chLatin_F, chDash, chDigit_8, chNull -}; - -static const XMLCh gEndElement[] = -{ - chOpenAngle, chForwardSlash, chNull -}; - -static const int DISCARD_DEFAULT_CONTENT_ID = 0x1; -static const int ENTITIES_ID = 0x2; -static const int FORMAT_PRETTY_PRINT_1ST_LEVEL_ID = 0xA; - -class StreamingDOMSerializer: public DOMLSSerializerImpl -{ -public: - StreamingDOMSerializer (MemoryManager* manager) - : DOMLSSerializerImpl (manager) - { - } - - bool - startOpen (const DOMElement* e, DOMLSOutput* const destination) - { - const DOMDocument* docu (e->getOwnerDocument ()); - assert (docu != 0); - - // Code adapted from DOMLSSerializerImpl::write(). - // - target_ = destination->getByteStream(); - - fEncodingUsed = gUTF8; - - const XMLCh* lsEncoding=destination->getEncoding(); - if (lsEncoding && *lsEncoding) - { - fEncodingUsed = lsEncoding; - } - else if (docu) - { - const XMLCh* tmpEncoding = docu->getInputEncoding(); - - if ( tmpEncoding && *tmpEncoding) - { - fEncodingUsed = tmpEncoding; - } - else - { - tmpEncoding = docu->getXmlEncoding(); - - if ( tmpEncoding && *tmpEncoding) - { - fEncodingUsed = tmpEncoding; - } - } - } - - fNewLineUsed = (fNewLine && *fNewLine)? fNewLine : gEOLSeq; - - fDocumentVersion = (docu->getXmlVersion() && *(docu->getXmlVersion())) - ? docu->getXmlVersion() - : XMLUni::fgVersion1_0; - - fErrorCount = 0; - - fLineFeedInTextNodePrinted = false; - fLastWhiteSpaceInTextNode = 0; - - level_ = 0; - namespace_map_.clear (); - - fFormatter = new (fMemoryManager) XMLFormatter( fEncodingUsed - ,fDocumentVersion - ,target_ - ,XMLFormatter::NoEscapes - ,XMLFormatter::UnRep_CharRef - ,fMemoryManager); - formatter_.reset (fFormatter); - - // Write out the XML declaration, etc. Here we assume that the document - // has no children (i.e., no root element). - // - processNode (docu, 0); - fLineFeedInTextNodePrinted = true; - - return writeOpen (e); - } - - bool - writeOpen (const DOMElement* e) - { - // Code adapted from the first part of ELEMENT_NODE case in - // DOMLSSerializerImpl::processNode(). - // - - if (!fLineFeedInTextNodePrinted) - { - if(level_ == 1 && getFeature(FORMAT_PRETTY_PRINT_1ST_LEVEL_ID)) - printNewLine(); - - printNewLine(); - } - else - { - fLineFeedInTextNodePrinted = false; - } - - printIndent(level_); - - RefHashTableOf<XMLCh>* namespaceMap = NULL; - - *fFormatter << XMLFormatter::NoEscapes << chOpenAngle << - e->getNodeName (); - - setURCharRef(); - DOMNamedNodeMap *attributes = e->getAttributes(); - XMLSize_t attrCount = attributes->getLength(); - - const XMLCh* prefix = e->getPrefix(); - const XMLCh* uri = e->getNamespaceURI(); - if((uri && uri[0]) || - ((prefix==0 || prefix[0]==0) && isDefaultNamespacePrefixDeclared())) - { - if(prefix==0 || prefix[0]==0) - prefix=XMLUni::fgZeroLenString; - if(!isNamespaceBindingActive(prefix, uri)) - { - if(namespaceMap==NULL) - { - namespaceMap=new (fMemoryManager) RefHashTableOf<XMLCh>(12, false, fMemoryManager); - fNamespaceStack->addElement(namespaceMap); - } - namespaceMap->put((void*)prefix,(XMLCh*)uri); - *fFormatter << XMLFormatter::NoEscapes - << chSpace << XMLUni::fgXMLNSString; - - if(!XMLString::equals(prefix,XMLUni::fgZeroLenString)) - *fFormatter << chColon << prefix; - - *fFormatter << chEqual << chDoubleQuote - << XMLFormatter::AttrEscapes - << uri - << XMLFormatter::NoEscapes - << chDoubleQuote; - } - } - - bool discard = getFeature(DISCARD_DEFAULT_CONTENT_ID); - for (XMLSize_t i = 0; i < attrCount; i++) - { - DOMAttr* attribute = (DOMAttr*)attributes->item(i); - - if (discard && !((DOMAttr*)attribute )->getSpecified()) - continue; - - // if this attribute is a namespace declaration, add it to the namespace map for the current level - const XMLCh* ns = attribute->getNamespaceURI(); - if (ns != 0 ) - { - if(XMLString::equals(ns, XMLUni::fgXMLNSURIName)) - { - if(namespaceMap==NULL) - { - namespaceMap=new (fMemoryManager) RefHashTableOf<XMLCh>(12, false, fMemoryManager); - fNamespaceStack->addElement(namespaceMap); - } - const XMLCh* nsPrefix = attribute->getLocalName(); - if(XMLString::equals(attribute->getNodeName(),XMLUni::fgXMLNSString)) - nsPrefix = XMLUni::fgZeroLenString; - if(namespaceMap->containsKey((void*)nsPrefix)) - continue; - namespaceMap->put((void*)attribute->getLocalName(),(XMLCh*)attribute->getNodeValue()); - } - else if(!XMLString::equals(ns, XMLUni::fgXMLURIName)) - { - // check if the namespace for the current node is already defined - const XMLCh* prefix = attribute->getPrefix(); - if(prefix && prefix[0]) - { - const XMLCh* uri = attribute->getNamespaceURI(); - if(!isNamespaceBindingActive(prefix, uri)) - { - if(namespaceMap==NULL) - { - namespaceMap=new (fMemoryManager) RefHashTableOf<XMLCh>(12, false, fMemoryManager); - fNamespaceStack->addElement(namespaceMap); - } - namespaceMap->put((void*)prefix,(XMLCh*)uri); - *fFormatter << XMLFormatter::NoEscapes - << chSpace << XMLUni::fgXMLNSString << chColon << prefix - << chEqual << chDoubleQuote - << XMLFormatter::AttrEscapes - << uri - << XMLFormatter::NoEscapes - << chDoubleQuote; - } - } - } - } - - if (XMLString::equals(ns, XMLUni::fgXMLNSURIName) || checkFilter(attribute) == DOMNodeFilter::FILTER_ACCEPT) - { - *fFormatter << XMLFormatter::NoEscapes - << chSpace << attribute->getNodeName() - << chEqual << chDoubleQuote - << XMLFormatter::AttrEscapes; - - if (getFeature(ENTITIES_ID)) - { - DOMNode* child = attribute->getFirstChild(); - while( child != 0) - { - if(child->getNodeType()==DOMNode::TEXT_NODE) - *fFormatter << child->getNodeValue(); - else if(child->getNodeType()==DOMNode::ENTITY_REFERENCE_NODE) - *fFormatter << XMLFormatter::NoEscapes - << chAmpersand << child->getNodeName() << chSemiColon - << XMLFormatter::AttrEscapes; - child = child->getNextSibling(); - } - } - else - *fFormatter << attribute->getNodeValue(); - - *fFormatter << XMLFormatter::NoEscapes << chDoubleQuote; - } - } - - *fFormatter << XMLFormatter::NoEscapes << chCloseAngle; - - // Keep track of whether we have added a namespace map for this - // element. Used to pop it in writeClose(). - // - namespace_map_.push_back (namespaceMap != 0); - - level_++; - - DOMNode* child = e->getFirstChild(); - while (child != 0) - { - processNode (child, level_); - child = child->getNextSibling(); - } - - return fErrorCount == 0; - } - - bool - writeClose (const XMLCh* name) - { - // Code adapted from the second part of ELEMENT_NODE case in - // DOMLSSerializerImpl::processNode(). - // - level_--; - - // Assume we are not on the same line (nodeLine != fCurrentLine). - // - { - if (!fLineFeedInTextNodePrinted) - { - printNewLine(); - } - else - { - fLineFeedInTextNodePrinted = false; - } - - if(level_ == 0 && getFeature(FORMAT_PRETTY_PRINT_1ST_LEVEL_ID)) - printNewLine(); - - printIndent(level_); - } - - *fFormatter << XMLFormatter::NoEscapes << gEndElement << - name << chCloseAngle; - - if (namespace_map_.back ()) - fNamespaceStack->removeLastElement(); - - namespace_map_.pop_back (); - - if (level_ == 0) - { - printNewLine(); - target_->flush (); - } - - return fErrorCount == 0; - } - - bool - write (const DOMElement* e) - { - processNode (e, level_); - return fErrorCount == 0; - } - - using DOMLSSerializerImpl::write; // Whole document. - -private: - XMLFormatTarget* target_; - std::auto_ptr<XMLFormatter> formatter_; - int level_; - - std::vector<bool> namespace_map_; -}; - -class serializer_impl -{ -public: - typedef serializer::namespace_infomap namespace_infomap; - - serializer_impl (); - - void - start (ostream& os, const string& encoding); - - DOMElement* - create (const string& name, const namespace_infomap&); - - DOMElement* - create (const string& ns, const string& qname, const namespace_infomap&); - - void - serialize (xml::dom::auto_ptr<DOMElement>); - - void - serialize_open (xml::dom::auto_ptr<DOMElement>); - - void - serialize_close (const string&); - -private: - void - clear_document (); - -private: - bool start_; - - // Serializer. - // - xml::dom::auto_ptr<DOMLSOutput> out_; - xml::dom::auto_ptr<StreamingDOMSerializer> serializer_; - - auto_ptr<xml::dom::ostream_format_target> oft_; - - tree::error_handler<char> error_handler_; - xml::dom::bits::error_handler_proxy<char> error_proxy_; - - // DOM document that we use to create the elements. - // - DOMImplementation& dom_impl_; - xml::dom::auto_ptr<DOMDocument> doc_; - vector<DOMElement*> element_stack_; - - size_t element_count_; // Number of elements serialized using current doc. - static const size_t element_count_limit_ = 500; -}; - -const XMLCh ls[] = {chLatin_L, chLatin_S, chNull}; - -serializer_impl:: -serializer_impl () - : error_proxy_ (error_handler_), - dom_impl_ (*DOMImplementationRegistry::getDOMImplementation (ls)) -{ - serializer_.reset ( - new (XMLPlatformUtils::fgMemoryManager) - StreamingDOMSerializer (XMLPlatformUtils::fgMemoryManager)); - - DOMConfiguration* conf (serializer_->getDomConfig ()); - conf->setParameter (XMLUni::fgDOMErrorHandler, &error_proxy_); - conf->setParameter (XMLUni::fgDOMXMLDeclaration, true); - conf->setParameter (XMLUni::fgDOMWRTDiscardDefaultContent, true); - conf->setParameter (XMLUni::fgDOMWRTFormatPrettyPrint, true); - conf->setParameter (XMLUni::fgDOMWRTXercesPrettyPrint, false); -} - -void serializer_impl:: -start (ostream& os, const string& encoding) -{ - element_stack_.clear (); - doc_.reset (dom_impl_.createDocument ()); - element_count_ = 0; - - error_handler_.reset (); - oft_.reset (new xml::dom::ostream_format_target (os)); - - out_.reset (dom_impl_.createLSOutput ()); - out_->setEncoding (xml::string (encoding).c_str ()); - out_->setByteStream (oft_.get ()); - - start_ = true; -} - -DOMElement* serializer_impl:: -create (const string& name, const namespace_infomap& map) -{ - DOMElement* r (doc_->createElement (xml::string (name).c_str ())); - - if (!map.empty ()) - xml::dom::add_namespaces<char> (*r, map); - - // Add the element as the child of the stack "tip" so that it - // "sees" all the namespace declarations active from this point. - // - if (!element_stack_.empty ()) - element_stack_.back ()->appendChild (r); - - return r; -} - -DOMElement* serializer_impl:: -create (const string& ns, const string& qname, const namespace_infomap& map) -{ - DOMElement* r ( - doc_->createElementNS ( - xml::string (ns).c_str (), xml::string (qname).c_str ())); - - if (!map.empty ()) - xml::dom::add_namespaces<char> (*r, map); - - // Add the element as the child of the stack "tip" so that it - // "sees" all the namespace declarations active from this point. - // - if (!element_stack_.empty ()) - element_stack_.back ()->appendChild (r); - - return r; -} - -void serializer_impl:: -serialize (xml::dom::auto_ptr<DOMElement> p) -{ - DOMElement* e (p.get ()); - - if (start_) - { - serializer_->write (e, out_.get ()); - start_ = false; - } - else - serializer_->write (e); - - error_handler_.throw_if_failed<tree::serialization<char> > (); - - // Remove this element from its parent before we release. - // - if (!element_stack_.empty ()) - element_stack_.back ()->removeChild (e); - - p.reset (); // Release it before we may clear the document below. - - if (element_count_++ > element_count_limit_) - clear_document (); -} - -void serializer_impl:: -serialize_open (xml::dom::auto_ptr<DOMElement> p) -{ - DOMElement* e (p.get ()); - - if (start_) - { - serializer_->startOpen (e, out_.get ()); - start_ = false; - } - else - serializer_->writeOpen (e); - - error_handler_.throw_if_failed<tree::serialization<char> > (); - - // Add this element to the element stack. serialize_close() is - // responsible for its removal and releasing. - // - element_stack_.push_back (e); - p.release (); -} - -void serializer_impl:: -serialize_close (const string& name) -{ - serializer_->writeClose (xml::string (name).c_str ()); - error_handler_.throw_if_failed<tree::serialization<char> > (); - - // Release the element. - // - DOMElement* e (element_stack_.back ()); - element_stack_.pop_back (); - - if (!element_stack_.empty ()) - element_stack_.back ()->removeChild (e); - - e->release (); - - if (element_count_++ > element_count_limit_) - clear_document (); -} - -void serializer_impl:: -clear_document () -{ - // Re-create the document in order to force deallocation of its - // internal heap. While Xerces-C++ DOM tries to re-use memory, - // it still accumulates no longer used memory blocks. - // - xml::dom::auto_ptr<DOMDocument> doc (dom_impl_.createDocument ()); - - if (!element_stack_.empty ()) - { - DOMElement* e ( - static_cast<DOMElement*> ( - doc->importNode (element_stack_.front (), true))); - - for (vector<DOMElement*>::iterator i (element_stack_.begin ()); - i != element_stack_.end (); - ++i) - { - *i = e; - e = static_cast<DOMElement*> (e->getFirstChild ()); - } - } - - doc_ = doc; - element_count_ = 0; -} - -// -// serializer -// - -serializer:: -~serializer () -{ -} - -serializer:: -serializer () - : impl_ (new serializer_impl) -{ -} - -void serializer:: -start (ostream& os, const string& encoding) -{ - impl_->start (os, encoding); -} - -DOMElement* serializer:: -create (const string& name, const namespace_infomap& map) -{ - return impl_->create (name, map); -} - -DOMElement* serializer:: -create (const string& ns, const string& qname, const namespace_infomap& map) -{ - return impl_->create (ns, qname, map); -} - -void serializer:: -serialize (xml::dom::auto_ptr<DOMElement> e) -{ - impl_->serialize (e); -} - -void serializer:: -serialize_open (xml::dom::auto_ptr<DOMElement> e) -{ - impl_->serialize_open (e); -} - -void serializer:: -serialize_close (const string& name) -{ - impl_->serialize_close (name); -} diff --git a/xsd/examples/cxx/tree/streaming/serializer.hxx b/xsd/examples/cxx/tree/streaming/serializer.hxx deleted file mode 100644 index 43fab69..0000000 --- a/xsd/examples/cxx/tree/streaming/serializer.hxx +++ /dev/null @@ -1,205 +0,0 @@ -// file : examples/cxx/tree/streaming/serializer.hxx -// author : Boris Kolpackov <boris@codesynthesis.com> -// copyright : not copyrighted - public domain - -#ifndef SERIALIZER_HXX -#define SERIALIZER_HXX - -#include <string> -#include <iosfwd> -#include <memory> // std::auto_ptr - -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> // namespace_infomap - -class serializer_impl; - -class serializer -{ -public: - typedef xsd::cxx::xml::dom::namespace_infomap<char> namespace_infomap; - - ~serializer (); - serializer (); - - // Start the serialization process. - // - void - start (std::ostream& is, const std::string& encoding = "UTF-8"); - - // Serialize next object model fragment into an element with the specified - // name. - // - template <typename T> - void - next (const std::string& name, const T& x); - - // Serialize next object model fragment into an element with the specified - // name and namespace declarations. - // - template <typename T> - void - next (const std::string& name, const namespace_infomap&, const T& x); - - // Serialize next object model fragment into an element with the specified - // namespace and qualified name. - // - template <typename T> - void - next (const std::string& ns, const std::string& name, const T& x); - - // Serialize next object model fragment into an element with the specified - // namespace and qualified name as well as namespace declarations. - // - template <typename T> - void - next (const std::string& ns, - const std::string& name, - const namespace_infomap&, - const T& x); - - // The next_open/close functions are like next() but split into two steps. - // next_open() serializes the object model fragment into an element leaving - // it open while next_close() closes the element. - // - template <typename T> - void - next_open (const std::string& name, const T& x); - - template <typename T> - void - next_open (const std::string& name, const namespace_infomap&, const T& x); - - template <typename T> - void - next_open (const std::string& ns, const std::string& name, const T& x); - - template <typename T> - void - next_open (const std::string& ns, - const std::string& name, - const namespace_infomap&, - const T& x); - - void - next_close (const std::string& name); - -private: - serializer (const serializer&); - - serializer& - operator= (const serializer&); - -private: - xercesc::DOMElement* - create (const std::string& name, const namespace_infomap&); - - xercesc::DOMElement* - create (const std::string& ns, - const std::string& name, - const namespace_infomap&); - - void - serialize (xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement>); - - void - serialize_open (xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement>); - - void - serialize_close (const std::string& name); - -private: - std::auto_ptr<serializer_impl> impl_; -}; - -template <typename T> -inline void serializer:: -next (const std::string& name, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e ( - create (name, namespace_infomap ())); - *e << x; - serialize (e); -} - -template <typename T> -inline void serializer:: -next (const std::string& name, const namespace_infomap& map, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e (create (name, map)); - *e << x; - serialize (e); -} - -template <typename T> -inline void serializer:: -next (const std::string& ns, const std::string& name, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e ( - create (ns, name, namespace_infomap ())); - *e << x; - serialize (e); -} - -template <typename T> -inline void serializer:: -next (const std::string& ns, - const std::string& name, - const namespace_infomap& map, - const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e (create (ns, name, map)); - *e << x; - serialize (e); -} - -template <typename T> -inline void serializer:: -next_open (const std::string& name, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e ( - create (name, namespace_infomap ())); - *e << x; - serialize_open (e); -} - -template <typename T> -inline void serializer:: -next_open (const std::string& name, const namespace_infomap& map, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e (create (name, map)); - *e << x; - serialize_open (e); -} - -template <typename T> -inline void serializer:: -next_open (const std::string& ns, const std::string& name, const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e ( - create (ns, name, namespace_infomap ())); - *e << x; - serialize_open (e); -} - -template <typename T> -inline void serializer:: -next_open (const std::string& ns, - const std::string& name, - const namespace_infomap& map, - const T& x) -{ - xsd::cxx::xml::dom::auto_ptr<xercesc::DOMElement> e (create (ns, name, map)); - *e << x; - serialize_open (e); -} - -inline void serializer:: -next_close (const std::string& name) -{ - serialize_close (name); -} - -#endif // SERIALIZER_HXX diff --git a/xsd/examples/cxx/tree/wildcard/README b/xsd/examples/cxx/tree/wildcard/README deleted file mode 100644 index d451509..0000000 --- a/xsd/examples/cxx/tree/wildcard/README +++ /dev/null @@ -1,34 +0,0 @@ -This example shows how to use the optional wildcard mapping provided -by C++/Tree to parse, access, modify, and serialize the XML data -matched by XML Schema wildcards (any and anyAttribute). For an -alternative approach that employes type customization see the -custom/wildcard example. - -The example consists of the following files: - -email.xsd - XML Schema which describes a simple email format with the - extensible envelope type. - -email.xml - Sample email message. - -email.hxx -email.ixx -email.cxx - C++ types that represent the given vocabulary, a set of parsing - functions that convert XML instance documents to a tree-like in-memory - object model, and a set of serialization functions that convert the - object model back to XML. These are generated by XSD from email.xsd. - Note that the --generate-wildcard option is used to request the - wildcard mapping. - -driver.cxx - Driver for the example. It first calls one of the parsing functions - that constructs the object model from the input file. It then prints - the content of the object model to STDERR. Next the driver creates a - reply email which is then serialized to XML. - -To run the example on the sample XML instance document simply execute: - -$ ./driver email.xml diff --git a/xsd/examples/cxx/tree/wildcard/driver.cxx b/xsd/examples/cxx/tree/wildcard/driver.cxx deleted file mode 100644 index 64acfce..0000000 --- a/xsd/examples/cxx/tree/wildcard/driver.cxx +++ /dev/null @@ -1,159 +0,0 @@ -// file : examples/cxx/tree/wildcard/driver.cxx -// copyright : not copyrighted - public domain - -#include <string> -#include <memory> // std::auto_ptr -#include <cstring> // std::memcpy -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "email.hxx" - -// The following string class keeps us sane when working with Xerces. -// Include it after the generated header in order to get only char or -// wchar_t version depending on how you compiled your schemas. -// -#include <xsd/cxx/xml/string.hxx> - -using std::cerr; -using std::endl; -using std::string; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " email.xml" << endl; - return 1; - } - - using namespace xercesc; - - int r (0); - - // The Xerces-C++ DOM objects that will be used to store the - // content matched by wildcards "out-live" the call to the - // parsing function. Therefore we need to initialize the - // Xerces-C++ runtime ourselves. - // - XMLPlatformUtils::Initialize (); - - try - { - using namespace email; - namespace xml = xsd::cxx::xml; - - // Read in the message. - // - std::auto_ptr<envelope> msg ( - message (argv[1], xml_schema::flags::dont_initialize)); - - // Print what we've got. - // - cerr << "To: " << msg->to () << endl - << "From: " << msg->from () << endl - << "Subject: " << msg->subject () << endl; - - envelope::any_sequence& body (msg->any ()); - - for (envelope::any_iterator i (body.begin ()); i != body.end (); ++i) - { - DOMElement& e (*i); - string name (xml::transcode<char> (e.getLocalName ())); - - if (name == "text") - { - // Create object representation for the text element. - // - xml_schema::string text (e); - - cerr << text << endl - << endl; - } - else if (name == "binary") - { - // Create object representation for the binary element. - // - binary bin (e); - - cerr << "binary: " << bin.name () << " type: " << bin.mime () << endl - << endl; - } - else - { - cerr << "unknown body type: " << name << endl; - } - } - - // Create a reply message. - // - envelope reply (msg->from (), msg->to (), "Re: " + msg->subject ()); - - // Copy the thread-id attribute from the original message if any. - // - envelope::any_attribute_set& as (msg->any_attribute ()); - envelope::any_attribute_iterator ti ( - as.find ("http://www.codesynthesis.com/email", "thread-id")); - - if (ti != as.end ()) - reply.any_attribute ().insert (*ti); - - // Add a text body. - // - DOMDocument& doc (reply.dom_document ()); - envelope::any_sequence& rbody (reply.any ()); - - xml_schema::string text ("Hi!\n\n" - "Indeed nice pictures. Check out mine.\n\n" - "Jane"); - - DOMElement* e ( - doc.createElementNS ( - xml::string ("http://www.codesynthesis.com/email").c_str (), - xml::string ("eml:text").c_str ())); - - *e << text; - rbody.push_back (e); - - // Add a (fake) image. - // - binary pic ("pic.jpg", "image/jpeg"); - pic.size (3); - std::memcpy (pic.data (), "123", 3); - - e = doc.createElementNS ( - xml::string ("http://www.codesynthesis.com/email").c_str (), - xml::string ("eml:binary").c_str ()); - - *e << pic; - rbody.push_back (e); - - - // Prepare namespace mapping and schema location information for - // serialization. - // - xml_schema::namespace_infomap map; - - map["eml"].name = "http://www.codesynthesis.com/email"; - map["eml"].schema = "email.xsd"; - - // Write it out. - // - message (std::cout, - reply, - map, - "UTF-8", - xml_schema::flags::dont_initialize); - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/examples/cxx/tree/wildcard/email.xml b/xsd/examples/cxx/tree/wildcard/email.xml deleted file mode 100644 index 9272d5c..0000000 --- a/xsd/examples/cxx/tree/wildcard/email.xml +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/wildcard/email.xml -copyright : not copyrighted - public domain - ---> - -<eml:message xmlns:eml="http://www.codesynthesis.com/email" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/email email.xsd" - eml:thread-id="123456789"> - - <to>Jane Doe <jane@doe.com></to> - <from>John Doe <john@doe.com></from> - <subject>Surfing pictures</subject> - - <eml:text> -Hi Jane, - -Here are cool pictures of me surfing. - -Cheers, -John - </eml:text> - - <eml:binary name="pic1.jpg" mime="image/jpeg">YmFzZTY0IGJpbmFyeQ==</eml:binary> - <eml:binary name="pic2.jpg" mime="image/jpeg">YmFzZTY0IGJpbmFyeQ==</eml:binary> - -</eml:message> diff --git a/xsd/examples/cxx/tree/wildcard/email.xsd b/xsd/examples/cxx/tree/wildcard/email.xsd deleted file mode 100644 index 239cb9d..0000000 --- a/xsd/examples/cxx/tree/wildcard/email.xsd +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/wildcard/email.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:eml="http://www.codesynthesis.com/email" - targetNamespace="http://www.codesynthesis.com/email"> - - <!-- Predefined envolop body types. --> - - <xsd:element name="text" type="xsd:string"/> - - <xsd:complexType name="binary"> - <xsd:simpleContent> - <xsd:extension base="xsd:base64Binary"> - <xsd:attribute name="name" type="xsd:string" use="required"/> - <xsd:attribute name="mime" type="xsd:string" use="required"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:element name="binary" type="eml:binary"/> - - <!-- Predefined envelop attributes. --> - - <xsd:attribute name="thread-id" type="xsd:unsignedInt"/> - - - <xsd:complexType name="envelope"> - <xsd:sequence> - <xsd:element name="to" type="xsd:string"/> - <xsd:element name="from" type="xsd:string"/> - <xsd:element name="subject" type="xsd:string"/> - - <!-- Extensible envelope body. --> - - <xsd:any namespace="##targetNamespace" processContents="strict" - maxOccurs="unbounded" /> - </xsd:sequence> - <xsd:anyAttribute namespace="##targetNamespace" processContents="strict"/> - </xsd:complexType> - - <xsd:element name="message" type="eml:envelope"/> - -</xsd:schema> diff --git a/xsd/examples/cxx/tree/wildcard/makefile b/xsd/examples/cxx/tree/wildcard/makefile deleted file mode 100644 index 8c6fe52..0000000 --- a/xsd/examples/cxx/tree/wildcard/makefile +++ /dev/null @@ -1,102 +0,0 @@ -# file : examples/cxx/tree/wildcard/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := email.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-inline --generate-wildcard \ ---generate-serialization --root-element message -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/email.xsd,$(install_doc_dir)/xsd/$(path)/email.xsd) - $(call install-data,$(src_base)/email.xml,$(install_doc_dir)/xsd/$(path)/email.xml) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/email.xsd,$(dist_prefix)/$(path)/email.xsd) - $(call install-data,$(src_base)/email.xml,$(dist_prefix)/$(path)/email.xml) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(bld_root)/install.make) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/xpath/README b/xsd/examples/cxx/tree/xpath/README deleted file mode 100644 index 1187743..0000000 --- a/xsd/examples/cxx/tree/xpath/README +++ /dev/null @@ -1,43 +0,0 @@ -This example shows how to use the C++/Tree mapping together with XPath. -In particular, it shows how to execute an XPath query on the underlying -DOM document and then handle the result using the more convenient object -model representation. For more information on maintaining association -with the underlying DOM document, refer to Section 5.1, "DOM Association" -in the C++/Tree Mapping User Manual. - -You will need the XQilla library[1] which provides XQuery and XPath 2 -support on top of Xerces-C++ in order to build and run this example. - -[1] http://xqilla.sourceforge.net - -The example consists of the following files: - -people.xsd - XML Schema definition for a simple person record vocabulary. - -people.xml - Sample XML instance document. - -people.hxx -people.cxx - C++ types that represent the person record vocabulary and a set of - parsing functions that convert XML instance documents to a tree-like - in-memory object model. These are generated by XSD from people.xsd. - -dom-parse.hxx -dom-parse.cxx - Definition and implementation of the parse() function that parses an - XML document to a DOM document. - -driver.cxx - Driver for the example. It first calls the above parse() function to - parse the input file to a DOM document using XQilla-provided DOM - Implementation with support for XPath 2. It then parses the DOM - document to the object model. Finally, it prepares and executes - an XPath query on the underlying DOM document and then handles - the result by getting back from the returned DOM nodes to object - model nodes. - -To run the example on the sample XML document simply execute: - -$ ./driver people.xml diff --git a/xsd/examples/cxx/tree/xpath/dom-parse.cxx b/xsd/examples/cxx/tree/xpath/dom-parse.cxx deleted file mode 100644 index 0282780..0000000 --- a/xsd/examples/cxx/tree/xpath/dom-parse.cxx +++ /dev/null @@ -1,88 +0,0 @@ -// file : examples/cxx/tree/xpath/dom-parse.cxx -// copyright : not copyrighted - public domain - -#include "dom-parse.hxx" - -#include <istream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -xml::dom::auto_ptr<DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate, - DOMImplementation* impl) -{ - xml::dom::auto_ptr<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable/Disable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, validate); - conf->setParameter (XMLUni::fgXercesSchema, validate); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Prepare input stream. - // - xml::sax::std_input_source isrc (is, id); - Wrapper4InputSource wrap (&isrc, false); - - xml::dom::auto_ptr<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<tree::parsing<char> > (); - - return doc; -} diff --git a/xsd/examples/cxx/tree/xpath/dom-parse.hxx b/xsd/examples/cxx/tree/xpath/dom-parse.hxx deleted file mode 100644 index 9fa0eb9..0000000 --- a/xsd/examples/cxx/tree/xpath/dom-parse.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : examples/cxx/tree/xpath/dom-parse.hxx -// copyright : not copyrighted - public domain - -#ifndef DOM_PARSE -#define DOM_PARSE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMImplementation.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -// Parse an XML document from the standard input stream with an -// optional resource id. Resource id is used in diagnostics as -// well as to locate schemas referenced from inside the document. -// -xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate, - xercesc::DOMImplementation*); - -#endif // DOM_PARSE diff --git a/xsd/examples/cxx/tree/xpath/driver.cxx b/xsd/examples/cxx/tree/xpath/driver.cxx deleted file mode 100644 index f9bd040..0000000 --- a/xsd/examples/cxx/tree/xpath/driver.cxx +++ /dev/null @@ -1,136 +0,0 @@ -// file : examples/cxx/tree/xpath/driver.cxx -// copyright : not copyrighted - public domain - -#include <memory> // std::auto_ptr -#include <string> -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> - -#include <xqilla/xqilla-dom3.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::string, xml::transcode - -#include "dom-parse.hxx" - -#include "people.hxx" - -using namespace std; -using namespace xercesc; -namespace xml = xsd::cxx::xml; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " people.xml" << endl; - return 1; - } - - int r (0); - - // Initialise Xerces-C++ and XQilla. - // - XQillaPlatformUtils::initialize(); - - // Get the XQilla DOMImplementation object with support for XPath. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation( - xml::string ("XPath2 3.0").c_str ())); - - try - { - using namespace people; - - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - // Parse the XML file to DOM using the XQilla DOMImplementation. - // - xml_schema::dom::auto_ptr<xercesc::DOMDocument> dom ( - parse (ifs, argv[1], true, impl)); - - // Parse the DOM document to the object model. We also request that - // the DOM document to be associated with the object model. - // - std::auto_ptr<directory> d ( - directory_ (dom, - xml_schema::flags::keep_dom | xml_schema::flags::own_dom)); - - // Obtain the root element and document corresponding to the - // directory object. - // - DOMElement* root (static_cast<DOMElement*> (d->_node ())); - DOMDocument* doc (root->getOwnerDocument ()); - - // Obtain namespace resolver. - // - xml_schema::dom::auto_ptr<DOMXPathNSResolver> resolver ( - doc->createNSResolver (root)); - - // Set the namespace prefix for the people namespace that we can - // use reliably in XPath expressions regardless of what is used - // in XML documents. - // - resolver->addNamespaceBinding ( - xml::string ("p").c_str (), - xml::string ("http://www.codesynthesis.com/people").c_str ()); - - // Create XPath expression. - // - xml_schema::dom::auto_ptr<DOMXPathExpression> expr ( - doc->createExpression ( - xml::string ("p:directory/person[age > 30]").c_str (), - resolver.get ())); - - // Execute the query. - // - xml_schema::dom::auto_ptr<DOMXPathResult> r ( - expr->evaluate (doc, DOMXPathResult::ITERATOR_RESULT_TYPE, 0)); - - // Iterate over the result. - // - cerr << "Records matching the query:" << endl; - - while (r->iterateNext ()) - { - DOMNode* n (r->getNodeValue ()); - - // Obtain the object model node corresponding to this DOM node. - // - person* p ( - static_cast<person*> ( - n->getUserData (xml_schema::dom::tree_node_key))); - - // Print the data using the object model. - // - cerr << endl - << "First : " << p->first_name () << endl - << "Last : " << p->last_name () << endl - << "Gender : " << p->gender () << endl - << "Age : " << p->age () << endl; - } - } - catch(const DOMException& e) - { - cerr << xml::transcode<char> (e.getMessage ()) << std::endl; - r = 1; - } - catch (const xml_schema::exception& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - XQillaPlatformUtils::terminate(); - return r; -} diff --git a/xsd/examples/cxx/tree/xpath/makefile b/xsd/examples/cxx/tree/xpath/makefile deleted file mode 100644 index 693c6b2..0000000 --- a/xsd/examples/cxx/tree/xpath/makefile +++ /dev/null @@ -1,123 +0,0 @@ -# file : examples/cxx/tree/xpath/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := people.xsd -cxx := driver.cxx dom-parse.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -ifeq ($(filter $(MAKECMDGOALS),dist dist-win install),) -$(call import,\ - $(scf_root)/import/libxqilla/stub.make,\ - l: xqilla.l,cpp-options: xqilla.l.cpp-options) -endif - - -# Build. -# -$(driver): $(obj) $(xqilla.l) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xqilla.l.cpp-options) $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - -# Install & Dist. -# -dist-common := $(out_base)/.dist-common - -$(install) $(dist) $(dist-win) $(dist-common): path := $(subst $(src_root)/,,$(src_base)) - -$(install): - $(call install-data,$(src_base)/README,$(install_doc_dir)/xsd/$(path)/README) - $(call install-data,$(src_base)/driver.cxx,$(install_doc_dir)/xsd/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(install_doc_dir)/xsd/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(install_doc_dir)/xsd/$(path)/people.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(install_doc_dir)/xsd/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(install_doc_dir)/xsd/$(path)/dom-parse.cxx) - -$(dist-common): - $(call install-data,$(src_base)/driver.cxx,$(dist_prefix)/$(path)/driver.cxx) - $(call install-data,$(src_base)/people.xsd,$(dist_prefix)/$(path)/people.xsd) - $(call install-data,$(src_base)/people.xml,$(dist_prefix)/$(path)/people.xml) - $(call install-data,$(src_base)/dom-parse.hxx,$(dist_prefix)/$(path)/dom-parse.hxx) - $(call install-data,$(src_base)/dom-parse.cxx,$(dist_prefix)/$(path)/dom-parse.cxx) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README) - -$(dist-win): |$(out_root)/.dist-pre -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/README,$(dist_prefix)/$(path)/README.txt) - $(call message,,todos $(dist_prefix)/$(path)/README.txt) - $(call meta-vc8sln,$(src_root)/dist/template-vc8.sln,xpath-vc8.sln) - $(call meta-vc9sln,$(src_root)/dist/template-vc9.sln,xpath-vc9.sln) - $(call meta-vc10sln,$(src_root)/dist/template-vc10.sln,xpath-vc10.sln) - $(call meta-vc11sln,$(src_root)/dist/template-vc11.sln,xpath-vc11.sln) - $(call meta-vc12sln,$(src_root)/dist/template-vc12.sln,xpath-vc12.sln) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) - -$(call include,$(bld_root)/install.make) -$(call include,$(bld_root)/meta/vc8sln.make) -$(call include,$(bld_root)/meta/vc9sln.make) -$(call include,$(bld_root)/meta/vc10sln.make) -$(call include,$(bld_root)/meta/vc11sln.make) -$(call include,$(bld_root)/meta/vc12sln.make) - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/examples/cxx/tree/xpath/people.xml b/xsd/examples/cxx/tree/xpath/people.xml deleted file mode 100644 index 9ad9ab6..0000000 --- a/xsd/examples/cxx/tree/xpath/people.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/xpath/people.xml -copyright : not copyrighted - public domain - ---> - -<ppl:directory xmlns:ppl="http://www.codesynthesis.com/people" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/people people.xsd"> - - <person> - <first-name>John</first-name> - <last-name>Doe</last-name> - <gender>male</gender> - <age>32</age> - </person> - - <person> - <first-name>Jane</first-name> - <last-name>Doe</last-name> - <gender>female</gender> - <age>28</age> - </person> - -</ppl:directory> diff --git a/xsd/examples/cxx/tree/xpath/people.xsd b/xsd/examples/cxx/tree/xpath/people.xsd deleted file mode 100644 index 5be94de..0000000 --- a/xsd/examples/cxx/tree/xpath/people.xsd +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0"?> - -<!-- - -file : examples/cxx/tree/xpath/people.xsd -copyright : not copyrighted - public domain - ---> - -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:ppl="http://www.codesynthesis.com/people" - targetNamespace="http://www.codesynthesis.com/people"> - - <xsd:simpleType name="gender"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="male"/> - <xsd:enumeration value="female"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="first-name" type="xsd:string"/> - <xsd:element name="last-name" type="xsd:string"/> - <xsd:element name="gender" type="ppl:gender"/> - <xsd:element name="age" type="xsd:unsignedShort"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="directory"> - <xsd:sequence> - <xsd:element name="person" type="ppl:person" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="directory" type="ppl:directory"/> - -</xsd:schema> diff --git a/xsd/examples/makefile b/xsd/examples/makefile deleted file mode 100644 index 42c2bb7..0000000 --- a/xsd/examples/makefile +++ /dev/null @@ -1,20 +0,0 @@ -# file : examples/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -default := $(out_base)/ -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -$(default): $(out_base)/cxx/parser/ $(out_base)/cxx/tree/ -$(install): $(out_base)/cxx/parser/.install $(out_base)/cxx/tree/.install -$(dist): $(out_base)/cxx/parser/.dist $(out_base)/cxx/tree/.dist -$(dist-win): $(out_base)/cxx/parser/.dist-win $(out_base)/cxx/tree/.dist-win -$(clean): $(out_base)/cxx/parser/.clean $(out_base)/cxx/tree/.clean - -$(call import,$(src_base)/cxx/parser/makefile) -$(call import,$(src_base)/cxx/tree/makefile) diff --git a/xsd/libxsd/FLOSSE b/xsd/libxsd/FLOSSE deleted file mode 100644 index cbf8b2c..0000000 --- a/xsd/libxsd/FLOSSE +++ /dev/null @@ -1,89 +0,0 @@ -1. Intent - -We want specified Free/Libre and Open Source Software ("FLOSS") to be -able to use the specified GPL-licensed XSD runtime library (libxsd) and -XSD generated code (collectively called the "Program") despite the fact -that not all FLOSS licenses are compatible with version 2 of the GNU -General Public License (the "GPL"). - -It is our intent to allow distribution of the entire Derivative Work -(including the Program) under one or more of the FLOSS licenses listed -in section 3 (section 2.a). It is also our intent to disallow simple -relicensing of the Program for the sole purpose of using it in -proprietary applications (section 2.b and 2.c). As an example, consider -two hypothetical scenarios: - - a) You created a program that uses the XSD generated code and the XSD - runtime library to access information in XML instance documents. - Your program performs useful computations based on this information - (sections 2.b and 2.c are satisfied). You distribute your program, - including the XSD generated code and the XSD runtime library under - the BSD license and make it available at no charge to all third - parties (section 2.a is satisfied). Later you (or someone else) may - choose to base their proprietary application on your code since the - BSD license does not prohibit it. - - This scenario falls under this FLOSS Exception. - - - b) You created a library that uses the XSD generated code and the XSD - runtime library to access information in XML instance documents. You - did not add to the library any other useful code that uses the XSD - generated code or the XSD runtime library (neither section 2.b nor - 2.c is satisfied). You distribute your library, including the XSD - generated code and the XSD runtime library under the BSD license and - make it available at no charge to all third parties (section 2.a - is satisfied). Later you base your proprietary application on this - library since the BSD license does not prohibit it. - - This scenario does not fall under this FLOSS Exception (neither - section 2.b nor 2.c is satisfied). You created the library for the - sole purpose of making the XSD generated code and the XSD runtime - library available to your proprietary application. - - -2. Legal Terms and Conditions - -As a special exception to the terms and conditions of version 2 of -the GPL you are free to distribute a verbatim copy of the Program -as part of the Derivative Work that is formed from the Program or -any part thereof and one or more works (each, a "FLOSS Work") as -long as you also meet all of these conditions: - - a) You must cause the Derivative Work that in whole or in part - contains or is derived from the Program or any part thereof, - to be licensed as a whole at no charge to all third parties - under the terms of one or more of the licenses listed in - section 3. - - b) The Derivative Work should contain one or more FLOSS Work that - can be reasonably considered as derived from the Program or some - part thereof. - - c) The Derivative Work should not contain any part of the Program - that cannot be reasonably considered as a base of one or more - FLOSS Work. - - -3. FLOSS License List - - a) Any license listed in the "GPL-Compatible Free Software Licenses" - and the "GPL-Incompatible Free Software Licenses" sections of the - License List as published by the Free Software Foundation (FSF): - - http://www.gnu.org/licenses/license-list.html - - -4. Definitions - -Terms used, but not defined, herein shall have the meaning provided in -the GPL. - -Derivative Work means a derivative work under copyright law. - - -5. Applicability - -You may choose to redistribute a copy of the Program exclusively under -the terms of the GPL by removing the FLOSS Exception notice from that -copy of the Program. diff --git a/xsd/libxsd/GPLv2 b/xsd/libxsd/GPLv2 deleted file mode 100644 index 3912109..0000000 --- a/xsd/libxsd/GPLv2 +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/xsd/libxsd/INSTALL b/xsd/libxsd/INSTALL deleted file mode 100644 index c9b4625..0000000 --- a/xsd/libxsd/INSTALL +++ /dev/null @@ -1,17 +0,0 @@ -Prerequisites - - run-time: - - - libxerces-c >= 3.0.0 http://xerces.apache.org/xerces-c/ - - -Building libxsd - - No building is necessary at the moment. - - -Installing libxsd - - Not supported in this version. You may want to copy libxsd/xsd - to $(prefix)/include so that you have $(prefix)/include/xsd/*. - diff --git a/xsd/libxsd/LICENSE b/xsd/libxsd/LICENSE deleted file mode 100644 index 42346bf..0000000 --- a/xsd/libxsd/LICENSE +++ /dev/null @@ -1,26 +0,0 @@ -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License version 2 as -published by the Free Software Foundation. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -In addition, as a special exception, Code Synthesis Tools CC gives -permission to link this program with the Xerces-C++ library (or with -modified versions of Xerces-C++ that use the same license as Xerces-C++), -and distribute linked combinations including the two. You must obey -the GNU General Public License version 2 in all respects for all of -the code used other than Xerces-C++. If you modify this copy of the -program, you may extend this exception to your version of the program, -but you are not obligated to do so. If you do not wish to do so, delete -this exception statement from your version. - -In addition, Code Synthesis Tools CC makes a special exception for -the Free/Libre and Open Source Software (FLOSS) which is described -in the accompanying FLOSSE file. diff --git a/xsd/libxsd/README b/xsd/libxsd/README deleted file mode 100644 index 25fd38a..0000000 --- a/xsd/libxsd/README +++ /dev/null @@ -1,12 +0,0 @@ -libxsd is a runtime library for language mappings generated by -CodeSynthesis XSD, a W3C XML Schema to C++ data binding compiler. - -See the LICENSE file for distribution conditions. - -See the INSTALL file for prerequisites and installation instructions. - -The project page is at http://www.codesynthesis.com/projects/xsd/ - -Send bug reports or any other feedback to the xsd-users@codesynthesis.com -mailing list. - diff --git a/xsd/libxsd/makefile b/xsd/libxsd/makefile deleted file mode 100644 index 1deb770..0000000 --- a/xsd/libxsd/makefile +++ /dev/null @@ -1,44 +0,0 @@ -# file : libxsd/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win - - -# Install. -# -$(install): - $(call install-dir,$(src_base)/xsd,$(install_inc_dir)/xsd) - $(call install-data,$(src_base)/FLOSSE,$(install_doc_dir)/libxsd/FLOSSE) - $(call install-data,$(src_base)/GPLv2,$(install_doc_dir)/libxsd/GPLv2) - $(call install-data,$(src_base)/LICENSE,$(install_doc_dir)/libxsd/LICENSE) - $(call install-data,$(src_base)/README,$(install_doc_dir)/libxsd/README) - -# Dist. -# -dist-common := $(out_base)/.dist-common - -$(dist-common): - $(call install-dir,$(src_base)/xsd,$(dist_prefix)/libxsd/xsd) - -$(dist): $(dist-common) - $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/libxsd/GPLv2) - $(call install-data,$(src_base)/FLOSSE,$(dist_prefix)/libxsd/FLOSSE) - $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/libxsd/LICENSE) - $(call install-data,$(src_base)/README,$(dist_prefix)/libxsd/README) - -$(dist-win): $(dist-common) - $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/libxsd/GPLv2.txt) - $(call message,,todos $(dist_prefix)/libxsd/GPLv2.txt) - $(call install-data,$(src_base)/FLOSSE,$(dist_prefix)/libxsd/FLOSSE.txt) - $(call message,,todos $(dist_prefix)/libxsd/FLOSSE.txt) - $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/libxsd/LICENSE.txt) - $(call message,,todos $(dist_prefix)/libxsd/LICENSE.txt) - $(call install-data,$(src_base)/README,$(dist_prefix)/libxsd/README.txt) - $(call message,,todos $(dist_prefix)/libxsd/README.txt) - -$(call include,$(bld_root)/install.make) diff --git a/xsd/libxsd/xsd/cxx/auto-array.hxx b/xsd/libxsd/xsd/cxx/auto-array.hxx deleted file mode 100644 index 584785e..0000000 --- a/xsd/libxsd/xsd/cxx/auto-array.hxx +++ /dev/null @@ -1,119 +0,0 @@ -// file : xsd/cxx/auto-array.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_AUTO_ARRAY_HXX -#define XSD_CXX_AUTO_ARRAY_HXX - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# error use std::unique_ptr instead of non-standard auto_array -#endif - -#include <cstddef> // std::size_t - -namespace xsd -{ - namespace cxx - { - template <typename T> - struct std_array_deleter - { - void - operator() (T* p) const - { - delete[] p; - } - }; - - // Simple automatic array. The second template parameter is - // an optional deleter type. If not specified, delete[] - // is used. - // - template <typename T, typename D = std_array_deleter<T> > - struct auto_array - { - auto_array (T a[]) - : a_ (a), d_ (0) - { - } - - auto_array (T a[], const D& d) - : a_ (a), d_ (&d) - { - } - - ~auto_array () - { - if (d_ != 0) - (*d_) (a_); - else - delete[] a_; - } - - T& - operator[] (std::size_t index) const - { - return a_[index]; - } - - T* - get () const - { - return a_; - } - - T* - release () - { - T* tmp (a_); - a_ = 0; - return tmp; - } - - void - reset (T a[] = 0) - { - if (a_ != a) - { - if (d_ != 0) - (*d_) (a_); - else - delete[] a_; - - a_ = a; - } - } - - typedef void (auto_array::*bool_convertible)(); - - operator bool_convertible () const - { - return a_ ? &auto_array<T, D>::true_ : 0; - } - - private: - auto_array (const auto_array&); - - auto_array& - operator= (const auto_array&); - - private: - void - true_ (); - - private: - T* a_; - const D* d_; - }; - - template <typename T, typename D> - void auto_array<T, D>:: - true_ () - { - } - } -} - -#endif // XSD_CXX_AUTO_ARRAY_HXX diff --git a/xsd/libxsd/xsd/cxx/compilers/vc-8/post.hxx b/xsd/libxsd/xsd/cxx/compilers/vc-8/post.hxx deleted file mode 100644 index a8d25a6..0000000 --- a/xsd/libxsd/xsd/cxx/compilers/vc-8/post.hxx +++ /dev/null @@ -1,5 +0,0 @@ -// file : xsd/cxx/compilers/vc-8/post.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#pragma warning (pop) diff --git a/xsd/libxsd/xsd/cxx/compilers/vc-8/pre.hxx b/xsd/libxsd/xsd/cxx/compilers/vc-8/pre.hxx deleted file mode 100644 index 82ca41d..0000000 --- a/xsd/libxsd/xsd/cxx/compilers/vc-8/pre.hxx +++ /dev/null @@ -1,27 +0,0 @@ -// file : xsd/cxx/compilers/vc-8/pre.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// These warnings had to be disabled "for good". -// -#pragma warning (disable:4250) // inherits via dominance -#pragma warning (disable:4661) // no definition for explicit instantiation - - -// Push warning state. -// -#pragma warning (push, 3) - - -// Disabled warnings. -// -#pragma warning (disable:4355) // passing 'this' to a member -#pragma warning (disable:4800) // forcing value to bool -#pragma warning (disable:4275) // non dll-interface base -#pragma warning (disable:4251) // base needs to have dll-interface -#pragma warning (disable:4224) // nonstandard extension (/Za option) - - -// Elevated warnings. -// -#pragma warning (2:4239) // standard doesn't allow this conversion diff --git a/xsd/libxsd/xsd/cxx/config.hxx b/xsd/libxsd/xsd/cxx/config.hxx deleted file mode 100644 index 076b107..0000000 --- a/xsd/libxsd/xsd/cxx/config.hxx +++ /dev/null @@ -1,47 +0,0 @@ -// file : xsd/cxx/config.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_CONFIG_HXX -#define XSD_CXX_CONFIG_HXX - -#include <xsd/cxx/version.hxx> - -// Available C++11 features. -// -#ifdef XSD_CXX11 -#ifdef _MSC_VER -# if _MSC_VER >= 1600 -# define XSD_CXX11_NULLPTR -# if _MSC_VER >= 1800 -# define XSD_CXX11_TEMPLATE_ALIAS -# endif -# endif -#else -# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L -# ifdef __GNUC__ -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 -# define XSD_CXX11_NULLPTR -# endif -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || __GNUC__ > 4 -# define XSD_CXX11_TEMPLATE_ALIAS -# endif -# else -# define XSD_CXX11_NULLPTR -# define XSD_CXX11_TEMPLATE_ALIAS -# endif -# endif -#endif -#endif // XSD_CXX11 - -#ifdef XSD_CXX11 -# define XSD_AUTO_PTR std::unique_ptr -#else -# define XSD_AUTO_PTR std::auto_ptr -#endif - -// Macro to suppress the unused variable warning. -// -#define XSD_UNUSED(x) (void)x - -#endif // XSD_CXX_CONFIG_HXX diff --git a/xsd/libxsd/xsd/cxx/exceptions.hxx b/xsd/libxsd/xsd/cxx/exceptions.hxx deleted file mode 100644 index 45f5dc6..0000000 --- a/xsd/libxsd/xsd/cxx/exceptions.hxx +++ /dev/null @@ -1,20 +0,0 @@ -// file : xsd/cxx/exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_EXCEPTIONS_HXX -#define XSD_CXX_EXCEPTIONS_HXX - -#include <exception> // std::exception - -namespace xsd -{ - namespace cxx - { - struct exception: std::exception - { - }; - } -} - -#endif // XSD_CXX_EXCEPTIONS_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/document.hxx b/xsd/libxsd/xsd/cxx/parser/document.hxx deleted file mode 100644 index 731808b..0000000 --- a/xsd/libxsd/xsd/cxx/parser/document.hxx +++ /dev/null @@ -1,89 +0,0 @@ -// file : xsd/cxx/parser/document.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_DOCUMENT_HXX -#define XSD_CXX_PARSER_DOCUMENT_HXX - -#include <string> -#include <cstddef> // std::size_t - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/parser/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // If you want to use a different underlying XML parser, all you - // need to do is to route events to this interface. - // - template <typename C> - class document - { - public: - virtual - ~document (); - - document (parser_base<C>& root, - const std::basic_string<C>& ns, - const std::basic_string<C>& name); - - public: - // The type argument is a type name and namespace from the - // xsi:type attribute in the form "<name> <namespace>" with - // the space and namespace part absent if the type does not - // have a namespace or 0 if xsi:type is not present. - // - void - start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - void - end_element (const ro_string<C>& ns, const ro_string<C>& name); - - void - attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - void - characters (const ro_string<C>&); - - protected: - document (); - - // This function is called to obtain the root element type parser. - // If the returned pointed is 0 then the whole document content - // is ignored. - // - virtual parser_base<C>* - start_root_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - // This function is called to indicate the completion of document - // parsing. The parser argument contains the pointer returned by - // start_root_element. - // - virtual void - end_root_element (const ro_string<C>& ns, - const ro_string<C>& name, - parser_base<C>* parser); - - private: - parser_base<C>* root_; - std::basic_string<C> ns_; - std::basic_string<C> name_; - std::size_t depth_; - }; - } - } -} - -#include <xsd/cxx/parser/document.txx> - -#endif // XSD_CXX_PARSER_DOCUMENT_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/document.txx b/xsd/libxsd/xsd/cxx/parser/document.txx deleted file mode 100644 index 3c25574..0000000 --- a/xsd/libxsd/xsd/cxx/parser/document.txx +++ /dev/null @@ -1,128 +0,0 @@ -// file : xsd/cxx/parser/document.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <cassert> - -#include <xsd/cxx/parser/schema-exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // document - // - template <typename C> - document<C>:: - ~document () - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& root, - const std::basic_string<C>& ns, - const std::basic_string<C>& name) - : root_ (&root), ns_ (ns), name_ (name), depth_ (0) - { - } - - template <typename C> - document<C>:: - document () - : root_ (0), depth_ (0) - { - } - - template <typename C> - void document<C>:: - start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - if (depth_++ > 0) - { - if (root_) - root_->_start_element (ns, name, type); - } - else - { - root_ = start_root_element (ns, name, type); - - if (root_) - { - // pre () is called by the user. - // - root_->_pre_impl (); - } - } - } - - template <typename C> - void document<C>:: - end_element (const ro_string<C>& ns, const ro_string<C>& name) - { - assert (depth_ > 0); - - if (--depth_ > 0) - { - if (root_) - root_->_end_element (ns, name); - } - else - { - if (root_) - { - root_->_post_impl (); - // - // post() is called by the user. - } - - end_root_element (ns, name, root_); - } - } - - template <typename C> - void document<C>:: - attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - if (root_) - root_->_attribute (ns, name, value); - } - - template <typename C> - void document<C>:: - characters (const ro_string<C>& s) - { - if (root_) - root_->_characters (s); - } - - template <typename C> - parser_base<C>* document<C>:: - start_root_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>*) - { - if (name_ == name && ns_ == ns) - { - return root_; - } - else - throw expected_element<C> (ns_, name_, ns, name); - } - - template <typename C> - void document<C>:: - end_root_element (const ro_string<C>&, - const ro_string<C>&, - parser_base<C>*) - { - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/elements.hxx b/xsd/libxsd/xsd/cxx/parser/elements.hxx deleted file mode 100644 index 2f814d1..0000000 --- a/xsd/libxsd/xsd/cxx/parser/elements.hxx +++ /dev/null @@ -1,94 +0,0 @@ -// file : xsd/cxx/parser/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_ELEMENTS_HXX -#define XSD_CXX_PARSER_ELEMENTS_HXX - -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // pre() and post() are overridable pre/post callbacks, i.e., the - // derived parser can override them without calling the base version. - // _pre() and _post() are not overridable pre/post callbacks in the - // sense that the derived parser may override them but has to call - // the base version. The call sequence is as shown below: - // - // pre () - // _pre () - // _post () - // post () - // - template <typename C> - class parser_base - { - public: - virtual - ~parser_base (); - - virtual void - pre (); - - virtual void - _pre (); - - // The type argument is a type name and namespace from the - // xsi:type attribute in the form "<name> <namespace>" with - // the space and namespace part absent if the type does not - // have a namespace or 0 if xsi:type is not present. - // - virtual void - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) = 0; - - virtual void - _end_element (const ro_string<C>& ns, - const ro_string<C>& name) = 0; - - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) = 0; - - virtual void - _characters (const ro_string<C>&) = 0; - - virtual void - _post (); - - // The post() signature varies depending on the parser return - // type. - // - - // Implementation callbacks for _pre and _post. The _pre and _post - // callbacks should never be called directly. Instead, the *_impl - // versions should be used. By default _pre_impl and _post_impl - // simply call _pre and _post respectively. - // - virtual void - _pre_impl (); - - virtual void - _post_impl (); - - public: - // Dynamic type in the form "<name> <namespace>" with - // the space and namespace part absent if the type does - // not have a namespace. Used in polymorphism-aware code. - // - virtual const C* - _dynamic_type () const; - }; - } - } -} - -#include <xsd/cxx/parser/elements.txx> - -#endif // XSD_CXX_PARSER_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/elements.txx b/xsd/libxsd/xsd/cxx/parser/elements.txx deleted file mode 100644 index 3aaf017..0000000 --- a/xsd/libxsd/xsd/cxx/parser/elements.txx +++ /dev/null @@ -1,59 +0,0 @@ -// file : xsd/cxx/parser/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // parser_base - // - template <typename C> - parser_base<C>:: - ~parser_base () - { - } - - template <typename C> - void parser_base<C>:: - pre () - { - } - - template <typename C> - void parser_base<C>:: - _pre () - { - } - - template <typename C> - void parser_base<C>:: - _post () - { - } - - template <typename C> - void parser_base<C>:: - _pre_impl () - { - _pre (); - } - - template <typename C> - void parser_base<C>:: - _post_impl () - { - _post (); - } - - template <typename C> - const C* parser_base<C>:: - _dynamic_type () const - { - return 0; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/error-handler.hxx b/xsd/libxsd/xsd/cxx/parser/error-handler.hxx deleted file mode 100644 index 1352bec..0000000 --- a/xsd/libxsd/xsd/cxx/parser/error-handler.hxx +++ /dev/null @@ -1,56 +0,0 @@ -// file : xsd/cxx/parser/error-handler.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_ERROR_HANDLER_HXX -#define XSD_CXX_PARSER_ERROR_HANDLER_HXX - -#include <xsd/cxx/xml/error-handler.hxx> - -#include <xsd/cxx/parser/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - template <typename C> - class error_handler: public xml::error_handler<C> - { - public: - typedef typename xml::error_handler<C>::severity severity; - - error_handler () - : failed_ (false) - { - } - - virtual bool - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity s, - const std::basic_string<C>& message); - - void - throw_if_failed () const; - - void - reset () - { - failed_ = false; - diagnostics_.clear (); - } - - private: - bool failed_; - diagnostics<C> diagnostics_; - }; - } - } -} - -#include <xsd/cxx/parser/error-handler.txx> - -#endif // XSD_CXX_PARSER_ERROR_HANDLER_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/error-handler.txx b/xsd/libxsd/xsd/cxx/parser/error-handler.txx deleted file mode 100644 index db247a7..0000000 --- a/xsd/libxsd/xsd/cxx/parser/error-handler.txx +++ /dev/null @@ -1,40 +0,0 @@ -// file : xsd/cxx/parser/error-handler.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - template <typename C> - bool error_handler<C>:: - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity s, - const std::basic_string<C>& message) - { - diagnostics_.push_back ( - error<C> (s == severity::warning - ? cxx::parser::severity::warning - : cxx::parser::severity::error, - id, line, column, message)); - - if (!failed_ && s != severity::warning) - failed_ = true; - - return true; - } - - template <typename C> - void error_handler<C>:: - throw_if_failed () const - { - if (failed_) - throw parsing<C> (diagnostics_); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/exceptions.hxx deleted file mode 100644 index 04cf30f..0000000 --- a/xsd/libxsd/xsd/cxx/parser/exceptions.hxx +++ /dev/null @@ -1,152 +0,0 @@ -// file : xsd/cxx/parser/exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_EXCEPTIONS_HXX -#define XSD_CXX_PARSER_EXCEPTIONS_HXX - -#include <string> -#include <vector> -#include <ostream> - -#include <xsd/cxx/exceptions.hxx> // xsd::cxx::exception -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // - // - template <typename C> - struct exception: xsd::cxx::exception - { - friend - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const exception& e) - { - e.print (os); - return os; - } - - protected: - virtual void - print (std::basic_ostream<C>&) const = 0; - }; - - - // - // - struct severity - { - enum value - { - warning, - error - }; - - severity (value v) : v_ (v) {} - operator value () const { return v_; } - - private: - value v_; - }; - - template <typename C> - struct error - { - error (cxx::parser::severity, - const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message); - - cxx::parser::severity - severity () const - { - return severity_; - } - - const std::basic_string<C>& - id () const - { - return id_; - } - - unsigned long - line () const - { - return line_; - } - - unsigned long - column () const - { - return column_; - } - - const std::basic_string<C>& - message () const - { - return message_; - } - - private: - cxx::parser::severity severity_; - std::basic_string<C> id_; - unsigned long line_; - unsigned long column_; - std::basic_string<C> message_; - }; - - // See exceptions.ixx for operator<< (error). - - - // - // - template <typename C> - struct diagnostics: std::vector<error<C> > - { - }; - - // See exceptions.ixx for operator<< (diagnostics). - - // - // - template <typename C> - struct parsing: exception<C> - { - virtual - ~parsing () throw (); - - parsing (); - - parsing (const cxx::parser::diagnostics<C>&); - - const cxx::parser::diagnostics<C>& - diagnostics () const - { - return diagnostics_; - } - - virtual const char* - what () const throw (); - - protected: - virtual void - print (std::basic_ostream<C>&) const; - - private: - cxx::parser::diagnostics<C> diagnostics_; - }; - } - } -} - -#include <xsd/cxx/parser/exceptions.txx> - -#endif // XSD_CXX_PARSER_EXCEPTIONS_HXX - -#include <xsd/cxx/parser/exceptions.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/exceptions.ixx deleted file mode 100644 index f7489f3..0000000 --- a/xsd/libxsd/xsd/cxx/parser/exceptions.ixx +++ /dev/null @@ -1,128 +0,0 @@ -// file : xsd/cxx/parser/exceptions.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR -#define XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // error - // - inline - std::basic_ostream<char>& - operator<< (std::basic_ostream<char>& os, const error<char>& e) - { - return os << e.id () << ':' << e.line () << ':' << e.column () - << (e.severity () == severity::error - ? " error: " - : " warning: ") << e.message (); - } - - - // diagnostics - // - inline - std::basic_ostream<char>& - operator<< (std::basic_ostream<char>& os, const diagnostics<char>& d) - { - for (diagnostics<char>::const_iterator b (d.begin ()), i (b); - i != d.end (); - ++i) - { - if (i != b) - os << "\n"; - - os << *i; - } - - return os; - } - - // parsing - // - template<> - inline - void parsing<char>:: - print (std::basic_ostream<char>& os) const - { - if (diagnostics_.empty ()) - os << "instance document parsing failed"; - else - os << diagnostics_; - } - } - } -} - -#endif // XSD_CXX_PARSER_EXCEPTIONS_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR -#define XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // error - // - inline - std::basic_ostream<wchar_t>& - operator<< (std::basic_ostream<wchar_t>& os, const error<wchar_t>& e) - { - return os << e.id () << L':' << e.line () << L':' << e.column () - << (e.severity () == severity::error - ? L" error: " - : L" warning: ") << e.message (); - } - - // diagnostics - // - inline - std::basic_ostream<wchar_t>& - operator<< (std::basic_ostream<wchar_t>& os, - const diagnostics<wchar_t>& d) - { - for (diagnostics<wchar_t>::const_iterator b (d.begin ()), i (b); - i != d.end (); - ++i) - { - if (i != b) - os << L"\n"; - - os << *i; - } - - return os; - } - - // parsing - // - template<> - inline - void parsing<wchar_t>:: - print (std::basic_ostream<wchar_t>& os) const - { - if (diagnostics_.empty ()) - os << L"instance document parsing failed"; - else - os << diagnostics_; - } - } - } -} - -#endif // XSD_CXX_PARSER_EXCEPTIONS_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/exceptions.txx b/xsd/libxsd/xsd/cxx/parser/exceptions.txx deleted file mode 100644 index d0e52b6..0000000 --- a/xsd/libxsd/xsd/cxx/parser/exceptions.txx +++ /dev/null @@ -1,58 +0,0 @@ -// file : xsd/cxx/parser/exceptions.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // error - // - template <typename C> - error<C>:: - error (cxx::parser::severity s, - const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message) - : severity_ (s), - id_ (id), - line_ (line), - column_ (column), - message_ (message) - { - } - - - // parsing - // - template <typename C> - parsing<C>:: - ~parsing () throw () - { - } - - template <typename C> - parsing<C>:: - parsing () - { - } - - template <typename C> - parsing<C>:: - parsing (const cxx::parser::diagnostics<C>& diagnostics) - : diagnostics_ (diagnostics) - { - } - - template <typename C> - const char* parsing<C>:: - what () const throw () - { - return "instance document parsing failed"; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx b/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx deleted file mode 100644 index 86e7a73..0000000 --- a/xsd/libxsd/xsd/cxx/parser/expat/elements.hxx +++ /dev/null @@ -1,362 +0,0 @@ -// file : xsd/cxx/parser/expat/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX -#define XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#include <string> -#include <iosfwd> -#include <cstddef> // std::size_t -#include <vector> - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#endif - -#include <expat.h> - -// We only support UTF-8 expat for now. -// -#ifdef XML_UNICODE -#error UTF-16 expat (XML_UNICODE defined) is not supported -#endif - -#include <xsd/cxx/xml/error-handler.hxx> - -#include <xsd/cxx/parser/exceptions.hxx> -#include <xsd/cxx/parser/elements.hxx> -#include <xsd/cxx/parser/document.hxx> -#include <xsd/cxx/parser/error-handler.hxx> -#include <xsd/cxx/parser/schema-exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace expat - { -#ifdef XSD_CXX11 - struct parser_deleter - { - void - operator() (XML_Parser p) const - { - if (p != 0) - XML_ParserFree (p); - } - }; - - typedef std::unique_ptr<XML_ParserStruct> parser_auto_ptr; -#else - // Simple auto pointer for Expat's XML_Parser object. - // - struct parser_auto_ptr - { - ~parser_auto_ptr () - { - if (parser_ != 0) - XML_ParserFree (parser_); - } - - explicit - parser_auto_ptr (XML_Parser parser = 0) - : parser_ (parser) - { - } - - parser_auto_ptr& - operator= (XML_Parser parser) - { - if (parser_ != 0) - XML_ParserFree (parser_); - - parser_ = parser; - return *this; - } - - XML_Parser - get () const - { - return parser_; - } - - private: - parser_auto_ptr (const parser_auto_ptr&); - - parser_auto_ptr& - operator= (const parser_auto_ptr&); - - private: - XML_Parser parser_; - }; -#endif // XSD_CXX11 - - // - // - template <typename C> - struct document: cxx::parser::document<C> // VC likes it qualified - { - public: - document (parser_base<C>&, - const C* root_element_name, - bool polymorphic = false); - - document (parser_base<C>&, - const std::basic_string<C>& root_element_name, - bool polymorphic = false); - - document (parser_base<C>&, - const C* root_element_namespace, - const C* root_element_name, - bool polymorphic = false); - - document (parser_base<C>&, - const std::basic_string<C>& root_element_namespace, - const std::basic_string<C>& root_element_name, - bool polymorphic = false); - - protected: - document (bool polymorphic = false); - - public: - // Parse a local file. The file is accessed with std::ifstream - // in binary mode. The std::ios_base::failure exception is used - // to report io errors (badbit and failbit). - void - parse (const std::basic_string<C>& file); - - // Parse a local file with a user-provided error_handler - // object. The file is accessed with std::ifstream in binary - // mode. The std::ios_base::failure exception is used to report - // io errors (badbit and failbit). - // - void - parse (const std::basic_string<C>& file, xml::error_handler<C>&); - - public: - // System id is a "system" identifier of the resources (e.g., - // URI or a full file path). Public id is a "public" identifier - // of the resource (e.g., application-specific name or relative - // file path). System id is used to resolve relative paths. - // In diagnostics messages system id is used if public id is - // not available. Otherwise public id is used. - // - - // Parse std::istream. - // - void - parse (std::istream&); - - // Parse std::istream with a user-provided error_handler object. - // - void - parse (std::istream&, xml::error_handler<C>&); - - // Parse std::istream with a system id. - // - void - parse (std::istream&, const std::basic_string<C>& system_id); - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - xml::error_handler<C>&); - - // Parse std::istream with system and public ids. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id); - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>&); - - public: - // Parse a chunk of input. You can call these functions multiple - // times with the last call having the last argument true. - // - void - parse (const void* data, std::size_t size, bool last); - - void - parse (const void* data, std::size_t size, bool last, - xml::error_handler<C>&); - - void - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id); - - void - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - xml::error_handler<C>&); - - void - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id); - - void - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>&); - - public: - // Low-level Expat-specific parsing API. A typical use case - // would look like this (pseudo-code): - // - // xxx_pimpl root; - // document doc (root, "root"); - // - // root.pre (); - // doc.parse_begin (xml_parser, "file.xml"); - // - // while (more_stuff_to_parse &&) - // { - // // Call XML_Parse or XML_ParseBuffer. - // - // if (status == XML_STATUS_ERROR) - // break; - // } - // - // // Call parse_end even in case of an error to translate - // // XML and Schema errors to exceptions or error_handler - // // calls. - // // - // doc.parse_end (); - // result_type result (root.post_xxx ()); - // - // Notes: - // - // 1. If your XML instances use XML namespaces, the - // XML_ParserCreateNS functions should be used to create the - // XML parser. Space (XML_Char (' ')) should be used as a - // separator (the second argument to XML_ParserCreateNS). - // - void - parse_begin (XML_Parser); - - void - parse_begin (XML_Parser, const std::basic_string<C>& public_id); - - void - parse_begin (XML_Parser, xml::error_handler<C>&); - - void - parse_begin (XML_Parser, - const std::basic_string<C>& public_id, - xml::error_handler<C>&); - void - parse_end (); - - // Event routing. - // - public: - static void XMLCALL - start_element_thunk_ (void*, const XML_Char*, const XML_Char**); - - static void XMLCALL - end_element_thunk_ (void*, const XML_Char*); - - static void XMLCALL - characters_thunk_ (void*, const XML_Char*, int); - - static void XMLCALL - start_namespace_decl_thunk_ ( - void*, const XML_Char*, const XML_Char*); - - static void XMLCALL - end_namespace_decl_thunk_ (void*, const XML_Char*); - - protected: - void - start_element_ (const XML_Char* ns_name, const XML_Char** atts); - - void - end_element_ (const XML_Char* ns_name); - - void - characters_ (const XML_Char* s, std::size_t n); - - void - start_namespace_decl_ (const XML_Char* prefix, const XML_Char* ns); - - void - end_namespace_decl_ (const XML_Char* prefix); - - protected: - void - set (); - - void - clear (); - - bool - parse (std::istream&, - const std::basic_string<C>* system_id, - const std::basic_string<C>* public_id, - xml::error_handler<C>&); - - bool - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>* system_id, - const std::basic_string<C>* public_id, - xml::error_handler<C>&); - - - void - translate_schema_exception (const schema_exception<C>& e); - - protected: - XML_Parser xml_parser_; - parser_auto_ptr auto_xml_parser_; - - xml::error_handler<C>* eh_; - error_handler<C> default_eh_; - std::basic_string<C> public_id_; - - bool polymorphic_; - - // Namespace-prefix mapping. Only maintained in the polymorphic - // case. - // - struct ns_decl - { - ns_decl (const std::basic_string<C>& p, - const std::basic_string<C>& n) - : prefix (p), ns (n) - { - } - - std::basic_string<C> prefix; - std::basic_string<C> ns; - }; - - typedef std::vector<ns_decl> ns_decls; - - ns_decls ns_decls_; - }; - } - } - } -} - -#include <xsd/cxx/parser/expat/elements.txx> - -#endif // XSD_CXX_PARSER_EXPAT_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/expat/elements.txx b/xsd/libxsd/xsd/cxx/parser/expat/elements.txx deleted file mode 100644 index d3fc0d9..0000000 --- a/xsd/libxsd/xsd/cxx/parser/expat/elements.txx +++ /dev/null @@ -1,821 +0,0 @@ -// file : xsd/cxx/parser/expat/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <new> // std::bad_alloc -#include <istream> -#include <fstream> -#include <cstring> // std::strchr -#include <cassert> - -#include <xsd/cxx/xml/bits/literals.hxx> // xml::bits::{xml_prefix, etc} - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace expat - { - - // document - // - - template <typename C> - document<C>:: - document (parser_base<C>& p, - const std::basic_string<C>& name, - bool polymorphic) - : cxx::parser::document<C> (p, std::basic_string<C> (), name), - xml_parser_ (0), - eh_ (0), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& p, - const C* name, - bool polymorphic) - : cxx::parser::document<C> (p, std::basic_string<C> (), name), - xml_parser_ (0), - eh_ (0), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& p, - const C* ns, - const C* name, - bool polymorphic) - : cxx::parser::document<C> (p, ns, name), - xml_parser_ (0), - eh_ (0), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& p, - const std::basic_string<C>& ns, - const std::basic_string<C>& name, - bool polymorphic) - : cxx::parser::document<C> (p, ns, name), - xml_parser_ (0), - eh_ (0), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (bool polymorphic) - : xml_parser_ (0), - eh_ (0), - polymorphic_ (polymorphic) - { - } - - // file - // - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& file) - { - std::ifstream ifs; - ifs.exceptions (std::ios_base::badbit | std::ios_base::failbit); - ifs.open (file.c_str (), std::ios_base::in | std::ios_base::binary); - - parse (ifs, file); - } - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& file, xml::error_handler<C>& eh) - { - std::ifstream ifs; - ifs.exceptions (std::ios_base::badbit | std::ios_base::failbit); - ifs.open (file.c_str (), std::ios_base::in | std::ios_base::binary); - - parse (ifs, file, eh); - } - - - // istream - // - - template <typename C> - void document<C>:: - parse (std::istream& is) - { - parse (is, 0, 0, default_eh_); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, xml::error_handler<C>& eh) - { - if (!parse (is, 0, 0, eh)) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, const std::basic_string<C>& system_id) - { - default_eh_.reset (); - parse (is, &system_id, 0, default_eh_); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - xml::error_handler<C>& eh) - { - if (!parse (is, &system_id, 0, eh)) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id) - { - default_eh_.reset (); - parse (is, &system_id, &public_id, default_eh_); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>& eh) - { - if (!parse (is, &system_id, &public_id, eh)) - throw parsing<C> (); - } - - // data - // - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last) - { - default_eh_.reset (); - parse (data, size, last, 0, 0, default_eh_); - } - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last, - xml::error_handler<C>& eh) - { - if (!parse (data, size, last, 0, 0, eh)) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id) - { - default_eh_.reset (); - parse (data, size, last, &system_id, 0, default_eh_); - } - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - xml::error_handler<C>& eh) - { - if (!parse (data, size, last, &system_id, 0, eh)) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id) - { - default_eh_.reset (); - parse (data, size, last, &system_id, &public_id, default_eh_); - } - - template <typename C> - void document<C>:: - parse (const void* data, std::size_t size, bool last, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>& eh) - { - if (!parse (data, size, last, &system_id, &public_id, eh)) - throw parsing<C> (); - } - - // Implementation details. - // - - namespace bits - { - struct stream_exception_controller - { - ~stream_exception_controller () - { - std::ios_base::iostate s = is_.rdstate (); - s &= ~std::ios_base::failbit; - - // If our error state (sans failbit) intersects with the - // exception state then that means we have an active - // exception and changing error/exception state will - // cause another to be thrown. - // - if (!(old_state_ & s)) - { - // Clear failbit if it was caused by eof. - // - if (is_.fail () && is_.eof ()) - is_.clear (s); - - is_.exceptions (old_state_); - } - } - - stream_exception_controller (std::istream& is) - : is_ (is), old_state_ (is_.exceptions ()) - { - is_.exceptions (old_state_ & ~std::ios_base::failbit); - } - - private: - stream_exception_controller (const stream_exception_controller&); - - stream_exception_controller& - operator= (const stream_exception_controller&); - - private: - std::istream& is_; - std::ios_base::iostate old_state_; - }; - }; - - template <typename C> - bool document<C>:: - parse (std::istream& is, - const std::basic_string<C>* system_id, - const std::basic_string<C>* public_id, - xml::error_handler<C>& eh) - { - parser_auto_ptr parser (XML_ParserCreateNS (0, XML_Char (' '))); - - if (parser == 0) - throw std::bad_alloc (); - - if (system_id || public_id) - parse_begin (parser, system_id ? *system_id : *public_id, eh); - else - parse_begin (parser, eh); - - // Temporarily unset the exception failbit. Also clear the - // fail bit when we reset the old state if it was caused - // by eof. - // - bits::stream_exception_controller sec (is); - - char buf[16384]; // 4 x page size. - - bool r (true); - - do - { - is.read (buf, sizeof (buf)); - - if (is.bad () || (is.fail () && !is.eof ())) - { - // If the stream is not using exceptions then the user - // will have to test for stream failures before calling - // post. - // - break; - } - - if (XML_Parse ( - parser, buf, is.gcount (), is.eof ()) == XML_STATUS_ERROR) - { - r = false; - break; - } - } while (!is.eof ()); - - parse_end (); - return r; - } - - template <typename C> - bool document<C>:: - parse (const void* data, - std::size_t size, - bool last, - const std::basic_string<C>* system_id, - const std::basic_string<C>* public_id, - xml::error_handler<C>& eh) - { - // First call. - // - if (auto_xml_parser_.get () == 0) - { - auto_xml_parser_ = XML_ParserCreateNS (0, XML_Char (' ')); - - if (auto_xml_parser_.get () == 0) - throw std::bad_alloc (); - - if (system_id || public_id) - parse_begin (auto_xml_parser_.get (), - system_id ? *system_id : *public_id, eh); - else - parse_begin (auto_xml_parser_.get (), eh); - } - - bool r (XML_Parse (xml_parser_, - static_cast<const char*> (data), - static_cast<int> (size), - last) != XML_STATUS_ERROR); - parse_end (); - return r; - } - - // XML_Parser - // - - template <typename C> - void document<C>:: - parse_begin (XML_Parser parser) - { - xml_parser_ = parser; - eh_ = &default_eh_; - public_id_.clear (); - set (); - } - - template <typename C> - void document<C>:: - parse_begin (XML_Parser parser, - const std::basic_string<C>& public_id) - { - xml_parser_ = parser; - eh_ = &default_eh_; - public_id_ = public_id; - set (); - } - - template <typename C> - void document<C>:: - parse_begin (XML_Parser parser, xml::error_handler<C>& eh) - { - xml_parser_ = parser; - eh_ = &eh; - public_id_.clear (); - set (); - } - - template <typename C> - void document<C>:: - parse_begin (XML_Parser parser, - const std::basic_string<C>& public_id, - xml::error_handler<C>& eh) - { - xml_parser_ = parser; - eh_ = &eh; - public_id_ = public_id; - set (); - } - - template <typename C> - void document<C>:: - parse_end () - { - XML_Error e (XML_GetErrorCode (xml_parser_)); - - if (e == XML_ERROR_NONE || e == XML_ERROR_ABORTED) - { - clear (); - xml_parser_ = 0; - auto_xml_parser_ = 0; - } - else - { - unsigned long l = XML_GetCurrentLineNumber (xml_parser_); - unsigned long c = XML_GetCurrentColumnNumber (xml_parser_); - std::basic_string<C> message (XML_ErrorString (e)); - - eh_->handle (public_id_, - l, c, - xml::error_handler<C>::severity::fatal, - message); - - clear (); - xml_parser_ = 0; - auto_xml_parser_ = 0; - - // We don't want to throw an empty parsing exception here - // since the user probably already knows about the error. - } - - if (eh_ == &default_eh_) - default_eh_.throw_if_failed (); - } - - // - // - template <typename C> - void document<C>:: - set () - { - assert (xml_parser_ != 0); - - XML_SetUserData(xml_parser_, this); - - XML_SetStartElementHandler (xml_parser_, start_element_thunk_); - XML_SetEndElementHandler (xml_parser_, end_element_thunk_); - XML_SetCharacterDataHandler (xml_parser_, characters_thunk_); - - if (polymorphic_) - { - XML_SetNamespaceDeclHandler (xml_parser_, - start_namespace_decl_thunk_, - end_namespace_decl_thunk_); - } - } - - template <typename C> - void document<C>:: - clear () - { - assert (xml_parser_ != 0); - - XML_SetUserData (xml_parser_, 0); - XML_SetStartElementHandler (xml_parser_, 0); - XML_SetEndElementHandler (xml_parser_, 0); - XML_SetCharacterDataHandler (xml_parser_, 0); - - if (polymorphic_) - XML_SetNamespaceDeclHandler (xml_parser_, 0, 0); - } - - template <typename C> - void document<C>:: - translate_schema_exception (const schema_exception<C>& e) - { - unsigned long l = XML_GetCurrentLineNumber (xml_parser_); - unsigned long c = XML_GetCurrentColumnNumber (xml_parser_); - - eh_->handle (public_id_, - l, c, - xml::error_handler<C>::severity::fatal, - e.message ()); - - XML_StopParser (xml_parser_, false); - } - - // Event routing. - // - - // Expat thunks. - // - template <typename C> - void XMLCALL document<C>:: - start_element_thunk_ (void* data, - const XML_Char* ns_name, - const XML_Char** atts) - { - document& d (*reinterpret_cast<document*> (data)); - d.start_element_ (ns_name, atts); - } - - template <typename C> - void XMLCALL document<C>:: - end_element_thunk_ (void* data, const XML_Char* ns_name) - { - document& d (*reinterpret_cast<document*> (data)); - d.end_element_ (ns_name); - } - - template <typename C> - void XMLCALL document<C>:: - characters_thunk_ (void* data, const XML_Char* s, int n) - { - document& d (*reinterpret_cast<document*> (data)); - d.characters_ (s, static_cast<std::size_t> (n)); - } - - template <typename C> - void XMLCALL document<C>:: - start_namespace_decl_thunk_ (void* data, - const XML_Char* prefix, - const XML_Char* ns) - { - document& d (*reinterpret_cast<document*> (data)); - d.start_namespace_decl_ (prefix, ns); - } - - template <typename C> - void XMLCALL document<C>:: - end_namespace_decl_thunk_ (void* data, const XML_Char* prefix) - { - document& d (*reinterpret_cast<document*> (data)); - d.end_namespace_decl_ (prefix); - } - - namespace bits - { - inline void - split_name (const XML_Char* s, - const char*& ns, std::size_t& ns_s, - const char*& name, std::size_t& name_s) - { - const char* p (std::strchr (s, ' ')); - - if (p) - { - ns = s; - ns_s = p - s; - name = p + 1; - } - else - { - ns = s; - ns_s = 0; - name = s; - } - - name_s = std::char_traits<char>::length (name); - } - } - - template <typename C> - void document<C>:: - start_element_ (const XML_Char* ns_name, const XML_Char** atts) - { - // Current Expat (2.0.0) has a (mis)-feature of a possibility of - // calling callbacks even after the non-resumable XML_StopParser - // call. The following code accounts for this. - // - { - XML_ParsingStatus s; - XML_GetParsingStatus (xml_parser_, &s); - if (s.parsing == XML_FINISHED) - return; - } - - typedef std::basic_string<C> string; - - const char* ns_p; - const char* name_p; - size_t ns_s, name_s; - - bits::split_name (ns_name, ns_p, ns_s, name_p, name_s); - - { - const ro_string<C> ns (ns_p, ns_s), name (name_p, name_s); - - if (!polymorphic_) - { - try - { - this->start_element (ns, name, 0); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - return; - } - } - else - { - // Search for the xsi:type attribute. - // - const XML_Char** p = atts; // VC8 can't handle p (atts) - for (; *p != 0; p += 2) - { - bits::split_name (*p, ns_p, ns_s, name_p, name_s); - const ro_string<C> ns (ns_p, ns_s), name (name_p, name_s); - - if (name == xml::bits::type<C> () && - ns == xml::bits::xsi_namespace<C> ()) - break; - } - - if (*p == 0) - { - try - { - this->start_element (ns, name, 0); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - return; - } - } - else - { - // @@ Need proper QName validation. - // - // Get the qualified type name and try to resolve it. - // - ro_string<C> qn (*(p + 1)); - - ro_string<C> tp, tn; - typename ro_string<C>::size_type pos (qn.find (C (':'))); - - try - { - if (pos != ro_string<C>::npos) - { - tp.assign (qn.data (), pos); - tn.assign (qn.data () + pos + 1); - - if (tp.empty ()) - throw dynamic_type<C> (qn); - } - else - tn.assign (qn.data (), qn.size ()); - - if (tn.empty ()) - throw dynamic_type<C> (qn); - - // Search our namespace declaration stack. Note that - // we need to do this even if prefix is empty. Sun CC - // 5.7 blows if we use const_reverse_iterator. - // - ro_string<C> tns; - for (typename ns_decls::reverse_iterator - it (ns_decls_.rbegin ()), e (ns_decls_.rend ()); - it != e; ++it) - { - if (it->prefix == tp) - { - tns.assign (it->ns); - break; - } - } - - if (!tp.empty () && tns.empty ()) - { - // The 'xml' prefix requires special handling. - // - if (tp == xml::bits::xml_prefix<C> ()) - tns.assign (xml::bits::xml_namespace<C> ()); - else - throw dynamic_type<C> (qn); - } - - // Construct the compound type id. - // - string id (tn.data (), tn.size ()); - - if (!tns.empty ()) - { - id += C (' '); - id.append (tns.data (), tns.size ()); - } - - ro_string<C> ro_id (id); - this->start_element (ns, name, &ro_id); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - return; - } - } - } - } - - for (; *atts != 0; atts += 2) - { - bits::split_name (*atts, ns_p, ns_s, name_p, name_s); - - const ro_string<C> ns (ns_p, ns_s), name (name_p, name_s); - const ro_string<C> value (*(atts + 1)); - - try - { - this->attribute (ns, name, value); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - break; - } - } - } - - template <typename C> - void document<C>:: - end_element_ (const XML_Char* ns_name) - { - // Current Expat (2.0.0) has a (mis)-feature of a possibility of - // calling callbacks even after the non-resumable XML_StopParser - // call. The following code accounts for this. - // - { - XML_ParsingStatus s; - XML_GetParsingStatus (xml_parser_, &s); - if (s.parsing == XML_FINISHED) - return; - } - - const char* ns_p; - const char* name_p; - size_t ns_s, name_s; - - bits::split_name (ns_name, ns_p, ns_s, name_p, name_s); - - const ro_string<C> ns (ns_p, ns_s), name (name_p, name_s); - - try - { - this->end_element (ns, name); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - } - } - - template <typename C> - void document<C>:: - characters_ (const XML_Char* s, std::size_t n) - { - // Current Expat (2.0.0) has a (mis)-feature of a possibility of - // calling callbacks even after the non-resumable XML_StopParser - // call. The following code accounts for this. - // - { - XML_ParsingStatus s; - XML_GetParsingStatus (xml_parser_, &s); - if (s.parsing == XML_FINISHED) - return; - } - - if (n != 0) - { - const ro_string<C> str (s, n); - - try - { - this->characters (str); - } - catch (const schema_exception<C>& e) - { - translate_schema_exception (e); - } - } - } - - template <typename C> - void document<C>:: - start_namespace_decl_ (const XML_Char* p, const XML_Char* ns) - { - // prefix is 0 for default namespace - // namespace is 0 when unsetting default namespace - // - if (polymorphic_) - ns_decls_.push_back (ns_decl ((p ? p : ""), (ns ? ns : ""))); - } - - template <typename C> - void document<C>:: - end_namespace_decl_ (const XML_Char* p) - { - // prefix is 0 for default namespace - // - if (polymorphic_) - { - // Here we assume the prefixes are removed in the reverse - // order of them being added. This appears to how every - // sensible implementation works. - // - assert (p - ? ns_decls_.back ().prefix == p - : ns_decls_.back ().prefix.empty ()); - - ns_decls_.pop_back (); - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/map.hxx b/xsd/libxsd/xsd/cxx/parser/map.hxx deleted file mode 100644 index d097f16..0000000 --- a/xsd/libxsd/xsd/cxx/parser/map.hxx +++ /dev/null @@ -1,78 +0,0 @@ -// file : xsd/cxx/parser/map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_MAP_HXX -#define XSD_CXX_PARSER_MAP_HXX - -#include <map> -#include <string> - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/parser/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // Parser map. Used in the polymorphic document parsing. - // - template <typename C> - struct parser_map - { - virtual - ~parser_map (); - - // The type argument is the type name and namespace from the - // xsi:type attribute or substitution group map in the form - // "<name> <namespace>" with the space and namespace part - // absent if the type does not have a namespace. - // - virtual parser_base<C>* - find (const ro_string<C>& type) const = 0; - }; - - - // Parser map implementation. - // - template <typename C> - struct parser_map_impl: parser_map<C> - { - parser_map_impl (); - - void - insert (parser_base<C>&); - - virtual parser_base<C>* - find (const ro_string<C>& type) const; - - private: - parser_map_impl (const parser_map_impl&); - - parser_map_impl& - operator= (const parser_map_impl&); - - private: - struct string_comparison - { - bool - operator() (const C* x, const C* y) const - { - ro_string<C> s (x); - return s.compare (y) < 0; - } - }; - - typedef std::map<const C*, parser_base<C>*, string_comparison> map; - map map_; - }; - } - } -} - -#include <xsd/cxx/parser/map.ixx> -#include <xsd/cxx/parser/map.txx> - -#endif // XSD_CXX_PARSER_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/map.ixx b/xsd/libxsd/xsd/cxx/parser/map.ixx deleted file mode 100644 index 96fc937..0000000 --- a/xsd/libxsd/xsd/cxx/parser/map.ixx +++ /dev/null @@ -1,26 +0,0 @@ -// file : xsd/cxx/parser/map.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // parser_map_impl - // - template <typename C> - inline parser_map_impl<C>::parser_map_impl () - { - } - - template <typename C> - inline void parser_map_impl<C>:: - insert (parser_base<C>& parser) - { - map_[parser._dynamic_type ()] = &parser; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/map.txx b/xsd/libxsd/xsd/cxx/parser/map.txx deleted file mode 100644 index 3f85760..0000000 --- a/xsd/libxsd/xsd/cxx/parser/map.txx +++ /dev/null @@ -1,30 +0,0 @@ -// file : xsd/cxx/parser/map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // parser_map - // - template <typename C> - parser_map<C>:: - ~parser_map () - { - } - - // parser_map_impl - // - template <typename C> - parser_base<C>* parser_map_impl<C>:: - find (const ro_string<C>& type) const - { - typename map::const_iterator i (map_.find (type.data ())); - return i != map_.end () ? i->second : 0; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx deleted file mode 100644 index 4ecc4f1..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.hxx +++ /dev/null @@ -1,247 +0,0 @@ -// file : xsd/cxx/parser/non-validating/parser.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX -#define XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX - -#include <stack> -#include <string> -#include <cstddef> // std::size_t - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/parser/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - // - // - template <typename C> - struct empty_content: parser_base<C> - { - // The _*_any_* functions are called when wildcard content - // is encountered. Use them to handle mixed content models, - // any/anyAttribute, and anyType/anySimpleType. By default - // these functions do nothing. - // - - // The type argument is a type name and namespace from the - // xsi:type attribute in the form "<name> <namespace>" with - // the space and namespace part absent if the type does not - // have a namespace or 0 if xsi:type is not present. - // - virtual void - _start_any_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - virtual void - _end_any_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _any_attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _any_characters (const ro_string<C>&); - - - // - // - virtual bool - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*); - - virtual bool - _end_element_impl (const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _characters_impl (const ro_string<C>&); - - - // - // - virtual void - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - virtual void - _end_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _characters (const ro_string<C>& s); - }; - - - // - // - template <typename C> - struct simple_content: empty_content<C> - { - // - // - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _characters (const ro_string<C>&); - }; - - - // - // - template <typename C> - struct complex_content: empty_content<C> - { - // - // - virtual void - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - virtual void - _end_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _characters (const ro_string<C>&); - - - // - // - virtual void - _pre_impl (); - - virtual void - _post_impl (); - - protected: - struct state - { - state () - : any_ (false), depth_ (0), parser_ (0) - { - } - - bool any_; - std::size_t depth_; - parser_base<C>* parser_; - }; - - // Optimized state stack for non-recursive case (one element). - // - struct state_stack - { - state_stack () - : size_ (0) - { - } - - void - push (const state& s) - { - if (size_ > 0) - rest_.push (top_); - - top_ = s; - ++size_; - } - - void - pop () - { - if (size_ > 1) - { - top_ = rest_.top (); - rest_.pop (); - } - - --size_; - } - - const state& - top () const - { - return top_; - } - - state& - top () - { - return top_; - } - - state& - under_top () - { - return rest_.top (); - } - - private: - state top_; - std::stack<state> rest_; - std::size_t size_; - }; - - state_stack context_; - }; - - - // Base for xsd:list. - // - template <typename C> - struct list_base: simple_content<C> - { - virtual void - _xsd_parse_item (const ro_string<C>&) = 0; - - virtual void - _pre_impl (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post_impl (); - - protected: - std::basic_string<C> buf_; - }; - } - } - } -} - -#include <xsd/cxx/parser/non-validating/parser.txx> - -#endif // XSD_CXX_PARSER_NON_VALIDATING_PARSER_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx deleted file mode 100644 index 79b6568..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/parser.txx +++ /dev/null @@ -1,463 +0,0 @@ -// file : xsd/cxx/parser/non-validating/parser.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <cassert> - -#include <xsd/cxx/xml/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - - // empty_content - // - - template <typename C> - void empty_content<C>:: - _start_any_element (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*) - { - } - - template <typename C> - void empty_content<C>:: - _end_any_element (const ro_string<C>&, - const ro_string<C>&) - { - } - - template <typename C> - void empty_content<C>:: - _any_attribute (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - } - - template <typename C> - void empty_content<C>:: - _any_characters (const ro_string<C>&) - { - } - - // - // - template <typename C> - bool empty_content<C>:: - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _end_element_impl (const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _characters_impl (const ro_string<C>&) - { - return false; - } - - template <typename C> - void empty_content<C>:: - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - if (!_start_element_impl (ns, name, type)) - _start_any_element (ns, name, type); - } - - template <typename C> - void empty_content<C>:: - _end_element (const ro_string<C>& ns, - const ro_string<C>& name) - { - if (!_end_element_impl (ns, name)) - _end_any_element (ns, name); - } - - template <typename C> - void empty_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - if (!_attribute_impl (ns, name, value)) - _any_attribute (ns, name, value); - } - - template <typename C> - void empty_content<C>:: - _characters (const ro_string<C>& s) - { - if (!_characters_impl (s)) - _any_characters (s); - } - - - // simple_content - // - - template <typename C> - void simple_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - if (!this->_attribute_impl (ns, name, value)) - this->_any_attribute (ns, name, value); - } - - template <typename C> - void simple_content<C>:: - _characters (const ro_string<C>& str) - { - this->_characters_impl (str); - } - - - // complex_content - // - - template <typename C> - void complex_content<C>:: - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - state& s (context_.top ()); - - if (s.depth_++ > 0) - { - if (s.any_) - this->_start_any_element (ns, name, type); - else if (s.parser_) - s.parser_->_start_element (ns, name, type); - } - else - { - if (!this->_start_element_impl (ns, name, type)) - { - this->_start_any_element (ns, name, type); - s.any_ = true; - } - else if (s.parser_ != 0) - s.parser_->_pre_impl (); - } - } - - template <typename C> - void complex_content<C>:: - _end_element (const ro_string<C>& ns, - const ro_string<C>& name) - { - // To understand what's going on here it is helpful to think of - // a "total depth" as being the sum of individual depths over - // all elements. - // - - if (context_.top ().depth_ == 0) - { - state& s (context_.under_top ()); // One before last. - - if (--s.depth_ > 0) - { - // Indirect recursion. - // - if (s.parser_) - s.parser_->_end_element (ns, name); - } - else - { - // Direct recursion. - // - assert (this == s.parser_); - - this->_post_impl (); - - if (!this->_end_element_impl (ns, name)) - assert (false); - } - } - else - { - state& s (context_.top ()); - - if (--s.depth_ > 0) - { - if (s.any_) - this->_end_any_element (ns, name); - else if (s.parser_) - s.parser_->_end_element (ns, name); - } - else - { - if (s.parser_ != 0 && !s.any_) - s.parser_->_post_impl (); - - if (!this->_end_element_impl (ns, name)) - { - s.any_ = false; - this->_end_any_element (ns, name); - } - } - } - } - - template <typename C> - void complex_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - state& s (context_.top ()); - - if (s.depth_ > 0) - { - if (s.any_) - this->_any_attribute (ns, name, value); - else if (s.parser_) - s.parser_->_attribute (ns, name, value); - } - else - { - if (!this->_attribute_impl (ns, name, value)) - this->_any_attribute (ns, name, value); - } - } - - template <typename C> - void complex_content<C>:: - _characters (const ro_string<C>& str) - { - state& s (context_.top ()); - - if (s.depth_ > 0) - { - if (s.any_) - this->_any_characters (str); - else if (s.parser_) - s.parser_->_characters (str); - } - else - { - if (!this->_characters_impl (str)) - this->_any_characters (str); - } - } - - template <typename C> - void complex_content<C>:: - _pre_impl () - { - context_.push (state ()); - this->_pre (); - } - - template <typename C> - void complex_content<C>:: - _post_impl () - { - this->_post (); - context_.pop (); - } - - // list_base - // - namespace bits - { - // Find first non-space character. - // - template <typename C> - typename ro_string<C>::size_type - find_ns (const C* s, - typename ro_string<C>::size_type size, - typename ro_string<C>::size_type pos) - { - while (pos < size && - (s[pos] == C (0x20) || s[pos] == C (0x0A) || - s[pos] == C (0x0D) || s[pos] == C (0x09))) - ++pos; - - return pos < size ? pos : ro_string<C>::npos; - } - - // Find first space character. - // - template <typename C> - typename ro_string<C>::size_type - find_s (const C* s, - typename ro_string<C>::size_type size, - typename ro_string<C>::size_type pos) - { - while (pos < size && - s[pos] != C (0x20) && s[pos] != C (0x0A) && - s[pos] != C (0x0D) && s[pos] != C (0x09)) - ++pos; - - return pos < size ? pos : ro_string<C>::npos; - } - } - - // Relevant XML Schema Part 2: Datatypes sections: 4.2.1.2, 4.3.6. - // - - template <typename C> - void list_base<C>:: - _pre_impl () - { - simple_content<C>::_pre_impl (); - buf_.clear (); - } - - template <typename C> - void list_base<C>:: - _characters (const ro_string<C>& s) - { - typedef typename ro_string<C>::size_type size_type; - - const C* data (s.data ()); - size_type size (s.size ()); - - // Handle the previous chunk if we start with a ws. - // - if (!buf_.empty () && - (data[0] == C (0x20) || data[0] == C (0x0A) || - data[0] == C (0x0D) || data[0] == C (0x09))) - { - ro_string<C> tmp (buf_); // Private copy ctor. - _xsd_parse_item (tmp); - buf_.clear (); - } - - // Traverse the data while logically collapsing spaces. - // - for (size_type i (bits::find_ns (data, size, 0)); - i != ro_string<C>::npos;) - { - size_type j (bits::find_s (data, size, i)); - - if (j != ro_string<C>::npos) - { - if (buf_.empty ()) - { - ro_string<C> tmp (data + i, j - i); // Private copy ctor. - _xsd_parse_item (tmp); - } - else - { - // Assemble the first item in str from buf_ and s. - // - std::basic_string<C> str; - str.swap (buf_); - str.append (data + i, j - i); - ro_string<C> tmp (str); // Private copy ctor. - _xsd_parse_item (tmp); - } - - i = bits::find_ns (data, size, j); - } - else - { - // Last fragment, append it to the buf_. - // - buf_.append (data + i, size - i); - break; - } - } - } - - template <typename C> - void list_base<C>:: - _post_impl () - { - // Handle the last item. - // - if (!buf_.empty ()) - { - ro_string<C> tmp (buf_); // Private copy ctor. - _xsd_parse_item (tmp); - } - - simple_content<C>::_post_impl (); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx deleted file mode 100644 index fc1f838..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx +++ /dev/null @@ -1,792 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX - -#include <string> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/parser/non-validating/xml-schema-pskel.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - // any_type - // - template <typename C> - struct any_type_pimpl: virtual any_type_pskel<C> - { - virtual void - post_any_type (); - }; - - // any_simple_type - // - template <typename C> - struct any_simple_type_pimpl: virtual any_simple_type_pskel<C> - { - virtual void - post_any_simple_type (); - }; - - // boolean - // - template <typename C> - struct boolean_pimpl: virtual boolean_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual bool - post_boolean (); - - protected: - std::basic_string<C> str_; - }; - - - // 8-bit - // - template <typename C> - struct byte_pimpl: virtual byte_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual signed char - post_byte (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct unsigned_byte_pimpl: virtual unsigned_byte_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned char - post_unsigned_byte (); - - protected: - std::basic_string<C> str_; - }; - - - // 16-bit - // - template <typename C> - struct short_pimpl: virtual short_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual short - post_short (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct unsigned_short_pimpl: virtual unsigned_short_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned short - post_unsigned_short (); - - protected: - std::basic_string<C> str_; - }; - - - // 32-bit - // - template <typename C> - struct int_pimpl: virtual int_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual int - post_int (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct unsigned_int_pimpl: virtual unsigned_int_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned int - post_unsigned_int (); - - protected: - std::basic_string<C> str_; - }; - - - // 64-bit - // - template <typename C> - struct long_pimpl: virtual long_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual long long - post_long (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct unsigned_long_pimpl: virtual unsigned_long_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned long long - post_unsigned_long (); - - protected: - std::basic_string<C> str_; - }; - - - // Arbitrary-length integers. - // - template <typename C> - struct integer_pimpl: virtual integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual long long - post_integer (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct negative_integer_pimpl: virtual negative_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual long long - post_negative_integer (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct non_positive_integer_pimpl: virtual non_positive_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual long long - post_non_positive_integer (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct positive_integer_pimpl: virtual positive_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned long long - post_positive_integer (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct non_negative_integer_pimpl: virtual non_negative_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual unsigned long long - post_non_negative_integer (); - - protected: - std::basic_string<C> str_; - }; - - - // Floats. - // - template <typename C> - struct float_pimpl: virtual float_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual float - post_float (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct double_pimpl: virtual double_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual double - post_double (); - - protected: - std::basic_string<C> str_; - }; - - - template <typename C> - struct decimal_pimpl: virtual decimal_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual double - post_decimal (); - - protected: - std::basic_string<C> str_; - }; - - - // Strings. - // - template <typename C> - struct string_pimpl: virtual string_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_string (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct normalized_string_pimpl: virtual normalized_string_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_normalized_string (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct token_pimpl: virtual token_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_token (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct name_pimpl: virtual name_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_name (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct nmtoken_pimpl: virtual nmtoken_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_nmtoken (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct nmtokens_pimpl: virtual nmtokens_pskel<C> - { - virtual void - _pre (); - - virtual void - _xsd_parse_item (const ro_string<C>&); - - virtual string_sequence<C> - post_nmtokens (); - - protected: - string_sequence<C> seq_; - nmtoken_pimpl<C> parser_; - }; - - template <typename C> - struct ncname_pimpl: virtual ncname_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_ncname (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct id_pimpl: virtual id_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_id (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct idref_pimpl: virtual idref_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_idref (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct idrefs_pimpl: virtual idrefs_pskel<C> - { - virtual void - _pre (); - - virtual void - _xsd_parse_item (const ro_string<C>&); - - virtual string_sequence<C> - post_idrefs (); - - protected: - string_sequence<C> seq_; - idref_pimpl<C> parser_; - }; - - // language - // - template <typename C> - struct language_pimpl: virtual language_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_language (); - - protected: - std::basic_string<C> str_; - }; - - // anyURI - // - template <typename C> - struct uri_pimpl: virtual uri_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_uri (); - - protected: - std::basic_string<C> str_; - }; - - // QName - // - template <typename C> - struct qname_pimpl: virtual qname_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual qname<C> - post_qname (); - - protected: - std::basic_string<C> str_; - }; - - // base64Binary - // - template <typename C> - struct base64_binary_pimpl: virtual base64_binary_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual XSD_AUTO_PTR<buffer> - post_base64_binary (); - - protected: - std::basic_string<C> str_; - }; - - // hexBinary - // - template <typename C> - struct hex_binary_pimpl: virtual hex_binary_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual XSD_AUTO_PTR<buffer> - post_hex_binary (); - - protected: - std::basic_string<C> str_; - }; - - // gday - // - template <typename C> - struct gday_pimpl: virtual gday_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual gday - post_gday (); - - protected: - std::basic_string<C> str_; - }; - - // gmonth - // - template <typename C> - struct gmonth_pimpl: virtual gmonth_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual gmonth - post_gmonth (); - - protected: - std::basic_string<C> str_; - }; - - // gyear - // - template <typename C> - struct gyear_pimpl: virtual gyear_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual gyear - post_gyear (); - - protected: - std::basic_string<C> str_; - }; - - // gmonth_day - // - template <typename C> - struct gmonth_day_pimpl: virtual gmonth_day_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual gmonth_day - post_gmonth_day (); - - protected: - std::basic_string<C> str_; - }; - - // gyear_month - // - template <typename C> - struct gyear_month_pimpl: virtual gyear_month_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual gyear_month - post_gyear_month (); - - protected: - std::basic_string<C> str_; - }; - - // date - // - template <typename C> - struct date_pimpl: virtual date_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual date - post_date (); - - protected: - std::basic_string<C> str_; - }; - - // time - // - template <typename C> - struct time_pimpl: virtual time_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual time - post_time (); - - protected: - std::basic_string<C> str_; - }; - - // date_time - // - template <typename C> - struct date_time_pimpl: virtual date_time_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual date_time - post_date_time (); - - protected: - std::basic_string<C> str_; - }; - - // duration - // - template <typename C> - struct duration_pimpl: virtual duration_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual duration - post_duration (); - - protected: - std::basic_string<C> str_; - }; - - // - // - namespace bits - { - // float literals: INF -INF NaN - // - template<typename C> - const C* - positive_inf (); - - template<typename C> - const C* - negative_inf (); - - template<typename C> - const C* - nan (); - - // boolean literals - // - template<typename C> - const C* - true_ (); - - template<typename C> - const C* - one (); - } - } - } - } -} - -#include <xsd/cxx/parser/non-validating/xml-schema-pimpl.txx> - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_HXX - -#include <xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx deleted file mode 100644 index 3555693..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx +++ /dev/null @@ -1,128 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - namespace bits - { - // - // - template<> - inline const char* - positive_inf<char> () - { - return "INF"; - } - - template<> - inline const char* - negative_inf<char> () - { - return "-INF"; - } - - template<> - inline const char* - nan<char> () - { - return "NaN"; - } - - // - // - template<> - inline const char* - true_<char> () - { - return "true"; - } - - template<> - inline const char* - one<char> () - { - return "1"; - } - } - } - } - } -} - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - namespace bits - { - // - // - template<> - inline const wchar_t* - positive_inf<wchar_t> () - { - return L"INF"; - } - - template<> - inline const wchar_t* - negative_inf<wchar_t> () - { - return L"-INF"; - } - - template<> - inline const wchar_t* - nan<wchar_t> () - { - return L"NaN"; - } - - // - // - template<> - inline const wchar_t* - true_<wchar_t> () - { - return L"true"; - } - - template<> - inline const wchar_t* - one<wchar_t> () - { - return L"1"; - } - } - } - } - } -} - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx deleted file mode 100644 index 28280f5..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pimpl.txx +++ /dev/null @@ -1,2067 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pimpl.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <limits> -#include <locale> - -#include <xsd/cxx/zc-istream.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - // Note that most of the types implemented here cannot have - // whitespaces in the value. As result we don't need to waste - // time collapsing whitespaces. All we need to do is trim the - // string representation which can be done without copying. - // - - // any_type - // - - template <typename C> - void any_type_pimpl<C>:: - post_any_type () - { - } - - // any_simple_type - // - - template <typename C> - void any_simple_type_pimpl<C>:: - post_any_simple_type () - { - } - - // boolean - // - template <typename C> - void boolean_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void boolean_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - bool boolean_pimpl<C>:: - post_boolean () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - return str == bits::true_<C> () || str == bits::one<C> (); - } - - // byte - // - - template <typename C> - void byte_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void byte_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - signed char byte_pimpl<C>:: - post_byte () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - short t; - zc_istream<C> is (str); - is >> t; - - return static_cast<signed char> (t); - } - - // unsigned_byte - // - - template <typename C> - void unsigned_byte_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_byte_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned char unsigned_byte_pimpl<C>:: - post_unsigned_byte () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned short t; - zc_istream<C> is (str); - is >> t; - - return static_cast<unsigned char> (t); - } - - // short - // - - template <typename C> - void short_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void short_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - short short_pimpl<C>:: - post_short () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - short t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // unsigned_short - // - - template <typename C> - void unsigned_short_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_short_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned short unsigned_short_pimpl<C>:: - post_unsigned_short () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned short t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // int - // - - template <typename C> - void int_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void int_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - int int_pimpl<C>:: - post_int () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - int t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // unsigned_int - // - - template <typename C> - void unsigned_int_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_int_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned int unsigned_int_pimpl<C>:: - post_unsigned_int () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned int t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // long - // - template <typename C> - void long_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void long_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - long long long_pimpl<C>:: - post_long () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // unsigned_long - // - template <typename C> - void unsigned_long_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_long_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned long long unsigned_long_pimpl<C>:: - post_unsigned_long () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // integer - // - template <typename C> - void integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - long long integer_pimpl<C>:: - post_integer () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // negative_integer - // - template <typename C> - void negative_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void negative_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - long long negative_integer_pimpl<C>:: - post_negative_integer () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // non_positive_integer - // - template <typename C> - void non_positive_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void non_positive_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - long long non_positive_integer_pimpl<C>:: - post_non_positive_integer () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // positive_integer - // - template <typename C> - void positive_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void positive_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned long long positive_integer_pimpl<C>:: - post_positive_integer () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // non_negative_integer - // - template <typename C> - void non_negative_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void non_negative_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - unsigned long long non_negative_integer_pimpl<C>:: - post_non_negative_integer () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - unsigned long long t; - zc_istream<C> is (str); - is >> t; - - return t; - } - - // float - // - template <typename C> - void float_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void float_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - float float_pimpl<C>:: - post_float () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - if (str == bits::positive_inf<C> ()) - return std::numeric_limits<float>::infinity (); - - if (str == bits::negative_inf<C> ()) - return -std::numeric_limits<float>::infinity (); - - if (str == bits::nan<C> ()) - return std::numeric_limits<float>::quiet_NaN (); - - float t; - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - is >> t; - - return t; - } - - // double - // - template <typename C> - void double_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void double_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - double double_pimpl<C>:: - post_double () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - if (str == bits::positive_inf<C> ()) - return std::numeric_limits<double>::infinity (); - - if (str == bits::negative_inf<C> ()) - return -std::numeric_limits<double>::infinity (); - - if (str == bits::nan<C> ()) - return std::numeric_limits<double>::quiet_NaN (); - - double t; - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - is >> t; - - return t; - } - - // decimal - // - template <typename C> - void decimal_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void decimal_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - double decimal_pimpl<C>:: - post_decimal () - { - std::basic_string<C> tmp; - tmp.swap (str_); - - ro_string<C> str (tmp); - trim (str); - - double t; - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - is >> t; - - return t; - } - - - // string - // - template <typename C> - void string_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void string_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - std::basic_string<C> string_pimpl<C>:: - post_string () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // normalized_string - // - template <typename C> - void normalized_string_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void normalized_string_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - std::basic_string<C> normalized_string_pimpl<C>:: - post_normalized_string () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - - for (size_type i (0); i < size; ++i) - { - C& c = str_[i]; - - if (c == C (0x0A) || c == C (0x0D) || c == C (0x09)) - c = C (0x20); - } - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // token - // - template <typename C> - void token_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void token_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> token_pimpl<C>:: - post_token () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - size_type j (0); - - bool subs (false); - - for (size_type i (0); i < size; ++i) - { - C c = str_[i]; - - if (c == C (0x20) || c == C (0x0A) || - c == C (0x0D) || c == C (0x09)) - { - subs = true; - } - else - { - if (subs) - { - subs = false; - str_[j++] = C (0x20); - } - - str_[j++] = c; - } - } - - str_.resize (j); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // name - // - template <typename C> - void name_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void name_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> name_pimpl<C>:: - post_name () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // nmtoken - // - template <typename C> - void nmtoken_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void nmtoken_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> nmtoken_pimpl<C>:: - post_nmtoken () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // nmtokens - // - template <typename C> - void nmtokens_pimpl<C>:: - _pre () - { - nmtokens_pskel<C>::_pre (); - seq_.clear (); - } - - template <typename C> - string_sequence<C> nmtokens_pimpl<C>:: - post_nmtokens () - { - string_sequence<C> r; - r.swap (seq_); - return r; - } - - template <typename C> - void nmtokens_pimpl<C>:: - _xsd_parse_item (const ro_string<C>& s) - { - parser_.pre (); - parser_._pre (); - parser_._characters (s); - parser_._post (); - seq_.push_back (parser_.post_nmtoken ()); - } - - // ncname - // - template <typename C> - void ncname_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void ncname_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> ncname_pimpl<C>:: - post_ncname () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // id - // - template <typename C> - void id_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void id_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> id_pimpl<C>:: - post_id () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // idref - // - template <typename C> - void idref_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void idref_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> idref_pimpl<C>:: - post_idref () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // idrefs - // - template <typename C> - void idrefs_pimpl<C>:: - _pre () - { - idrefs_pskel<C>::_pre (); - seq_.clear (); - } - - template <typename C> - string_sequence<C> idrefs_pimpl<C>:: - post_idrefs () - { - string_sequence<C> r; - r.swap (seq_); - return r; - } - - template <typename C> - void idrefs_pimpl<C>:: - _xsd_parse_item (const ro_string<C>& s) - { - parser_.pre (); - parser_._pre (); - parser_._characters (s); - parser_._post (); - seq_.push_back (parser_.post_idref ()); - } - - // language - // - template <typename C> - void language_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void language_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> language_pimpl<C>:: - post_language () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // uri - // - template <typename C> - void uri_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void uri_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> uri_pimpl<C>:: - post_uri () - { - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // qname - // - template <typename C> - void qname_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void qname_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - qname<C> qname_pimpl<C>:: - post_qname () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - size_type pos (tmp.find (C (':'))); - - if (pos != ro_string<C>::npos) - { - std::basic_string<C> prefix (tmp.data (), pos++); - std::basic_string<C> name (tmp.data () + pos, size - pos); - return qname<C> (prefix, name); - } - else - { - str_.resize (size); - return qname<C> (str_); - } - } - - // base64_binary - // - template <typename C> - void base64_binary_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void base64_binary_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline unsigned char - base64_decode (C c) - { - unsigned char r (0xFF); - - if (c >= C('A') && c <= C ('Z')) - r = static_cast<unsigned char> (c - C ('A')); - else if (c >= C('a') && c <= C ('z')) - r = static_cast<unsigned char> (c - C ('a') + 26); - else if (c >= C('0') && c <= C ('9')) - r = static_cast<unsigned char> (c - C ('0') + 52); - else if (c == C ('+')) - r = 62; - else if (c == C ('/')) - r = 63; - - return r; - } - } - - template <typename C> - XSD_AUTO_PTR<buffer> base64_binary_pimpl<C>:: - post_base64_binary () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - const C* src (str_.c_str ()); - - // Remove all whitespaces. - // - { - size_type j (0); - - bool subs (false); - - for (size_type i (0); i < size; ++i) - { - C c = str_[i]; - - if (c == C (0x20) || c == C (0x0A) || - c == C (0x0D) || c == C (0x09)) - { - subs = true; - } - else - { - if (subs) - subs = false; - - str_[j++] = c; - } - } - - size = j; - str_.resize (size); - } - - // Our length should be a multiple of four. - // - size_type quad_count (size / 4); - size_type capacity (quad_count * 3 + 1); - - XSD_AUTO_PTR<buffer> buf (new buffer (capacity, capacity)); - char* dst (buf->data ()); - - size_type si (0), di (0); // Source and destination indexes. - - // Process all quads except the last one. - // - unsigned char b1, b2, b3, b4; - - for (size_type q (0); q < quad_count - 1; ++q) - { - b1 = bits::base64_decode (src[si++]); - b2 = bits::base64_decode (src[si++]); - b3 = bits::base64_decode (src[si++]); - b4 = bits::base64_decode (src[si++]); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - dst[di++] = (b3 << 6) | b4; - } - - // Process the last quad. The first two octets are always there. - // - b1 = bits::base64_decode (src[si++]); - b2 = bits::base64_decode (src[si++]); - - C e3 (src[si++]); - C e4 (src[si++]); - - if (e4 == C ('=')) - { - if (e3 == C ('=')) - { - // Two pads. Last 4 bits in b2 should be zero. - // - dst[di++] = (b1 << 2) | (b2 >> 4); - } - else - { - // One pad. Last 2 bits in b3 should be zero. - // - b3 = bits::base64_decode (e3); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - } - } - else - { - // No pads. - // - b3 = bits::base64_decode (e3); - b4 = bits::base64_decode (e4); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - dst[di++] = (b3 << 6) | b4; - } - - // Set the real size. - // - buf->size (di); - - return buf; - } - - // hex_binary - // - template <typename C> - void hex_binary_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void hex_binary_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline unsigned char - hex_decode (C c) - { - unsigned char r (0xFF); - - if (c >= C('0') && c <= C ('9')) - r = static_cast<unsigned char> (c - C ('0')); - else if (c >= C ('A') && c <= C ('F')) - r = static_cast<unsigned char> (10 + (c - C ('A'))); - else if (c >= C ('a') && c <= C ('f')) - r = static_cast<unsigned char> (10 + (c - C ('a'))); - - return r; - } - } - - template <typename C> - XSD_AUTO_PTR<buffer> hex_binary_pimpl<C>:: - post_hex_binary () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - buffer::size_t n (size / 2); - XSD_AUTO_PTR<buffer> buf (new buffer (n)); - - const C* src (tmp.data ()); - char* dst (buf->data ()); - - for (buffer::size_t i (0); i < n; ++i) - { - unsigned char h (bits::hex_decode (src[2 * i])); - unsigned char l (bits::hex_decode (src[2 * i + 1])); - dst[i] = (h << 4) | l; - } - - return buf; - } - - // time_zone - // - namespace bits - { - // Datatypes 3.2.7.3. - // - template <typename C> - void - parse_tz (const C* s, - typename std::basic_string<C>::size_type n, - short& h, short& m) - { - // time_zone := Z|(+|-)HH:MM - // - if (n == 0) - { - return; - } - else if (s[0] == 'Z') - { - h = 0; - m = 0; - } - else if (n == 6) - { - // Parse hours. - // - h = 10 * (s[1] - '0') + (s[2] - '0'); - - // Parse minutes. - // - m = 10 * (s[4] - '0') + (s[5] - '0'); - - if (s[0] == '-') - { - h = -h; - m = -m; - } - } - } - } - - // gday - // - template <typename C> - void gday_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gday_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - gday gday_pimpl<C>:: - post_gday () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - unsigned short day (0); - bool z (false); - short zh (0), zm (0); - - // gday := ---DD[Z|(+|-)HH:MM] - // - if (size >= 5) - { - day = 10 * (s[3] - '0') + (s[4] - '0'); - - if (size > 5) - { - bits::parse_tz (s + 5, size - 5, zh, zm); - z = true; - } - } - - return z ? gday (day, zh, zm) : gday (day); - } - - // gmonth - // - template <typename C> - void gmonth_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gmonth_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - gmonth gmonth_pimpl<C>:: - post_gmonth () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - unsigned short month (0); - bool z (false); - short zh (0), zm (0); - - // gmonth := --MM[Z|(+|-)HH:MM] - // - if (size >= 4) - { - month = 10 * (s[2] - '0') + (s[3] - '0'); - - if (size > 4) - { - bits::parse_tz (s + 4, size - 4, zh, zm); - z = true; - } - } - - return z ? gmonth (month, zh, zm) : gmonth (month); - } - - // gyear - // - template <typename C> - void gyear_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gyear_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - gyear gyear_pimpl<C>:: - post_gyear () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - int year (0); - bool z (false); - short zh (0), zm (0); - - // gyear := [-]CCYY[N]*[Z|(+|-)HH:MM] - // - - if (size >= 4) - { - // Find the end of the year token. - // - size_type pos (4); - for (; pos < size; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> year_fragment (s, pos); - zc_istream<C> is (year_fragment); - is >> year; - - if (pos < size) - { - bits::parse_tz (s + pos, size - pos, zh, zm); - z = true; - } - } - - return z ? gyear (year, zh, zm) : gyear (year); - } - - // gmonth_day - // - template <typename C> - void gmonth_day_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gmonth_day_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - gmonth_day gmonth_day_pimpl<C>:: - post_gmonth_day () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - unsigned short month (0), day (0); - bool z (false); - short zh (0), zm (0); - - // gmonth_day := --MM-DD[Z|(+|-)HH:MM] - // - if (size >= 7) - { - month = 10 * (s[2] - '0') + (s[3] - '0'); - day = 10 * (s[5] - '0') + (s[6] - '0'); - - if (size > 7) - { - bits::parse_tz (s + 7, size - 7, zh, zm); - z = true; - } - } - - return z - ? gmonth_day (month, day, zh, zm) - : gmonth_day (month, day); - } - - // gyear_month - // - template <typename C> - void gyear_month_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gyear_month_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - gyear_month gyear_month_pimpl<C>:: - post_gyear_month () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - int year (0); - unsigned short month (0); - bool z (false); - short zh (0), zm (0); - - // gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM] - // - - if (size >= 7) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (size - pos - 1) >= 2) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - yis >> year; - - month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); - - pos += 3; - - if (pos < size) - { - bits::parse_tz (s + pos, size - pos, zh, zm); - z = true; - } - } - } - - return z - ? gyear_month (year, month, zh, zm) - : gyear_month (year, month); - } - - // date - // - template <typename C> - void date_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void date_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - date date_pimpl<C>:: - post_date () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - int year (0); - unsigned short month (0), day (0); - bool z (false); - short zh (0), zm (0); - - // date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM] - // - - if (size >= 10) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (size - pos - 1) >= 5) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - yis >> year; - - month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); - day = 10 * (s[pos + 4] - '0') + (s[pos + 5] - '0'); - - pos += 6; - - if (pos < size) - { - bits::parse_tz (s + pos, size - pos, zh, zm); - z = true; - } - } - } - - return z - ? date (year, month, day, zh, zm) - : date (year, month, day); - } - - // time - // - template <typename C> - void time_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void time_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - time time_pimpl<C>:: - post_time () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - unsigned short hours (0), minutes (0); - double seconds (0.0); - bool z (false); - short zh (0), zm (0); - - // time := HH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (size >= 8) - { - hours = 10 * (s[0] - '0') + (s[1] - '0'); - minutes = 10 * (s[3] - '0') + (s[4] - '0'); - - // Find the end of the seconds fragment. - // - size_type pos (8); - for (; pos < size; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> seconds_fragment (s + 6, pos - 6); - zc_istream<C> sis (seconds_fragment); - sis >> seconds; - - if (pos < size) - { - bits::parse_tz (s + pos, size - pos, zh, zm); - z = true; - } - } - - return z - ? time (hours, minutes, seconds, zh, zm) - : time (hours, minutes, seconds); - } - - - // date_time - // - template <typename C> - void date_time_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void date_time_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - date_time date_time_pimpl<C>:: - post_date_time () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - int year (0); - unsigned short month (0), day (0), hours (0), minutes (0); - double seconds (0.0); - bool z (false); - short zh (0), zm (0); - - // date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (size >= 19) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (size - pos - 1) >= 14) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - yis >> year; - - month = 10 * (s[pos + 1] - '0') + (s[pos + 2] - '0'); - day = 10 * (s[pos + 4] - '0') + (s[pos + 5] - '0'); - - pos += 7; // Point to the first H. - - hours = 10 * (s[pos] - '0') + (s[pos + 1] - '0'); - minutes = 10 * (s[pos + 3] - '0') + (s[pos + 4] - '0'); - - // Find the end of the seconds fragment. - // - pos += 6; // Point to the first S. - - size_type sec_end (pos + 2); - for (; sec_end < size; ++sec_end) - { - C c (s[sec_end]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> seconds_fragment (s + pos, sec_end - pos); - zc_istream<C> sis (seconds_fragment); - sis >> seconds; - - if (sec_end < size) - { - bits::parse_tz (s + sec_end, size - sec_end, zh, zm); - z = true; - } - } - } - - return z - ? date_time (year, month, day, hours, minutes, seconds, zh, zm) - : date_time (year, month, day, hours, minutes, seconds); - } - - // duration - // - template <typename C> - void duration_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void duration_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline typename ro_string<C>::size_type - duration_delim (const C* s, - typename ro_string<C>::size_type pos, - typename ro_string<C>::size_type size) - { - const C* p (s + pos); - for (; p < (s + size); ++p) - { - if (*p == C ('Y') || *p == C ('D') || *p == C ('M') || - *p == C ('H') || *p == C ('M') || *p == C ('S') || - *p == C ('T')) - break; - } - - return p - s; - } - } - - template <typename C> - duration duration_pimpl<C>:: - post_duration () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - bool negative (false); - unsigned int years (0), months (0), days (0), hours (0), minutes (0); - double seconds (0.0); - - // duration := [-]P[nY][nM][nD][TnHnMn[.n+]S] - // - const C* s (tmp.data ()); - - if (size >= 3) - { - size_type pos (0); - - if (s[0] == C ('-')) - { - negative = true; - pos++; - } - - pos++; // Skip 'P'. - - size_type del (bits::duration_delim (s, pos, size)); - - if (del != size && s[del] == C ('Y')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> years; - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> months; - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('D')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> days; - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('T')) - { - pos = del + 1; - del = bits::duration_delim (s, pos, size); - - if (del != size && s[del] == C ('H')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> hours; - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> minutes; - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('S')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> seconds; - } - } - } - - return duration ( - negative, years, months, days, hours, minutes, seconds); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx deleted file mode 100644 index 334be01..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.hxx +++ /dev/null @@ -1,648 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pskel.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX - -#include <string> -#include <memory> // std::auto_ptr/unique_ptr - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/parser/xml-schema.hxx> -#include <xsd/cxx/parser/non-validating/parser.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - // anyType and anySimpleType. All events are routed to the - // _any_* callbacks. - // - template <typename C> - struct any_type_pskel: complex_content<C> - { - virtual bool - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*); - - virtual bool - _end_element_impl (const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _characters_impl (const ro_string<C>&); - - virtual void - post_any_type () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct any_simple_type_pskel: simple_content<C> - { - virtual bool - _characters_impl (const ro_string<C>&); - - virtual void - post_any_simple_type () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Boolean. - // - template <typename C> - struct boolean_pskel: simple_content<C> - { - virtual bool - post_boolean () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 8-bit - // - template <typename C> - struct byte_pskel: simple_content<C> - { - virtual signed char - post_byte () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_byte_pskel: simple_content<C> - { - virtual unsigned char - post_unsigned_byte () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 16-bit - // - template <typename C> - struct short_pskel: simple_content<C> - { - virtual short - post_short () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_short_pskel: simple_content<C> - { - virtual unsigned short - post_unsigned_short () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 32-bit - // - template <typename C> - struct int_pskel: simple_content<C> - { - virtual int - post_int () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_int_pskel: simple_content<C> - { - virtual unsigned int - post_unsigned_int () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 64-bit - // - template <typename C> - struct long_pskel: simple_content<C> - { - virtual long long - post_long () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_long_pskel: simple_content<C> - { - virtual unsigned long long - post_unsigned_long () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Arbitrary-length integers. - // - template <typename C> - struct integer_pskel: simple_content<C> - { - virtual long long - post_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct negative_integer_pskel: simple_content<C> - { - virtual long long - post_negative_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct non_positive_integer_pskel: simple_content<C> - { - virtual long long - post_non_positive_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct positive_integer_pskel: simple_content<C> - { - virtual unsigned long long - post_positive_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct non_negative_integer_pskel: simple_content<C> - { - virtual unsigned long long - post_non_negative_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Floats. - // - template <typename C> - struct float_pskel: simple_content<C> - { - virtual float - post_float () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct double_pskel: simple_content<C> - { - virtual double - post_double () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct decimal_pskel: simple_content<C> - { - virtual double - post_decimal () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Strings. - // - template <typename C> - struct string_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_string () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct normalized_string_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_normalized_string () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct token_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_token () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct name_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_name () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct nmtoken_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_nmtoken () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct nmtokens_pskel: list_base<C> - { - virtual string_sequence<C> - post_nmtokens () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct ncname_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_ncname () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct id_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_id () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct idref_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_idref () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct idrefs_pskel: list_base<C> - { - virtual string_sequence<C> - post_idrefs () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Language. - // - template <typename C> - struct language_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_language () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // URI. - // - template <typename C> - struct uri_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_uri () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // QName. - // - template <typename C> - struct qname_pskel: simple_content<C> - { - virtual qname<C> - post_qname () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Base64 and hex binaries. - // - template <typename C> - struct base64_binary_pskel: simple_content<C> - { - virtual XSD_AUTO_PTR<buffer> - post_base64_binary () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct hex_binary_pskel: simple_content<C> - { - virtual XSD_AUTO_PTR<buffer> - post_hex_binary () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Time and date types. - // - template <typename C> - struct gday_pskel: simple_content<C> - { - virtual gday - post_gday () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gmonth_pskel: simple_content<C> - { - virtual gmonth - post_gmonth () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gyear_pskel: simple_content<C> - { - virtual gyear - post_gyear () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gmonth_day_pskel: simple_content<C> - { - virtual gmonth_day - post_gmonth_day () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gyear_month_pskel: simple_content<C> - { - virtual gyear_month - post_gyear_month () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct date_pskel: simple_content<C> - { - virtual date - post_date () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct time_pskel: simple_content<C> - { - virtual time - post_time () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct date_time_pskel: simple_content<C> - { - virtual date_time - post_date_time () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct duration_pskel: simple_content<C> - { - virtual duration - post_duration () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - } - } - } -} - -#include <xsd/cxx/parser/non-validating/xml-schema-pskel.txx> - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_HXX - -#include <xsd/cxx/parser/non-validating/xml-schema-pskel.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx deleted file mode 100644 index 44cc6e4..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.ixx +++ /dev/null @@ -1,1248 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pskel.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - template<> - inline const char* any_type_pskel<char>:: - _static_type () - { - return "anyType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* any_type_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* any_simple_type_pskel<char>:: - _static_type () - { - return "anySimpleType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* any_simple_type_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* boolean_pskel<char>:: - _static_type () - { - return "boolean http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* boolean_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* byte_pskel<char>:: - _static_type () - { - return "byte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* byte_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_byte_pskel<char>:: - _static_type () - { - return "unsignedByte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_byte_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* short_pskel<char>:: - _static_type () - { - return "short http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* short_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_short_pskel<char>:: - _static_type () - { - return "unsignedShort http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_short_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* int_pskel<char>:: - _static_type () - { - return "int http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* int_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_int_pskel<char>:: - _static_type () - { - return "unsignedInt http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_int_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* long_pskel<char>:: - _static_type () - { - return "long http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* long_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_long_pskel<char>:: - _static_type () - { - return "unsignedLong http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_long_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* integer_pskel<char>:: - _static_type () - { - return "integer http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* negative_integer_pskel<char>:: - _static_type () - { - return "negativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* negative_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* non_positive_integer_pskel<char>:: - _static_type () - { - return "nonPositiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* non_positive_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* positive_integer_pskel<char>:: - _static_type () - { - return "positiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* positive_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* non_negative_integer_pskel<char>:: - _static_type () - { - return "nonNegativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* non_negative_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* float_pskel<char>:: - _static_type () - { - return "float http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* float_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* double_pskel<char>:: - _static_type () - { - return "double http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* double_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* decimal_pskel<char>:: - _static_type () - { - return "decimal http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* decimal_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* string_pskel<char>:: - _static_type () - { - return "string http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* string_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* normalized_string_pskel<char>:: - _static_type () - { - return "normalizedString http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* normalized_string_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* token_pskel<char>:: - _static_type () - { - return "token http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* token_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* name_pskel<char>:: - _static_type () - { - return "Name http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* name_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* nmtoken_pskel<char>:: - _static_type () - { - return "NMTOKEN http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* nmtoken_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* nmtokens_pskel<char>:: - _static_type () - { - return "NMTOKENS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* nmtokens_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* ncname_pskel<char>:: - _static_type () - { - return "NCName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* ncname_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* id_pskel<char>:: - _static_type () - { - return "ID http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* id_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* idref_pskel<char>:: - _static_type () - { - return "IDREF http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* idref_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* idrefs_pskel<char>:: - _static_type () - { - return "IDREFS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* idrefs_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* language_pskel<char>:: - _static_type () - { - return "language http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* language_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* uri_pskel<char>:: - _static_type () - { - return "anyURI http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* uri_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* qname_pskel<char>:: - _static_type () - { - return "QName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* qname_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* base64_binary_pskel<char>:: - _static_type () - { - return "base64Binary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* base64_binary_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* hex_binary_pskel<char>:: - _static_type () - { - return "hexBinary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* hex_binary_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gday_pskel<char>:: - _static_type () - { - return "gDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gday_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gmonth_pskel<char>:: - _static_type () - { - return "gMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gmonth_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gyear_pskel<char>:: - _static_type () - { - return "gYear http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gyear_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gmonth_day_pskel<char>:: - _static_type () - { - return "gMonthDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gmonth_day_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gyear_month_pskel<char>:: - _static_type () - { - return "gYearMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gyear_month_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* date_pskel<char>:: - _static_type () - { - return "date http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* date_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* time_pskel<char>:: - _static_type () - { - return "time http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* time_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* date_time_pskel<char>:: - _static_type () - { - return "dateTime http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* date_time_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* duration_pskel<char>:: - _static_type () - { - return "duration http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* duration_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - } - } - } -} - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR -#define XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - template<> - inline const wchar_t* any_type_pskel<wchar_t>:: - _static_type () - { - return L"anyType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* any_type_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* any_simple_type_pskel<wchar_t>:: - _static_type () - { - return L"anySimpleType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* any_simple_type_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* boolean_pskel<wchar_t>:: - _static_type () - { - return L"boolean http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* boolean_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* byte_pskel<wchar_t>:: - _static_type () - { - return L"byte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* byte_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_byte_pskel<wchar_t>:: - _static_type () - { - return L"unsignedByte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_byte_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* short_pskel<wchar_t>:: - _static_type () - { - return L"short http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* short_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_short_pskel<wchar_t>:: - _static_type () - { - return L"unsignedShort http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_short_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* int_pskel<wchar_t>:: - _static_type () - { - return L"int http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* int_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_int_pskel<wchar_t>:: - _static_type () - { - return L"unsignedInt http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_int_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* long_pskel<wchar_t>:: - _static_type () - { - return L"long http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* long_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_long_pskel<wchar_t>:: - _static_type () - { - return L"unsignedLong http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_long_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* integer_pskel<wchar_t>:: - _static_type () - { - return L"integer http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* negative_integer_pskel<wchar_t>:: - _static_type () - { - return L"negativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* negative_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* non_positive_integer_pskel<wchar_t>:: - _static_type () - { - return L"nonPositiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* non_positive_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* positive_integer_pskel<wchar_t>:: - _static_type () - { - return L"positiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* positive_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* non_negative_integer_pskel<wchar_t>:: - _static_type () - { - return L"nonNegativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* non_negative_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* float_pskel<wchar_t>:: - _static_type () - { - return L"float http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* float_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* double_pskel<wchar_t>:: - _static_type () - { - return L"double http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* double_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* decimal_pskel<wchar_t>:: - _static_type () - { - return L"decimal http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* decimal_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* string_pskel<wchar_t>:: - _static_type () - { - return L"string http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* string_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* normalized_string_pskel<wchar_t>:: - _static_type () - { - return L"normalizedString http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* normalized_string_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* token_pskel<wchar_t>:: - _static_type () - { - return L"token http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* token_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* name_pskel<wchar_t>:: - _static_type () - { - return L"Name http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* name_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* nmtoken_pskel<wchar_t>:: - _static_type () - { - return L"NMTOKEN http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* nmtoken_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* nmtokens_pskel<wchar_t>:: - _static_type () - { - return L"NMTOKENS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* nmtokens_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* ncname_pskel<wchar_t>:: - _static_type () - { - return L"NCName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* ncname_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* id_pskel<wchar_t>:: - _static_type () - { - return L"ID http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* id_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* idref_pskel<wchar_t>:: - _static_type () - { - return L"IDREF http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* idref_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* idrefs_pskel<wchar_t>:: - _static_type () - { - return L"IDREFS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* idrefs_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* language_pskel<wchar_t>:: - _static_type () - { - return L"language http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* language_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* uri_pskel<wchar_t>:: - _static_type () - { - return L"anyURI http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* uri_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* qname_pskel<wchar_t>:: - _static_type () - { - return L"QName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* qname_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* base64_binary_pskel<wchar_t>:: - _static_type () - { - return L"base64Binary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* base64_binary_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* hex_binary_pskel<wchar_t>:: - _static_type () - { - return L"hexBinary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* hex_binary_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gday_pskel<wchar_t>:: - _static_type () - { - return L"gDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gday_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gmonth_pskel<wchar_t>:: - _static_type () - { - return L"gMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gmonth_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gyear_pskel<wchar_t>:: - _static_type () - { - return L"gYear http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gyear_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gmonth_day_pskel<wchar_t>:: - _static_type () - { - return L"gMonthDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gmonth_day_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gyear_month_pskel<wchar_t>:: - _static_type () - { - return L"gYearMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gyear_month_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* date_pskel<wchar_t>:: - _static_type () - { - return L"date http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* date_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* time_pskel<wchar_t>:: - _static_type () - { - return L"time http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* time_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* date_time_pskel<wchar_t>:: - _static_type () - { - return L"dateTime http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* date_time_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* duration_pskel<wchar_t>:: - _static_type () - { - return L"duration http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* duration_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - } - } - } -} - -#endif // XSD_CXX_PARSER_NON_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx b/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx deleted file mode 100644 index e2fd1b3..0000000 --- a/xsd/libxsd/xsd/cxx/parser/non-validating/xml-schema-pskel.txx +++ /dev/null @@ -1,68 +0,0 @@ -// file : xsd/cxx/parser/non-validating/xml-schema-pskel.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace non_validating - { - // any_type - // - - template <typename C> - bool any_type_pskel<C>:: - _start_element_impl (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - this->_start_any_element (ns, name, type); - this->complex_content<C>::context_.top ().any_ = true; - return true; - } - - template <typename C> - bool any_type_pskel<C>:: - _end_element_impl (const ro_string<C>& ns, const ro_string<C>& name) - { - this->complex_content<C>::context_.top ().any_ = false; - this->_end_any_element (ns, name); - return true; - } - - - template <typename C> - bool any_type_pskel<C>:: - _attribute_impl (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - this->_any_attribute (ns, name, value); - return true; - } - - template <typename C> - bool any_type_pskel<C>:: - _characters_impl (const ro_string<C>& s) - { - this->_any_characters (s); - return true; - } - - // any_simple_type - // - - template <typename C> - bool any_simple_type_pskel<C>:: - _characters_impl (const ro_string<C>& s) - { - this->_any_characters (s); - return true; - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx deleted file mode 100644 index 8fd2def..0000000 --- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.hxx +++ /dev/null @@ -1,186 +0,0 @@ -// file : xsd/cxx/parser/schema-exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX -#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX - -#include <string> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - template <typename C> - struct schema_exception - { - public: - virtual - ~schema_exception () - { - } - - unsigned long - line () const - { - return line_; - } - - void - line (unsigned long l) - { - line_ = l; - } - - unsigned long - column () const - { - return column_; - } - - void - column (unsigned long c) - { - column_ = c; - } - - const std::basic_string<C>& - id () const - { - return id_; - } - - void - id (const std::basic_string<C>& id) - { - id_ = id; - } - - virtual std::basic_string<C> - message () const = 0; - - protected: - unsigned long line_; - unsigned long column_; - std::basic_string<C> id_; - }; - - // - // - template <typename C> - struct expected_element: schema_exception<C> - { - virtual - ~expected_element (); - - expected_element (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name); - - expected_element (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name); - - const std::basic_string<C>& - expected_namespace () const - { - return expected_namespace_; - } - - const std::basic_string<C>& - expected_name () const - { - return expected_name_; - } - - // Encountered element namespace and name are empty if none - // encountered. - // - const std::basic_string<C>& - encountered_namespace () const - { - return encountered_namespace_; - } - - const std::basic_string<C>& - encountered_name () const - { - return encountered_name_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> expected_namespace_; - std::basic_string<C> expected_name_; - - std::basic_string<C> encountered_namespace_; - std::basic_string<C> encountered_name_; - }; - - - // - // - template <typename C> - struct unexpected_element: schema_exception<C> - { - virtual - ~unexpected_element (); - - unexpected_element (const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name); - - const std::basic_string<C>& - encountered_namespace () const - { - return encountered_namespace_; - } - - const std::basic_string<C>& - encountered_name () const - { - return encountered_name_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> encountered_namespace_; - std::basic_string<C> encountered_name_; - }; - - // - // - template <typename C> - struct dynamic_type: schema_exception<C> - { - virtual - ~dynamic_type () throw (); - - dynamic_type (const std::basic_string<C>& type); - - const std::basic_string<C>& - type () const - { - return type_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> type_; - }; - } - } -} - -#include <xsd/cxx/parser/schema-exceptions.txx> - -#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_HXX - -#include <xsd/cxx/parser/schema-exceptions.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx deleted file mode 100644 index 71be381..0000000 --- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.ixx +++ /dev/null @@ -1,144 +0,0 @@ -// file : xsd/cxx/parser/schema-exceptions.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR -#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // expected_element - // - template<> - inline - std::basic_string<char> expected_element<char>:: - message () const - { - std::basic_string<char> r ("expected element '"); - r += expected_namespace_; - r += expected_namespace_.empty () ? "" : "#"; - r += expected_name_; - r += "'"; - - if (!encountered_name_.empty ()) - { - r += " instead of '"; - r += encountered_namespace_; - r += encountered_namespace_.empty () ? "" : "#"; - r += encountered_name_; - r += "'"; - } - - return r; - } - - // unexpected_element - // - template<> - inline - std::basic_string<char> unexpected_element<char>:: - message () const - { - std::basic_string<char> r ("unexpected element '"); - r += encountered_namespace_; - r += encountered_namespace_.empty () ? "" : "#"; - r += encountered_name_; - r += "'"; - return r; - } - - // dynamic_type - // - template<> - inline - std::basic_string<char> dynamic_type<char>:: - message () const - { - std::basic_string<char> r ("invalid xsi:type '"); - r += type_; - r += "'"; - return r; - } - } - } -} - -#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR -#define XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // expected_element - // - template<> - inline - std::basic_string<wchar_t> expected_element<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"expected element '"); - r += expected_namespace_; - r += expected_namespace_.empty () ? L"" : L"#"; - r += expected_name_; - r += L"'"; - - if (!encountered_name_.empty ()) - { - r += L" instead of '"; - r += encountered_namespace_; - r += encountered_namespace_.empty () ? L"" : L"#"; - r += encountered_name_; - r += L"'"; - } - - return r; - } - - // unexpected_element - // - template<> - inline - std::basic_string<wchar_t> unexpected_element<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"unexpected element '"); - r += encountered_namespace_; - r += encountered_namespace_.empty () ? L"" : L"#"; - r += encountered_name_; - r += L"'"; - return r; - } - - // dynamic_type - // - template<> - inline - std::basic_string<wchar_t> dynamic_type<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"invalid xsi:type '"); - r += type_; - r += L"'"; - return r; - } - } - } -} - -#endif // XSD_CXX_PARSER_SCHEMA_EXCEPTIONS_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx b/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx deleted file mode 100644 index 77c569a..0000000 --- a/xsd/libxsd/xsd/cxx/parser/schema-exceptions.txx +++ /dev/null @@ -1,74 +0,0 @@ -// file : xsd/cxx/parser/schema-exceptions.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // expected_element - // - template <typename C> - expected_element<C>:: - ~expected_element () - { - } - - template <typename C> - expected_element<C>:: - expected_element (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name) - : expected_namespace_ (expected_namespace), - expected_name_ (expected_name) - { - } - - template <typename C> - expected_element<C>:: - expected_element (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name) - : expected_namespace_ (expected_namespace), - expected_name_ (expected_name), - encountered_namespace_ (encountered_namespace), - encountered_name_ (encountered_name) - { - } - - // unexpected_element - // - template <typename C> - unexpected_element<C>:: - ~unexpected_element () - { - } - - template <typename C> - unexpected_element<C>:: - unexpected_element (const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name) - : encountered_namespace_ (encountered_namespace), - encountered_name_ (encountered_name) - { - } - - // dynamic_type - // - template <typename C> - dynamic_type<C>:: - ~dynamic_type () throw () - { - } - - template <typename C> - dynamic_type<C>:: - dynamic_type (const std::basic_string<C>& type) - : type_ (type) - { - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx b/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx deleted file mode 100644 index d191e28..0000000 --- a/xsd/libxsd/xsd/cxx/parser/substitution-map.hxx +++ /dev/null @@ -1,240 +0,0 @@ -// file : xsd/cxx/parser/substitution-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX -#define XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX - -#include <map> -#include <cstddef> // std::size_t - -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - template <typename C> - struct substitution_map_key - { - substitution_map_key (const C* ns, const C* name) - : ns_ (ns), name_ (name) - { - } - - substitution_map_key (const ro_string<C>& ns, - const ro_string<C>& name) - : ns_ (ns.data (), ns.size ()), - name_ (name.data (), name.size ()) - { - } - - substitution_map_key (const substitution_map_key& x) - : ns_ (x.ns_.data (), x.ns_.size ()), - name_ (x.name_.data (), x.name_.size ()) - { - } - - private: - substitution_map_key& - operator= (const substitution_map_key&); - - public: - const ro_string<C>& - ns () const - { - return ns_; - } - - const ro_string<C>& - name () const - { - return name_; - } - - private: - const ro_string<C> ns_; - const ro_string<C> name_; - }; - - template <typename C> - inline bool - operator< (const substitution_map_key<C>& x, - const substitution_map_key<C>& y) - { - int r (x.name ().compare (y.name ())); - return r < 0 || (r == 0 && x.ns () < y.ns ()); - } - - template <typename C> - struct substitution_map_value - { - substitution_map_value (const C* ns, const C* name, const C* type) - : ns_ (ns), name_ (name), type_ (type) - { - } - - substitution_map_value (const substitution_map_value& x) - : ns_ (x.ns_.data (), x.ns_.size ()), - name_ (x.name_.data (), x.name_.size ()), - type_ (x.type_.data (), x.type_.size ()) - { - } - - substitution_map_value& - operator= (const substitution_map_value& x) - { - if (this != &x) - { - ns_.assign (x.ns_.data (), x.ns_.size ()); - name_.assign (x.name_.data (), x.name_.size ()); - type_.assign (x.type_.data (), x.type_.size ()); - } - - return *this; - } - - public: - const ro_string<C>& - ns () const - { - return ns_; - } - - const ro_string<C>& - name () const - { - return name_; - } - - const ro_string<C>& - type () const - { - return type_; - } - - private: - ro_string<C> ns_; - ro_string<C> name_; - ro_string<C> type_; - }; - - template <typename C> - struct substitution_map - { - void - insert (const C* member_ns, - const C* member_name, - const C* root_ns, - const C* root_name, - const C* member_type) - { - key k (member_ns, member_name); - value v (root_ns, root_name, member_type); - map_.insert (std::pair<key, value> (k, v)); - } - - void - erase (const C* member_ns, const C* member_name) - { - map_.erase (key (member_ns, member_name)); - } - - // Check and get the type set if found. - // - bool - check (const ro_string<C>& ns, - const ro_string<C>& name, - const C* root_ns, - const C* root_name, - const ro_string<C>*& type) const - { - - return map_.empty () - ? false - : check_ (ns, name, root_ns, root_name, &type); - } - - // Check but don't care about the type. - // - bool - check (const ro_string<C>& ns, - const ro_string<C>& name, - const C* root_ns, - const C* root_name) const - { - - return map_.empty () - ? false - : check_ (ns, name, root_ns, root_name, 0); - } - - private: - bool - check_ (const ro_string<C>& ns, - const ro_string<C>& name, - const C* root_ns, - const C* root_name, - const ro_string<C>** type) const; - - private: - typedef substitution_map_key<C> key; - typedef substitution_map_value<C> value; - typedef std::map<key, value> map; - - map map_; - }; - - - // Translation unit initializer. - // - template<typename C> - struct substitution_map_init - { - static substitution_map<C>* map; - static std::size_t count; - - substitution_map_init (); - ~substitution_map_init (); - }; - - template<typename C> - substitution_map<C>* substitution_map_init<C>::map = 0; - - template<typename C> - std::size_t substitution_map_init<C>::count = 0; - - template<typename C> - inline substitution_map<C>& - substitution_map_instance () - { - return *substitution_map_init<C>::map; - } - - - // Map entry initializer. - // - template<typename C> - struct substitution_map_entry - { - substitution_map_entry (const C* member_ns, - const C* member_name, - const C* root_ns, - const C* root_name, - const C* member_type); - - ~substitution_map_entry (); - - private: - const C* member_ns_; - const C* member_name_; - }; - } - } -} - -#include <xsd/cxx/parser/substitution-map.txx> - -#endif // XSD_CXX_PARSER_SUBSTITUTION_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/substitution-map.txx b/xsd/libxsd/xsd/cxx/parser/substitution-map.txx deleted file mode 100644 index 45216cd..0000000 --- a/xsd/libxsd/xsd/cxx/parser/substitution-map.txx +++ /dev/null @@ -1,83 +0,0 @@ -// file : xsd/cxx/parser/substitution-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - template <typename C> - bool substitution_map<C>:: - check_ (const ro_string<C>& ns, - const ro_string<C>& name, - const C* root_ns, - const C* root_name, - const ro_string<C>** type) const - { - key k (ns, name); - typename map::const_iterator i (map_.find (k)); - - if (i == map_.end ()) - return false; - - const value& v (i->second); - - bool r (false); - - if (v.name () == root_name && v.ns () == root_ns) - r = true; - else - r = check_ (v.ns (), v.name (), root_ns, root_name, 0); - - if (r && type != 0 && *type == 0) - *type = &v.type (); - - return r; - } - - // substitution_map_init - // - template<typename C> - substitution_map_init<C>:: - substitution_map_init () - { - if (count == 0) - map = new substitution_map<C>; - - ++count; - } - - template<typename C> - substitution_map_init<C>:: - ~substitution_map_init () - { - if (--count == 0) - delete map; - } - - // substitution_map_entry - // - template<typename C> - substitution_map_entry<C>:: - substitution_map_entry (const C* member_ns, - const C* member_name, - const C* root_ns, - const C* root_name, - const C* member_type) - : member_ns_ (member_ns), member_name_ (member_name) - { - substitution_map_instance<C> ().insert ( - member_ns, member_name, root_ns, root_name, member_type); - } - - template<typename C> - substitution_map_entry<C>:: - ~substitution_map_entry () - { - substitution_map_instance<C> ().erase (member_ns_, member_name_); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx deleted file mode 100644 index 07086e3..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.hxx +++ /dev/null @@ -1,152 +0,0 @@ -// file : xsd/cxx/parser/validating/exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX -#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX - -#include <string> - -#include <xsd/cxx/parser/schema-exceptions.hxx> -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // - // - template <typename C> - struct expected_attribute: schema_exception<C> - { - virtual - ~expected_attribute (); - - expected_attribute (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name); - - const std::basic_string<C>& - expected_namespace () const - { - return expected_namespace_; - } - - const std::basic_string<C>& - expected_name () const - { - return expected_name_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> expected_namespace_; - std::basic_string<C> expected_name_; - }; - - // - // - template <typename C> - struct unexpected_attribute: schema_exception<C> - { - virtual - ~unexpected_attribute (); - - unexpected_attribute ( - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name); - - - const std::basic_string<C>& - encountered_namespace () const - { - return encountered_namespace_; - } - - const std::basic_string<C>& - encountered_name () const - { - return encountered_name_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> encountered_namespace_; - std::basic_string<C> encountered_name_; - }; - - - // - // - template <typename C> - struct unexpected_characters: schema_exception<C> - { - virtual - ~unexpected_characters (); - - unexpected_characters (const std::basic_string<C>& s); - - const std::basic_string<C>& - characters () const - { - return characters_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> characters_; - }; - - // - // - template <typename C> - struct invalid_value: schema_exception<C> - { - virtual - ~invalid_value (); - - invalid_value (const C* type, const std::basic_string<C>& value); - - invalid_value (const C* type, const ro_string<C>& value); - - invalid_value (const std::basic_string<C>& type, - const std::basic_string<C>& value); - - const std::basic_string<C>& - type () const - { - return type_; - } - - const std::basic_string<C>& - value () const - { - return value_; - } - - virtual std::basic_string<C> - message () const; - - private: - std::basic_string<C> type_; - std::basic_string<C> value_; - }; - } - } - } -} - -#include <xsd/cxx/parser/validating/exceptions.txx> - -#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_HXX - -#include <xsd/cxx/parser/validating/exceptions.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx deleted file mode 100644 index 72bfe8d..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.ixx +++ /dev/null @@ -1,162 +0,0 @@ -// file : xsd/cxx/parser/validating/exceptions.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR -#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // expected_attribute - // - template<> - inline - std::basic_string<char> expected_attribute<char>:: - message () const - { - std::basic_string<char> r ("expected attribute '"); - r += expected_namespace_; - r += expected_namespace_.empty () ? "" : "#"; - r += expected_name_; - r += "'"; - return r; - } - - // unexpected_attribute - // - template<> - inline - std::basic_string<char> unexpected_attribute<char>:: - message () const - { - std::basic_string<char> r ("unexpected attribute '"); - r += encountered_namespace_; - r += encountered_namespace_.empty () ? "" : "#"; - r += encountered_name_; - r += "'"; - return r; - } - - // unexpected_characters - // - template<> - inline - std::basic_string<char> unexpected_characters<char>:: - message () const - { - std::basic_string<char> r ("unexpected characters '"); - r += characters_; - r += "'"; - return r; - } - - // invalid_value - // - template<> - inline - std::basic_string<char> invalid_value<char>:: - message () const - { - std::basic_string<char> r ("'"); - r += value_; - r += "' is not a valid value representation "; - r += "for type '"; - r += type_; - r += "'"; - return r; - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR -#define XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // expected_attribute - // - template<> - inline - std::basic_string<wchar_t> expected_attribute<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"expected attribute '"); - r += expected_namespace_; - r += expected_namespace_.empty () ? L"" : L"#"; - r += expected_name_; - r += L"'"; - return r; - } - - // unexpected_attribute - // - template<> - inline - std::basic_string<wchar_t> unexpected_attribute<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"unexpected attribute '"); - r += encountered_namespace_; - r += encountered_namespace_.empty () ? L"" : L"#"; - r += encountered_name_; - r += L"'"; - return r; - } - - // unexpected_characters - // - template<> - inline - std::basic_string<wchar_t> unexpected_characters<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"unexpected characters '"); - r += characters_; - r += L"'"; - return r; - } - - // invalid_value - // - template<> - inline - std::basic_string<wchar_t> invalid_value<wchar_t>:: - message () const - { - std::basic_string<wchar_t> r (L"'"); - r += value_; - r += L"' is not a valid value representation "; - r += L"for type '"; - r += type_; - r += L"'"; - return r; - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_EXCEPTIONS_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx b/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx deleted file mode 100644 index c2b8928..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/exceptions.txx +++ /dev/null @@ -1,96 +0,0 @@ -// file : xsd/cxx/parser/validating/exceptions.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // expected_attribute - // - template <typename C> - expected_attribute<C>:: - ~expected_attribute () - { - } - - template <typename C> - expected_attribute<C>:: - expected_attribute (const std::basic_string<C>& expected_namespace, - const std::basic_string<C>& expected_name) - : expected_namespace_ (expected_namespace), - expected_name_ (expected_name) - { - } - - // unexpected_attribute - // - template <typename C> - unexpected_attribute<C>:: - ~unexpected_attribute () - { - } - - template <typename C> - unexpected_attribute<C>:: - unexpected_attribute (const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& encountered_name) - : encountered_namespace_ (encountered_namespace), - encountered_name_ (encountered_name) - { - } - - // unexpected_characters - // - template <typename C> - unexpected_characters<C>:: - ~unexpected_characters () - { - } - - template <typename C> - unexpected_characters<C>:: - unexpected_characters (const std::basic_string<C>& s) - : characters_ (s) - { - } - - // invalid_value - // - template <typename C> - invalid_value<C>:: - ~invalid_value () - { - } - - template <typename C> - invalid_value<C>:: - invalid_value (const C* type, - const std::basic_string<C>& value) - : type_ (type), value_ (value) - { - } - - template <typename C> - invalid_value<C>:: - invalid_value (const C* type, - const ro_string<C>& value) - : type_ (type), value_ (value) - { - } - - template <typename C> - invalid_value<C>:: - invalid_value (const std::basic_string<C>& type, - const std::basic_string<C>& value) - : type_ (type), value_ (value) - { - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx deleted file mode 100644 index b8ae938..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.hxx +++ /dev/null @@ -1,100 +0,0 @@ -// file : xsd/cxx/parser/validating/inheritance-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX -#define XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX - -#include <map> -#include <cstddef> // std::size_t - -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - template <typename C> - struct string_comparison - { - bool - operator() (const C* x, const C* y) const - { - ro_string<C> s (x); - return s.compare (y) < 0; - } - }; - - template <typename C> - struct inheritance_map - { - void - insert (const C* derived, const C* base) - { - map_[derived] = base; - } - - void - erase (const C* derived) - { - map_.erase (derived); - } - - bool - check (const C* derived, const ro_string<C>& base) const; - - private: - typedef std::map<const C*, const C*, string_comparison<C> > map; - map map_; - }; - - - // Translation unit initializer. - // - template<typename C> - struct inheritance_map_init - { - static inheritance_map<C>* map; - static std::size_t count; - - inheritance_map_init (); - ~inheritance_map_init (); - }; - - template<typename C> - inheritance_map<C>* inheritance_map_init<C>::map = 0; - - template<typename C> - std::size_t inheritance_map_init<C>::count = 0; - - template<typename C> - inline inheritance_map<C>& - inheritance_map_instance () - { - return *inheritance_map_init<C>::map; - } - - - // Map entry initializer. - // - template<typename C> - struct inheritance_map_entry - { - inheritance_map_entry (const C* derived, const C* base); - ~inheritance_map_entry (); - - private: - const C* derived_; - }; - } - } - } -} - -#include <xsd/cxx/parser/validating/inheritance-map.txx> - -#endif // XSD_CXX_PARSER_VALIDATING_INHERITANCE_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx b/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx deleted file mode 100644 index ba4803e..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/inheritance-map.txx +++ /dev/null @@ -1,72 +0,0 @@ -// file : xsd/cxx/parser/validating/inheritance-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - template <typename C> - bool inheritance_map<C>:: - check (const C* derived, const ro_string<C>& base) const - { - if (base == derived) - return true; - - typename map::const_iterator i (map_.find (derived)); - - if (i != map_.end ()) - { - if (base == i->second) - return true; - else - return check (i->second, base); - } - - return false; - } - - // inheritance_map_init - // - template<typename C> - inheritance_map_init<C>:: - inheritance_map_init () - { - if (count == 0) - map = new inheritance_map<C>; - - ++count; - } - - template<typename C> - inheritance_map_init<C>:: - ~inheritance_map_init () - { - if (--count == 0) - delete map; - } - - // inheritance_map_entry - // - template<typename C> - inheritance_map_entry<C>:: - inheritance_map_entry (const C* derived, const C* base) - : derived_ (derived) - { - inheritance_map_instance<C> ().insert (derived, base); - } - - template<typename C> - inheritance_map_entry<C>:: - ~inheritance_map_entry () - { - inheritance_map_instance<C> ().erase (derived_); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx b/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx deleted file mode 100644 index c305fe1..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/parser.hxx +++ /dev/null @@ -1,470 +0,0 @@ -// file : xsd/cxx/parser/validating/parser.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_VALIDATING_PARSER_HXX -#define XSD_CXX_PARSER_VALIDATING_PARSER_HXX - -#include <stack> -#include <cstddef> // std::size_t -#include <cstring> // std::memcpy - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/parser/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // - // - template <typename C> - struct empty_content: parser_base<C> - { - // These functions are called when wildcard content - // is encountered. Use them to handle mixed content - // models, any/anyAttribute, and anyType/anySimpleType. - // By default these functions do nothing. - // - - // The type argument is a type name and namespace from the - // xsi:type attribute in the form "<name> <namespace>" with - // the space and namespace part absent if the type does not - // have a namespace or 0 if xsi:type is not present. - // - virtual void - _start_any_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - virtual void - _end_any_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _any_attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _any_characters (const ro_string<C>&); - - - // - // - virtual bool - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*); - - virtual bool - _end_element_impl (const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _characters_impl (const ro_string<C>&); - - - // - // - virtual void - _start_element (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*); - - virtual void - _end_element (const ro_string<C>&, - const ro_string<C>&); - - virtual void - _attribute (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - virtual void - _characters (const ro_string<C>&); - - - // - // - virtual void - _expected_element (const C* expected_ns, - const C* expected_name); - - virtual void - _expected_element (const C* expected_ns, - const C* expected_name, - const ro_string<C>& encountered_ns, - const ro_string<C>& encountered_name); - - virtual void - _unexpected_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _expected_attribute (const C* expected_ns, - const C* expected_name); - - virtual void - _unexpected_attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _unexpected_characters (const ro_string<C>&); - }; - - - // - // - template <typename C> - struct simple_content: empty_content<C> - { - // - // - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _characters (const ro_string<C>&); - - // - // - virtual bool - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - // - // - virtual void - _pre_impl (); - - virtual void - _post_impl (); - - - // Implementation callbacks. - // - virtual void - _pre_a_validate (); - - virtual void - _post_a_validate (); - - - // Attribute validation: during phase one we are searching for - // matching attributes (Structures, section 3.4.4, clause 2.1). - // During phase two we are searching for attribute wildcards - // (section 3.4.4, clause 2.2). Both phases run across - // inheritance hierarchy from derived to base for extension - // only. Both functions return true if the match was found and - // validation has been performed. - // - virtual bool - _attribute_impl_phase_one (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual bool - _attribute_impl_phase_two (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - }; - - - // - // - template <typename C> - struct complex_content: empty_content<C> - { - // - // - virtual void - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type); - - virtual void - _end_element (const ro_string<C>& ns, - const ro_string<C>& name); - - virtual void - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual void - _characters (const ro_string<C>&); - - // - // - virtual bool - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - // - // - virtual void - _pre_impl (); - - virtual void - _post_impl (); - - - // Implementation callbacks. - // - virtual void - _pre_e_validate (); - - virtual void - _post_e_validate (); - - virtual void - _pre_a_validate (); - - virtual void - _post_a_validate (); - - - // Attribute validation: during phase one we are searching for - // matching attributes (Structures, section 3.4.4, clause 2.1). - // During phase two we are searching for attribute wildcards - // (section 3.4.4, clause 2.2). Both phases run across - // inheritance hierarchy from derived to base for extension - // only. Both functions return true if the match was found and - // validation has been performed. - // - virtual bool - _attribute_impl_phase_one (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - - virtual bool - _attribute_impl_phase_two (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value); - protected: - struct state - { - state () - : any_ (false), depth_ (0), parser_ (0) - { - } - - bool any_; - std::size_t depth_; - parser_base<C>* parser_; - }; - - // Optimized state stack for non-recursive case (one element). - // - struct state_stack - { - state_stack () - : size_ (0) - { - } - - void - push (const state& s) - { - if (size_ > 0) - rest_.push (top_); - - top_ = s; - ++size_; - } - - void - pop () - { - if (size_ > 1) - { - top_ = rest_.top (); - rest_.pop (); - } - - --size_; - } - - const state& - top () const - { - return top_; - } - - state& - top () - { - return top_; - } - - state& - under_top () - { - return rest_.top (); - } - - private: - state top_; - std::stack<state> rest_; - std::size_t size_; - }; - - state_stack context_; - }; - - // Base for xsd:list. - // - template <typename C> - struct list_base: simple_content<C> - { - virtual void - _xsd_parse_item (const ro_string<C>&) = 0; - - virtual void - _pre_impl (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post_impl (); - - protected: - std::basic_string<C> buf_; - }; - } - - // POD stack with pre-allocated first element. You may - // need to pad your elements to get the proper alignment. - // - struct pod_stack - { - ~pod_stack () - { - delete[] data_; - } - - pod_stack (std::size_t element_size, void* first_element) - : el_size_ (element_size), first_ (first_element), - data_ (0), size_ (0), capacity_ (0) - { - } - - public: - void - pop () - { - --size_; - } - - void - push () - { - if (size_ > capacity_) - grow (); - - ++size_; - } - - void* - top () - { - return size_ == 1 ? first_ : data_ + (size_ - 1) * el_size_; - } - - void* - under_top () - { - return size_ == 2 ? first_ : data_ + (size_ - 2) * el_size_; - } - - std::size_t - element_size () const - { - return el_size_; - } - - private: - void - grow () - { - std::size_t c (capacity_ ? capacity_ * 2 : 8); - char* d (new char[c * el_size_]); - - if (size_ > 1) - std::memcpy (d, data_, (size_ - 1) * el_size_); - - delete[] data_; - - data_ = d; - capacity_ = c; - } - - private: - std::size_t el_size_; - void* first_; - char* data_; - std::size_t size_; - std::size_t capacity_; - }; - - namespace validating - { - // Validation state stack for the 'all' particle. - // - struct all_stack - { - all_stack (std::size_t n, unsigned char* first) - : stack_ (n, first) - { - } - - void - push () - { - stack_.push (); - - unsigned char* p (static_cast<unsigned char*> (stack_.top ())); - - for (std::size_t i (0); i < stack_.element_size (); ++i) - p[i] = 0; - } - - void - pop () - { - stack_.pop (); - } - - unsigned char* - top () - { - return static_cast<unsigned char*> (stack_.top ()); - } - - private: - pod_stack stack_; - }; - } - } - } -} - -#include <xsd/cxx/parser/validating/parser.txx> - -#endif // XSD_CXX_PARSER_VALIDATING_PARSER_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/validating/parser.txx b/xsd/libxsd/xsd/cxx/parser/validating/parser.txx deleted file mode 100644 index 9a5800a..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/parser.txx +++ /dev/null @@ -1,666 +0,0 @@ -// file : xsd/cxx/parser/validating/parser.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <cassert> - -#include <xsd/cxx/xml/bits/literals.hxx> -#include <xsd/cxx/parser/validating/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - - // empty_content - // - - - template <typename C> - void empty_content<C>:: - _start_any_element (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*) - { - } - - template <typename C> - void empty_content<C>:: - _end_any_element (const ro_string<C>&, - const ro_string<C>&) - { - } - - template <typename C> - void empty_content<C>:: - _any_attribute (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - } - - template <typename C> - void empty_content<C>:: - _any_characters (const ro_string<C>&) - { - } - - // - // - template <typename C> - bool empty_content<C>:: - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _end_element_impl (const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _attribute_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool empty_content<C>:: - _characters_impl (const ro_string<C>&) - { - return false; - } - - // - // - template <typename C> - void empty_content<C>:: - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - if (!this->_start_element_impl (ns, name, type)) - this->_unexpected_element (ns, name); - } - - template <typename C> - void empty_content<C>:: - _end_element (const ro_string<C>& ns, - const ro_string<C>& name) - { - if (!this->_end_element_impl (ns, name)) - this->_unexpected_element (ns, name); - } - - template <typename C> - void empty_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - if (!this->_attribute_impl (ns, name, value)) - this->_unexpected_attribute (ns, name, value); - } - - template <typename C> - void empty_content<C>:: - _characters (const ro_string<C>& s) - { - if (!this->_characters_impl (s)) - this->_unexpected_characters (s); - } - - // - // - template <typename C> - void empty_content<C>:: - _expected_element (const C* ex_ns, const C* ex_name) - { - throw expected_element<C> (ex_ns, ex_name); - } - - template <typename C> - void empty_content<C>:: - _expected_element (const C* ex_ns, - const C* ex_name, - const ro_string<C>& en_ns, - const ro_string<C>& en_name) - { - throw expected_element<C> (ex_ns, ex_name, en_ns, en_name); - } - - template <typename C> - void empty_content<C>:: - _unexpected_element (const ro_string<C>& ns, - const ro_string<C>& name) - { - throw unexpected_element<C> (ns, name); - } - - template <typename C> - void empty_content<C>:: - _expected_attribute (const C* ex_ns, const C* ex_name) - { - throw expected_attribute<C> (ex_ns, ex_name); - } - - template <typename C> - void empty_content<C>:: - _unexpected_attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>&) - { - throw unexpected_attribute<C> (ns, name); - } - - template <typename C> - void empty_content<C>:: - _unexpected_characters (const ro_string<C>& s) - { - throw unexpected_characters<C> (s); - } - - - // simple_content - // - - template <typename C> - void simple_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - if (!this->_attribute_impl (ns, name, value)) - this->_unexpected_attribute (ns, name, value); - } - - template <typename C> - void simple_content<C>:: - _characters (const ro_string<C>& str) - { - if (!this->_characters_impl (str)) - { - // Mixed content is implemented in the generated code - // by overriding _characters_impl and forwarding to - // _any_characters. - // - - // Scan the string for any non-whitespace characters - // (Structures, section 3.4.4, clause 1.3). - // - for (typename ro_string<C>::size_type i (0), e (str.size ()); - i < e; ++i) - { - C c (str[i]); - - if (c != C (0x20) && // space - c != C (0x0D) && // carriage return - c != C (0x09) && // tab - c != C (0x0A)) - this->_unexpected_characters (str); - } - } - } - - template <typename C> - void simple_content<C>:: - _pre_impl () - { - this->_pre (); - _pre_a_validate (); - } - - template <typename C> - void simple_content<C>:: - _post_impl () - { - _post_a_validate (); - this->_post (); - } - - template <typename C> - void simple_content<C>:: - _pre_a_validate () - { - } - - template <typename C> - void simple_content<C>:: - _post_a_validate () - { - } - - template <typename C> - bool simple_content<C>:: - _attribute_impl (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - return _attribute_impl_phase_one (ns, name, value) || - _attribute_impl_phase_two (ns, name, value); - } - - template <typename C> - bool simple_content<C>:: - _attribute_impl_phase_one (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool simple_content<C>:: - _attribute_impl_phase_two (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - - // complex_content - // - - - template <typename C> - void complex_content<C>:: - _start_element (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - state& s (context_.top ()); - - if (s.depth_++ > 0) - { - if (s.any_) - this->_start_any_element (ns, name, type); - else if (s.parser_) - s.parser_->_start_element (ns, name, type); - } - else - { - if (!this->_start_element_impl (ns, name, type)) - this->_unexpected_element (ns, name); - else if (s.parser_ != 0) - s.parser_->_pre_impl (); - } - } - - template <typename C> - void complex_content<C>:: - _end_element (const ro_string<C>& ns, - const ro_string<C>& name) - { - // To understand what's going on here it is helpful to think of - // a "total depth" as being the sum of individual depths over - // all elements. - // - - if (context_.top ().depth_ == 0) - { - state& s (context_.under_top ()); // One before last. - - if (--s.depth_ > 0) - { - // Indirect recursion. - // - if (s.parser_) - s.parser_->_end_element (ns, name); - } - else - { - // Direct recursion. - // - assert (this == s.parser_); - - this->_post_impl (); - - if (!this->_end_element_impl (ns, name)) - assert (false); - } - } - else - { - state& s (context_.top ()); - - if (--s.depth_ > 0) - { - if (s.any_) - this->_end_any_element (ns, name); - else if (s.parser_) - s.parser_->_end_element (ns, name); - } - else - { - if (s.parser_ != 0 && !s.any_) - s.parser_->_post_impl (); - - if (!this->_end_element_impl (ns, name)) - this->_unexpected_element (ns, name); - } - } - } - - template <typename C> - void complex_content<C>:: - _attribute (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - // Weed out special attributes: xsi:type, xsi:nil, - // xsi:schemaLocation and xsi:noNamespaceSchemaLocation. - // See section 3.2.7 in Structures for details. - // - if (ns == xml::bits::xsi_namespace<C> () && - (name == xml::bits::type<C> () || - name == xml::bits::nil_lit<C> () || - name == xml::bits::schema_location<C> () || - name == xml::bits::no_namespace_schema_location<C> ())) - return; - - // Also some parsers (notably Xerces-C++) supplies us with - // namespace-prefix mapping attributes. - // - if (ns == xml::bits::xmlns_namespace<C> ()) - return; - - const state& s (context_.top ()); - - if (s.depth_ > 0) - { - if (s.any_) - this->_any_attribute (ns, name, value); - else if (s.parser_) - s.parser_->_attribute (ns, name, value); - } - else - { - if (!this->_attribute_impl (ns, name, value)) - this->_unexpected_attribute (ns, name, value); - } - } - - template <typename C> - void complex_content<C>:: - _characters (const ro_string<C>& str) - { - const state& s (context_.top ()); - - if (s.depth_ > 0) - { - if (s.any_) - this->_any_characters (str); - else if (s.parser_) - s.parser_->_characters (str); - } - else - { - if (!this->_characters_impl (str)) - { - // Mixed content is implemented in the generated code - // by overriding _characters_impl and forwarding to - // _any_characters. - // - - // Scan the string for any non-whitespace characters - // (Structures, section 3.4.4, clause 1.3). - // - for (typename ro_string<C>::size_type i (0), e (str.size ()); - i < e; ++i) - { - C c (str[i]); - - if (c != C (0x20) && // space - c != C (0x0D) && // carriage return - c != C (0x09) && // tab - c != C (0x0A)) - this->_unexpected_characters (str); - } - } - } - } - - template <typename C> - void complex_content<C>:: - _pre_impl () - { - context_.push (state ()); - this->_pre (); - _pre_a_validate (); - _pre_e_validate (); - } - - template <typename C> - void complex_content<C>:: - _post_impl () - { - _post_e_validate (); - _post_a_validate (); - this->_post (); - context_.pop (); - } - - template <typename C> - void complex_content<C>:: - _pre_e_validate () - { - } - - template <typename C> - void complex_content<C>:: - _post_e_validate () - { - } - - template <typename C> - void complex_content<C>:: - _pre_a_validate () - { - } - - template <typename C> - void complex_content<C>:: - _post_a_validate () - { - } - - template <typename C> - bool complex_content<C>:: - _attribute_impl (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - return _attribute_impl_phase_one (ns, name, value) || - _attribute_impl_phase_two (ns, name, value); - } - - template <typename C> - bool complex_content<C>:: - _attribute_impl_phase_one (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - template <typename C> - bool complex_content<C>:: - _attribute_impl_phase_two (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&) - { - return false; - } - - - // list_base - // - namespace bits - { - // Find first non-space character. - // - template <typename C> - typename ro_string<C>::size_type - find_ns (const C* s, - typename ro_string<C>::size_type size, - typename ro_string<C>::size_type pos) - { - while (pos < size && - (s[pos] == C (0x20) || s[pos] == C (0x0A) || - s[pos] == C (0x0D) || s[pos] == C (0x09))) - ++pos; - - return pos < size ? pos : ro_string<C>::npos; - } - - // Find first space character. - // - template <typename C> - typename ro_string<C>::size_type - find_s (const C* s, - typename ro_string<C>::size_type size, - typename ro_string<C>::size_type pos) - { - while (pos < size && - s[pos] != C (0x20) && s[pos] != C (0x0A) && - s[pos] != C (0x0D) && s[pos] != C (0x09)) - ++pos; - - return pos < size ? pos : ro_string<C>::npos; - } - } - - // Relevant XML Schema Part 2: Datatypes sections: 4.2.1.2, 4.3.6. - // - - template <typename C> - void list_base<C>:: - _pre_impl () - { - simple_content<C>::_pre_impl (); - buf_.clear (); - } - - template <typename C> - void list_base<C>:: - _characters (const ro_string<C>& s) - { - typedef typename ro_string<C>::size_type size_type; - - const C* data (s.data ()); - size_type size (s.size ()); - - // Handle the previous chunk if we start with a ws. - // - if (!buf_.empty () && - (data[0] == C (0x20) || data[0] == C (0x0A) || - data[0] == C (0x0D) || data[0] == C (0x09))) - { - ro_string<C> tmp (buf_); // Private copy ctor. - _xsd_parse_item (tmp); - buf_.clear (); - } - - // Traverse the data while logically collapsing spaces. - // - for (size_type i (bits::find_ns (data, size, 0)); - i != ro_string<C>::npos;) - { - size_type j (bits::find_s (data, size, i)); - - if (j != ro_string<C>::npos) - { - if (buf_.empty ()) - { - ro_string<C> tmp (data + i, j - i); // Private copy ctor. - _xsd_parse_item (tmp); - } - else - { - // Assemble the first item in str from buf_ and s. - // - std::basic_string<C> str; - str.swap (buf_); - str.append (data + i, j - i); - ro_string<C> tmp (str); // Private copy ctor. - _xsd_parse_item (tmp); - } - - i = bits::find_ns (data, size, j); - } - else - { - // Last fragment, append it to the buf_. - // - buf_.append (data + i, size - i); - break; - } - } - } - - template <typename C> - void list_base<C>:: - _post_impl () - { - // Handle the last item. - // - if (!buf_.empty ()) - { - ro_string<C> tmp (buf_); // Private copy ctor. - _xsd_parse_item (tmp); - } - - simple_content<C>::_post_impl (); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx deleted file mode 100644 index ae64d2b..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.hxx +++ /dev/null @@ -1,1122 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pimpl.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX - -#include <string> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/parser/validating/xml-schema-pskel.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // any_type - // - template <typename C> - struct any_type_pimpl: virtual any_type_pskel<C> - { - virtual void - post_any_type (); - }; - - // any_simple_type - // - template <typename C> - struct any_simple_type_pimpl: virtual any_simple_type_pskel<C> - { - virtual void - post_any_simple_type (); - }; - - // boolean - // - template <typename C> - struct boolean_pimpl: virtual boolean_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual bool - post_boolean (); - - protected: - std::basic_string<C> str_; - bool value_; - }; - - - // 8-bit - // - template <typename C> - struct byte_pimpl: virtual byte_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual signed char - post_byte (); - - protected: - std::basic_string<C> str_; - signed char value_; - }; - - - template <typename C> - struct unsigned_byte_pimpl: virtual unsigned_byte_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned char - post_unsigned_byte (); - - protected: - std::basic_string<C> str_; - unsigned char value_; - }; - - - // 16-bit - // - template <typename C> - struct short_pimpl: virtual short_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual short - post_short (); - - protected: - std::basic_string<C> str_; - short value_; - }; - - - template <typename C> - struct unsigned_short_pimpl: virtual unsigned_short_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned short - post_unsigned_short (); - - protected: - std::basic_string<C> str_; - unsigned short value_; - }; - - - // 32-bit - // - template <typename C> - struct int_pimpl: virtual int_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual int - post_int (); - - protected: - std::basic_string<C> str_; - int value_; - }; - - - template <typename C> - struct unsigned_int_pimpl: virtual unsigned_int_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned int - post_unsigned_int (); - - protected: - std::basic_string<C> str_; - unsigned int value_; - }; - - - // 64-bit - // - template <typename C> - struct long_pimpl: virtual long_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual long long - post_long (); - - protected: - std::basic_string<C> str_; - long long value_; - }; - - - template <typename C> - struct unsigned_long_pimpl: virtual unsigned_long_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned long long - post_unsigned_long (); - - protected: - std::basic_string<C> str_; - unsigned long long value_; - }; - - - // Arbitrary-length integers. - // - template <typename C> - struct integer_pimpl: virtual integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual long long - post_integer (); - - protected: - std::basic_string<C> str_; - long long value_; - }; - - template <typename C> - struct negative_integer_pimpl: virtual negative_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual long long - post_negative_integer (); - - protected: - std::basic_string<C> str_; - long long value_; - }; - - template <typename C> - struct non_positive_integer_pimpl: virtual non_positive_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual long long - post_non_positive_integer (); - - protected: - std::basic_string<C> str_; - long long value_; - }; - - template <typename C> - struct positive_integer_pimpl: virtual positive_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned long long - post_positive_integer (); - - protected: - std::basic_string<C> str_; - unsigned long long value_; - }; - - template <typename C> - struct non_negative_integer_pimpl: virtual non_negative_integer_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual unsigned long long - post_non_negative_integer (); - - protected: - std::basic_string<C> str_; - unsigned long long value_; - }; - - - // Floats. - // - template <typename C> - struct float_pimpl: virtual float_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual float - post_float (); - - protected: - std::basic_string<C> str_; - float value_; - }; - - - template <typename C> - struct double_pimpl: virtual double_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual double - post_double (); - - protected: - std::basic_string<C> str_; - double value_; - }; - - - template <typename C> - struct decimal_pimpl: virtual decimal_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual double - post_decimal (); - - protected: - std::basic_string<C> str_; - double value_; - }; - - - // Strings. - // - template <typename C> - struct string_pimpl: virtual string_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_string (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct normalized_string_pimpl: virtual normalized_string_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_normalized_string (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct token_pimpl: virtual token_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_token (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct name_pimpl: virtual name_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_name (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct nmtoken_pimpl: virtual nmtoken_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_nmtoken (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct nmtokens_pimpl: virtual nmtokens_pskel<C> - { - virtual void - _pre (); - - virtual void - _xsd_parse_item (const ro_string<C>&); - - virtual void - _post (); - - virtual string_sequence<C> - post_nmtokens (); - - protected: - string_sequence<C> seq_; - nmtoken_pimpl<C> parser_; - }; - - template <typename C> - struct ncname_pimpl: virtual ncname_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_ncname (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct id_pimpl: virtual id_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_id (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct idref_pimpl: virtual idref_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_idref (); - - protected: - std::basic_string<C> str_; - }; - - template <typename C> - struct idrefs_pimpl: virtual idrefs_pskel<C> - { - virtual void - _pre (); - - virtual void - _xsd_parse_item (const ro_string<C>&); - - virtual void - _post (); - - virtual string_sequence<C> - post_idrefs (); - - protected: - string_sequence<C> seq_; - idref_pimpl<C> parser_; - }; - - // language - // - template <typename C> - struct language_pimpl: virtual language_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual std::basic_string<C> - post_language (); - - protected: - std::basic_string<C> str_; - }; - - // anyURI - // - template <typename C> - struct uri_pimpl: virtual uri_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual std::basic_string<C> - post_uri (); - - protected: - std::basic_string<C> str_; - }; - - // QName - // - template <typename C> - struct qname_pimpl: virtual qname_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual qname<C> - post_qname (); - - protected: - std::basic_string<C> str_; - std::basic_string<C> name_; - std::basic_string<C> prefix_; - }; - - // base64Binary - // - template <typename C> - struct base64_binary_pimpl: virtual base64_binary_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual XSD_AUTO_PTR<buffer> - post_base64_binary (); - - protected: - std::basic_string<C> str_; - XSD_AUTO_PTR<buffer> buf_; - }; - - // hexBinary - // - template <typename C> - struct hex_binary_pimpl: virtual hex_binary_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual XSD_AUTO_PTR<buffer> - post_hex_binary (); - - protected: - std::basic_string<C> str_; - XSD_AUTO_PTR<buffer> buf_; - }; - - // gday - // - template <typename C> - struct gday_pimpl: virtual gday_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual gday - post_gday (); - - protected: - std::basic_string<C> str_; - unsigned short day_; - bool z_; - short zh_, zm_; - }; - - // gmonth - // - template <typename C> - struct gmonth_pimpl: virtual gmonth_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual gmonth - post_gmonth (); - - protected: - std::basic_string<C> str_; - unsigned short month_; - bool z_; - short zh_, zm_; - }; - - // gyear - // - template <typename C> - struct gyear_pimpl: virtual gyear_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual gyear - post_gyear (); - - protected: - std::basic_string<C> str_; - int year_; - bool z_; - short zh_, zm_; - }; - - // gmonth_day - // - template <typename C> - struct gmonth_day_pimpl: virtual gmonth_day_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual gmonth_day - post_gmonth_day (); - - protected: - std::basic_string<C> str_; - unsigned short month_; - unsigned short day_; - bool z_; - short zh_, zm_; - }; - - // gyear_month - // - template <typename C> - struct gyear_month_pimpl: virtual gyear_month_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual gyear_month - post_gyear_month (); - - protected: - std::basic_string<C> str_; - int year_; - unsigned short month_; - bool z_; - short zh_, zm_; - }; - - // date - // - template <typename C> - struct date_pimpl: virtual date_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual date - post_date (); - - protected: - std::basic_string<C> str_; - int year_; - unsigned short month_; - unsigned short day_; - bool z_; - short zh_, zm_; - }; - - // time - // - template <typename C> - struct time_pimpl: virtual time_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual time - post_time (); - - protected: - std::basic_string<C> str_; - unsigned short hours_; - unsigned short minutes_; - double seconds_; - bool z_; - short zh_, zm_; - }; - - // date_time - // - template <typename C> - struct date_time_pimpl: virtual date_time_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual date_time - post_date_time (); - - protected: - std::basic_string<C> str_; - int year_; - unsigned short month_; - unsigned short day_; - unsigned short hours_; - unsigned short minutes_; - double seconds_; - bool z_; - short zh_, zm_; - }; - - // duration - // - template <typename C> - struct duration_pimpl: virtual duration_pskel<C> - { - virtual void - _pre (); - - virtual void - _characters (const ro_string<C>&); - - virtual void - _post (); - - virtual duration - post_duration (); - - protected: - std::basic_string<C> str_; - bool negative_; - unsigned int years_; - unsigned int months_; - unsigned int days_; - unsigned int hours_; - unsigned int minutes_; - double seconds_; - }; - - // Literals. - // - namespace bits - { - template<typename C> - const C* - boolean (); - - template<typename C> - const C* - byte (); - - template<typename C> - const C* - unsigned_byte (); - - template<typename C> - const C* - short_ (); - - template<typename C> - const C* - unsigned_short (); - - template<typename C> - const C* - int_ (); - - template<typename C> - const C* - unsigned_int (); - - template<typename C> - const C* - long_ (); - - template<typename C> - const C* - unsigned_long (); - - template<typename C> - const C* - integer (); - - template<typename C> - const C* - negative_integer (); - - template<typename C> - const C* - non_positive_integer (); - - template<typename C> - const C* - non_negative_integer (); - - template<typename C> - const C* - positive_integer (); - - template<typename C> - const C* - float_ (); - - template<typename C> - const C* - double_ (); - - template<typename C> - const C* - decimal (); - - template<typename C> - const C* - name (); - - template<typename C> - const C* - nmtoken (); - - template<typename C> - const C* - nmtokens (); - - template<typename C> - const C* - ncname (); - - template<typename C> - const C* - id (); - - template<typename C> - const C* - idref (); - - template<typename C> - const C* - idrefs (); - - template<typename C> - const C* - language (); - - template<typename C> - const C* - qname (); - - template<typename C> - const C* - base64_binary (); - - template<typename C> - const C* - hex_binary (); - - template<typename C> - const C* - gday (); - - template<typename C> - const C* - gmonth (); - - template<typename C> - const C* - gyear (); - - template<typename C> - const C* - gmonth_day (); - - template<typename C> - const C* - gyear_month (); - - template<typename C> - const C* - date (); - - template<typename C> - const C* - time (); - - template<typename C> - const C* - date_time (); - - template<typename C> - const C* - duration (); - - // float literals: INF -INF NaN - // - template<typename C> - const C* - positive_inf (); - - template<typename C> - const C* - negative_inf (); - - template<typename C> - const C* - nan (); - - // boolean literals - // - template<typename C> - const C* - true_ (); - - template<typename C> - const C* - false_ (); - - template<typename C> - const C* - one (); - - template<typename C> - const C* - zero (); - } - } - } - } -} - -#include <xsd/cxx/parser/validating/xml-schema-pimpl.txx> - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_HXX - -#include <xsd/cxx/parser/validating/xml-schema-pimpl.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx deleted file mode 100644 index 94a9b8e..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.ixx +++ /dev/null @@ -1,675 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pimpl.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - namespace bits - { - template<> - inline const char* - boolean<char> () - { - return "boolean"; - } - - template<> - inline const char* - byte<char> () - { - return "byte"; - } - - template<> - inline const char* - unsigned_byte<char> () - { - return "unsignedByte"; - } - - template<> - inline const char* - short_<char> () - { - return "short"; - } - - template<> - inline const char* - unsigned_short<char> () - { - return "unsignedShort"; - } - - template<> - inline const char* - int_<char> () - { - return "int"; - } - - template<> - inline const char* - unsigned_int<char> () - { - return "unsignedInt"; - } - - template<> - inline const char* - long_<char> () - { - return "long"; - } - - template<> - inline const char* - unsigned_long<char> () - { - return "unsignedLong"; - } - - template<> - inline const char* - integer<char> () - { - return "integer"; - } - - template<> - inline const char* - negative_integer<char> () - { - return "negativeInteger"; - } - - template<> - inline const char* - non_positive_integer<char> () - { - return "nonPositiveInteger"; - } - - template<> - inline const char* - non_negative_integer<char> () - { - return "nonNegativeInteger"; - } - - template<> - inline const char* - positive_integer<char> () - { - return "positiveInteger"; - } - - template<> - inline const char* - float_<char> () - { - return "float"; - } - - template<> - inline const char* - double_<char> () - { - return "double"; - } - - template<> - inline const char* - decimal<char> () - { - return "decimal"; - } - - template<> - inline const char* - name<char> () - { - return "Name"; - } - - template<> - inline const char* - nmtoken<char> () - { - return "NMTOKEN"; - } - - template<> - inline const char* - nmtokens<char> () - { - return "NMTOKENS"; - } - - template<> - inline const char* - ncname<char> () - { - return "NCName"; - } - - template<> - inline const char* - id<char> () - { - return "ID"; - } - - template<> - inline const char* - idref<char> () - { - return "IDREF"; - } - - template<> - inline const char* - idrefs<char> () - { - return "IDREFS"; - } - - template<> - inline const char* - language<char> () - { - return "language"; - } - - template<> - inline const char* - qname<char> () - { - return "QName"; - } - - template<> - inline const char* - base64_binary<char> () - { - return "base64Binary"; - } - - template<> - inline const char* - hex_binary<char> () - { - return "hexBinary"; - } - - template<> - inline const char* - gday<char> () - { - return "gDay"; - } - - template<> - inline const char* - gmonth<char> () - { - return "gMonth"; - } - - template<> - inline const char* - gyear<char> () - { - return "gYear"; - } - - template<> - inline const char* - gmonth_day<char> () - { - return "gMonthDay"; - } - - template<> - inline const char* - gyear_month<char> () - { - return "gYearMonth"; - } - - template<> - inline const char* - date<char> () - { - return "date"; - } - - template<> - inline const char* - time<char> () - { - return "time"; - } - - template<> - inline const char* - date_time<char> () - { - return "dateTime"; - } - - template<> - inline const char* - duration<char> () - { - return "duration"; - } - - // - // - template<> - inline const char* - positive_inf<char> () - { - return "INF"; - } - - template<> - inline const char* - negative_inf<char> () - { - return "-INF"; - } - - template<> - inline const char* - nan<char> () - { - return "NaN"; - } - - // - // - template<> - inline const char* - true_<char> () - { - return "true"; - } - - template<> - inline const char* - false_<char> () - { - return "false"; - } - - template<> - inline const char* - one<char> () - { - return "1"; - } - - template<> - inline const char* - zero<char> () - { - return "0"; - } - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - namespace bits - { - template<> - inline const wchar_t* - boolean<wchar_t> () - { - return L"boolean"; - } - - template<> - inline const wchar_t* - byte<wchar_t> () - { - return L"byte"; - } - - template<> - inline const wchar_t* - unsigned_byte<wchar_t> () - { - return L"unsignedByte"; - } - - template<> - inline const wchar_t* - short_<wchar_t> () - { - return L"short"; - } - - template<> - inline const wchar_t* - unsigned_short<wchar_t> () - { - return L"unsignedShort"; - } - - template<> - inline const wchar_t* - int_<wchar_t> () - { - return L"int"; - } - - template<> - inline const wchar_t* - unsigned_int<wchar_t> () - { - return L"unsignedInt"; - } - - template<> - inline const wchar_t* - long_<wchar_t> () - { - return L"long"; - } - - template<> - inline const wchar_t* - unsigned_long<wchar_t> () - { - return L"unsignedLong"; - } - - template<> - inline const wchar_t* - integer<wchar_t> () - { - return L"integer"; - } - - template<> - inline const wchar_t* - negative_integer<wchar_t> () - { - return L"negativeInteger"; - } - - template<> - inline const wchar_t* - non_positive_integer<wchar_t> () - { - return L"nonPositiveInteger"; - } - - template<> - inline const wchar_t* - non_negative_integer<wchar_t> () - { - return L"nonNegativeInteger"; - } - - template<> - inline const wchar_t* - positive_integer<wchar_t> () - { - return L"positiveInteger"; - } - - template<> - inline const wchar_t* - float_<wchar_t> () - { - return L"float"; - } - - template<> - inline const wchar_t* - double_<wchar_t> () - { - return L"double"; - } - - template<> - inline const wchar_t* - decimal<wchar_t> () - { - return L"decimal"; - } - - template<> - inline const wchar_t* - name<wchar_t> () - { - return L"Name"; - } - - template<> - inline const wchar_t* - nmtoken<wchar_t> () - { - return L"NMTOKEN"; - } - - template<> - inline const wchar_t* - nmtokens<wchar_t> () - { - return L"NMTOKENS"; - } - - template<> - inline const wchar_t* - ncname<wchar_t> () - { - return L"NCName"; - } - - template<> - inline const wchar_t* - id<wchar_t> () - { - return L"ID"; - } - - template<> - inline const wchar_t* - idref<wchar_t> () - { - return L"IDREF"; - } - - template<> - inline const wchar_t* - idrefs<wchar_t> () - { - return L"IDREFS"; - } - - template<> - inline const wchar_t* - language<wchar_t> () - { - return L"language"; - } - - template<> - inline const wchar_t* - qname<wchar_t> () - { - return L"QName"; - } - - template<> - inline const wchar_t* - base64_binary<wchar_t> () - { - return L"base64Binary"; - } - - template<> - inline const wchar_t* - hex_binary<wchar_t> () - { - return L"hexBinary"; - } - - template<> - inline const wchar_t* - gday<wchar_t> () - { - return L"gDay"; - } - - template<> - inline const wchar_t* - gmonth<wchar_t> () - { - return L"gMonth"; - } - - template<> - inline const wchar_t* - gyear<wchar_t> () - { - return L"gYear"; - } - - template<> - inline const wchar_t* - gmonth_day<wchar_t> () - { - return L"gMonthDay"; - } - - template<> - inline const wchar_t* - gyear_month<wchar_t> () - { - return L"gYearMonth"; - } - - template<> - inline const wchar_t* - date<wchar_t> () - { - return L"date"; - } - - template<> - inline const wchar_t* - time<wchar_t> () - { - return L"time"; - } - - template<> - inline const wchar_t* - date_time<wchar_t> () - { - return L"dateTime"; - } - - template<> - inline const wchar_t* - duration<wchar_t> () - { - return L"duration"; - } - - - // - // - template<> - inline const wchar_t* - positive_inf<wchar_t> () - { - return L"INF"; - } - - template<> - inline const wchar_t* - negative_inf<wchar_t> () - { - return L"-INF"; - } - - template<> - inline const wchar_t* - nan<wchar_t> () - { - return L"NaN"; - } - - // - // - template<> - inline const wchar_t* - true_<wchar_t> () - { - return L"true"; - } - - template<> - inline const wchar_t* - false_<wchar_t> () - { - return L"false"; - } - - template<> - inline const wchar_t* - one<wchar_t> () - { - return L"1"; - } - - template<> - inline const wchar_t* - zero<wchar_t> () - { - return L"0"; - } - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PIMPL_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx deleted file mode 100644 index ad587c5..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pimpl.txx +++ /dev/null @@ -1,2757 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pimpl.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <limits> -#include <locale> - -#ifdef XSD_CXX11 -# include <utility> // std::move -#endif - -#include <xsd/cxx/zc-istream.hxx> -#include <xsd/cxx/parser/validating/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // Note that most of the types implemented here cannot have - // whitespaces in the value. As result we don't need to waste - // time collapsing whitespaces. All we need to do is trim the - // string representation which can be done without copying. - // - - // Character table. - // - namespace bits - { - const unsigned char ncname_mask = 0x1; - const unsigned char name_first_mask = 0x2; - const unsigned char name_mask = 0x4; - - template <typename C> - struct char_table - { - static C table[0x80]; - }; - - template <typename C> - C char_table<C>::table[0x80] = - { - 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xD0, 0x00, 0x00, 0xD0, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0x48, 0x58, 0x48, 0x48, 0x48, 0x40, 0x58, 0x48, 0x48, 0x48, 0x48, 0x48, 0x4D, 0x4D, 0x58, - 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4D, 0x4E, 0x48, 0x50, 0x48, 0x58, 0x48, - 0x48, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, - 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x48, 0x48, 0x40, 0x48, 0x4F, - 0x48, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, - 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x48, 0x48, 0x48, 0x48, 0x48 - }; - } - - // any_type - // - - template <typename C> - void any_type_pimpl<C>:: - post_any_type () - { - } - - // any_simple_type - // - - template <typename C> - void any_simple_type_pimpl<C>:: - post_any_simple_type () - { - } - - // boolean - // - - template <typename C> - void boolean_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void boolean_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void boolean_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - if (str == bits::true_<C> () || str == bits::one<C> ()) - value_ = true; - else if (str == bits::false_<C> () || str == bits::zero<C> ()) - value_ = false; - else - throw invalid_value<C> (bits::boolean<C> (), str); - } - - template <typename C> - bool boolean_pimpl<C>:: - post_boolean () - { - return value_; - } - - // byte - // - - template <typename C> - void byte_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void byte_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void byte_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - short t; - zc_istream<C> is (str); - - if (is >> t && is.exhausted () && t >= -128 && t <= 127) - value_ = static_cast<signed char> (t); - else - throw invalid_value<C> (bits::byte<C> (), str); - } - - template <typename C> - signed char byte_pimpl<C>:: - post_byte () - { - return value_; - } - - // unsigned_byte - // - - template <typename C> - void unsigned_byte_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_byte_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void unsigned_byte_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - unsigned short t; - zc_istream<C> is (str); - - if (is >> t && is.exhausted () && t <= 255) - value_ = static_cast<unsigned char> (t); - else - throw invalid_value<C> (bits::unsigned_byte<C> (), str); - } - - template <typename C> - unsigned char unsigned_byte_pimpl<C>:: - post_unsigned_byte () - { - return value_; - } - - // short - // - - template <typename C> - void short_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void short_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void short_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::short_<C> (), str); - } - - template <typename C> - short short_pimpl<C>:: - post_short () - { - return value_; - } - - - // unsigned_short - // - - template <typename C> - void unsigned_short_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_short_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void unsigned_short_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::unsigned_short<C> (), str); - } - - template <typename C> - unsigned short unsigned_short_pimpl<C>:: - post_unsigned_short () - { - return value_; - } - - // int - // - - template <typename C> - void int_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void int_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void int_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::int_<C> (), str); - } - - template <typename C> - int int_pimpl<C>:: - post_int () - { - return value_; - } - - - // unsigned_int - // - - template <typename C> - void unsigned_int_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_int_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void unsigned_int_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::unsigned_int<C> (), str); - } - - template <typename C> - unsigned int unsigned_int_pimpl<C>:: - post_unsigned_int () - { - return value_; - } - - - // long - // - template <typename C> - void long_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void long_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void long_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::long_<C> (), str); - } - - template <typename C> - long long long_pimpl<C>:: - post_long () - { - return value_; - } - - // unsigned_long - // - template <typename C> - void unsigned_long_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void unsigned_long_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void unsigned_long_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::unsigned_long<C> (), str); - } - - template <typename C> - unsigned long long unsigned_long_pimpl<C>:: - post_unsigned_long () - { - return value_; - } - - - // integer - // - template <typename C> - void integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void integer_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::integer<C> (), str); - } - - template <typename C> - long long integer_pimpl<C>:: - post_integer () - { - return value_; - } - - // negative_integer - // - template <typename C> - void negative_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void negative_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void negative_integer_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted () && value_ < 0)) - throw invalid_value<C> (bits::negative_integer<C> (), str); - } - - template <typename C> - long long negative_integer_pimpl<C>:: - post_negative_integer () - { - return value_; - } - - - // non_positive_integer - // - template <typename C> - void non_positive_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void non_positive_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void non_positive_integer_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted () && value_ <= 0)) - throw invalid_value<C> (bits::non_positive_integer<C> (), str); - } - - template <typename C> - long long non_positive_integer_pimpl<C>:: - post_non_positive_integer () - { - return value_; - } - - // positive_integer - // - template <typename C> - void positive_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void positive_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void positive_integer_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted () && value_ > 0)) - throw invalid_value<C> (bits::positive_integer<C> (), str); - } - - template <typename C> - unsigned long long positive_integer_pimpl<C>:: - post_positive_integer () - { - return value_; - } - - - // non_negative_integer - // - template <typename C> - void non_negative_integer_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void non_negative_integer_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void non_negative_integer_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::non_negative_integer<C> (), str); - } - - template <typename C> - unsigned long long non_negative_integer_pimpl<C>:: - post_non_negative_integer () - { - return value_; - } - - - // float - // - template <typename C> - void float_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void float_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void float_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - if (str == bits::positive_inf<C> ()) - value_ = std::numeric_limits<float>::infinity (); - else if (str == bits::negative_inf<C> ()) - value_ = -std::numeric_limits<float>::infinity (); - else if (str == bits::nan<C> ()) - value_ = std::numeric_limits<float>::quiet_NaN (); - else - { - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::float_<C> (), str); - } - } - - template <typename C> - float float_pimpl<C>:: - post_float () - { - return value_; - } - - - // double - // - template <typename C> - void double_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void double_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void double_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - if (str == bits::positive_inf<C> ()) - value_ = std::numeric_limits<double>::infinity (); - else if (str == bits::negative_inf<C> ()) - value_ = -std::numeric_limits<double>::infinity (); - else if (str == bits::nan<C> ()) - value_ = std::numeric_limits<double>::quiet_NaN (); - else - { - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::double_<C> (), str); - } - } - - template <typename C> - double double_pimpl<C>:: - post_double () - { - return value_; - } - - // decimal - // - template <typename C> - void decimal_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void decimal_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - void decimal_pimpl<C>:: - _post () - { - ro_string<C> str (str_); - trim (str); - - zc_istream<C> is (str); - is.imbue (std::locale::classic ()); - - //@@ TODO: now we accept scientific notations and INF/NaN. - // - if (!(is >> value_ && is.exhausted ())) - throw invalid_value<C> (bits::decimal<C> (), str); - } - - template <typename C> - double decimal_pimpl<C>:: - post_decimal () - { - return value_; - } - - // string - // - template <typename C> - void string_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void string_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - std::basic_string<C> string_pimpl<C>:: - post_string () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // normalized_string - // - template <typename C> - void normalized_string_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void normalized_string_pimpl<C>:: - _characters (const ro_string<C>& s) - { - str_ += s; - } - - template <typename C> - std::basic_string<C> normalized_string_pimpl<C>:: - post_normalized_string () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - - for (size_type i (0); i < size; ++i) - { - C& c = str_[i]; - - if (c == C (0x0A) || c == C (0x0D) || c == C (0x09)) - c = C (0x20); - } - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // token - // - template <typename C> - void token_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void token_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> token_pimpl<C>:: - post_token () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - size_type j (0); - - bool subs (false); - - for (size_type i (0); i < size; ++i) - { - C c = str_[i]; - - if (c == C (0x20) || c == C (0x0A) || - c == C (0x0D) || c == C (0x09)) - { - subs = true; - } - else - { - if (subs) - { - subs = false; - str_[j++] = C (0x20); - } - - str_[j++] = c; - } - } - - str_.resize (j); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // name - // - template <typename C> - void name_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void name_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void name_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - // For now we are only checking the US-ASCII characters. - // - - bool ok (size != 0); - - if (ok) - { - unsigned int c (static_cast<unsigned int> (str_[0])); - - ok = c >= 0x80 || - (bits::char_table<unsigned char>::table[c] & - bits::name_first_mask); - - if (ok) - { - for (size_type i (1); i < size; ++i) - { - c = static_cast<unsigned int> (str_[i]); - - if (c < 0x80 && - !(bits::char_table<unsigned char>::table[c] & - bits::name_mask)) - { - ok = false; - break; - } - } - } - } - - if (!ok) - throw invalid_value<C> (bits::name<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> name_pimpl<C>:: - post_name () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // nmtoken - // - template <typename C> - void nmtoken_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void nmtoken_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void nmtoken_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - // For now we are only checking the US-ASCII characters. - // - - bool ok (size != 0); - - if (ok) - { - for (size_type i (0); i < size; ++i) - { - unsigned int c (static_cast<unsigned int> (str_[i])); - - if (c < 0x80 && - !(bits::char_table<unsigned char>::table[c] & - bits::name_mask)) - { - ok = false; - break; - } - } - } - - if (!ok) - throw invalid_value<C> (bits::nmtoken<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> nmtoken_pimpl<C>:: - post_nmtoken () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // nmtokens - // - template <typename C> - void nmtokens_pimpl<C>:: - _pre () - { - nmtokens_pskel<C>::_pre (); - seq_.clear (); - } - - template <typename C> - void nmtokens_pimpl<C>:: - _post () - { - nmtokens_pskel<C>::_post (); - - // Should have at least one element. - // - if (seq_.size () < 1) - { - ro_string<C> tmp; - throw invalid_value<C> (bits::nmtokens<C> (), tmp); - } - } - - template <typename C> - string_sequence<C> nmtokens_pimpl<C>:: - post_nmtokens () - { - string_sequence<C> r; - r.swap (seq_); - return r; - } - - template <typename C> - void nmtokens_pimpl<C>:: - _xsd_parse_item (const ro_string<C>& s) - { - parser_.pre (); - parser_._pre (); - parser_._characters (s); - parser_._post (); - seq_.push_back (parser_.post_nmtoken ()); - } - - // ncname - // - namespace bits - { - template <typename C> - bool - valid_ncname (const C* s, typename ro_string<C>::size_type size) - { - typedef typename ro_string<C>::size_type size_type; - - // For now we are only checking the US-ASCII characters. - // - bool ok (size != 0); - - if (ok) - { - unsigned int c (static_cast<unsigned int> (s[0])); - - ok = c >= 0x80 || - ((bits::char_table<unsigned char>::table[c] & - bits::name_first_mask) && c != C (':')); - - if (ok) - { - for (size_type i (1); i < size; ++i) - { - c = static_cast<unsigned int> (s[i]); - - if (c < 0x80 && - !(bits::char_table<unsigned char>::table[c] & - bits::ncname_mask)) - { - ok = false; - break; - } - } - } - } - - return ok; - } - } - - template <typename C> - void ncname_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void ncname_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void ncname_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - if (!bits::valid_ncname (tmp.data (), size)) - throw invalid_value<C> (bits::ncname<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> ncname_pimpl<C>:: - post_ncname () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // id - // - template <typename C> - void id_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void id_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void id_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - if (!bits::valid_ncname (tmp.data (), size)) - throw invalid_value<C> (bits::id<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> id_pimpl<C>:: - post_id () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // idref - // - template <typename C> - void idref_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void idref_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void idref_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - if (!bits::valid_ncname (tmp.data (), size)) - throw invalid_value<C> (bits::idref<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> idref_pimpl<C>:: - post_idref () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // idrefs - // - template <typename C> - void idrefs_pimpl<C>:: - _pre () - { - idrefs_pskel<C>::_pre (); - seq_.clear (); - } - - template <typename C> - void idrefs_pimpl<C>:: - _post () - { - idrefs_pskel<C>::_post (); - - // Should have at least one element. - // - if (seq_.size () < 1) - { - ro_string<C> tmp; - throw invalid_value<C> (bits::idrefs<C> (), tmp); - } - } - - template <typename C> - string_sequence<C> idrefs_pimpl<C>:: - post_idrefs () - { - string_sequence<C> r; - r.swap (seq_); - return r; - } - - template <typename C> - void idrefs_pimpl<C>:: - _xsd_parse_item (const ro_string<C>& s) - { - parser_.pre (); - parser_._pre (); - parser_._characters (s); - parser_._post (); - seq_.push_back (parser_.post_idref ()); - } - - // language - // - template <typename C> - void language_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void language_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void language_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - // language := ALPHA{1,8} *(-(ALPHA | DIGIT){1,8}) - // - bool ok (true); - - for (size_type tag (0), i (0); ; ++tag) - { - size_type n (0); - - for (; i < size && n < 8; ++n, ++i) - { - C c (tmp[i]); - - if (!((c >= C ('a') && c <= C ('z')) || - (c >= C ('A') && c <= C ('Z')) || - (tag != 0 && c >= C ('0') && c <= C ('9')))) - break; - } - - if (n == 0) - { - ok = false; - break; - } - - if (i == size) - break; - - if (tmp[i++] != C ('-')) - { - ok = false; - break; - } - } - - if (!ok) - throw invalid_value<C> (bits::language<C> (), tmp); - - str_.resize (size); - } - - template <typename C> - std::basic_string<C> language_pimpl<C>:: - post_language () - { - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // uri - // - template <typename C> - void uri_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void uri_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - std::basic_string<C> uri_pimpl<C>:: - post_uri () - { - // According to Datatypes 3.2.17 and RFC2396 pretty much anything - // can be a URI and conforming processors do not need to figure - // out and verify particular URI schemes. - // - ro_string<C> tmp (str_); - str_.resize (trim_right (tmp)); - - std::basic_string<C> r; - r.swap (str_); - return r; - } - - // qname - // - template <typename C> - void qname_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void qname_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void qname_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - size_type pos (tmp.find (C (':'))); - - const C* s (tmp.data ()); - - if (pos != ro_string<C>::npos) - { - if (!bits::valid_ncname (s, pos) || - !bits::valid_ncname (s + pos + 1, size - pos - 1)) - throw invalid_value<C> (bits::qname<C> (), tmp); - - prefix_.assign (s, pos); - name_.assign (s + pos + 1, size - pos - 1); - } - else - { - if (!bits::valid_ncname (s, size)) - throw invalid_value<C> (bits::qname<C> (), tmp); - - prefix_.clear (); - str_.resize (size); - name_.swap (str_); - } - } - - template <typename C> - qname<C> qname_pimpl<C>:: - post_qname () - { - return prefix_.empty () - ? qname<C> (name_) - : qname<C> (prefix_, name_); - } - - // base64_binary - // - template <typename C> - void base64_binary_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void base64_binary_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline unsigned char - base64_decode (C c) - { - unsigned char r (0xFF); - - if (c >= C('A') && c <= C ('Z')) - r = static_cast<unsigned char> (c - C ('A')); - else if (c >= C('a') && c <= C ('z')) - r = static_cast<unsigned char> (c - C ('a') + 26); - else if (c >= C('0') && c <= C ('9')) - r = static_cast<unsigned char> (c - C ('0') + 52); - else if (c == C ('+')) - r = 62; - else if (c == C ('/')) - r = 63; - - return r; - } - } - - template <typename C> - void base64_binary_pimpl<C>:: - _post () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (str_.size ()); - const C* src (str_.c_str ()); - - // Remove all whitespaces. - // - { - size_type j (0); - - bool subs (false); - - for (size_type i (0); i < size; ++i) - { - C c = str_[i]; - - if (c == C (0x20) || c == C (0x0A) || - c == C (0x0D) || c == C (0x09)) - { - subs = true; - } - else - { - if (subs) - subs = false; - - str_[j++] = c; - } - } - - size = j; - str_.resize (size); - } - - // Our length should be a multiple of four. - // - if (size == 0 || size % 4 != 0) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - size_type quad_count (size / 4); - size_type capacity (quad_count * 3 + 1); - - buf_.reset (new buffer (capacity, capacity)); - char* dst (buf_->data ()); - - size_type si (0), di (0); // Source and destination indexes. - - // Process all quads except the last one. - // - unsigned char b1, b2, b3, b4; - - for (size_type q (0); q < quad_count - 1; ++q) - { - b1 = bits::base64_decode (src[si++]); - b2 = bits::base64_decode (src[si++]); - b3 = bits::base64_decode (src[si++]); - b4 = bits::base64_decode (src[si++]); - - if (b1 == 0xFF || b2 == 0xFF || b3 == 0xFF || b4 == 0xFF) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - dst[di++] = (b3 << 6) | b4; - } - - // Process the last quad. The first two octets are always there. - // - b1 = bits::base64_decode (src[si++]); - b2 = bits::base64_decode (src[si++]); - - if (b1 == 0xFF || b2 == 0xFF) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - C e3 (src[si++]); - C e4 (src[si++]); - - if (e4 == C ('=')) - { - if (e3 == C ('=')) - { - // Two pads. Last 4 bits in b2 should be zero. - // - if ((b2 & 0x0F) != 0) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - dst[di++] = (b1 << 2) | (b2 >> 4); - } - else - { - // One pad. Last 2 bits in b3 should be zero. - // - b3 = bits::base64_decode (e3); - - if (b3 == 0xFF || (b3 & 0x03) != 0) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - } - } - else - { - // No pads. - // - b3 = bits::base64_decode (e3); - b4 = bits::base64_decode (e4); - - if (b3 == 0xFF || b4 == 0xFF) - throw invalid_value<C> (bits::base64_binary<C> (), str_); - - dst[di++] = (b1 << 2) | (b2 >> 4); - dst[di++] = (b2 << 4) | (b3 >> 2); - dst[di++] = (b3 << 6) | b4; - } - - // Set the real size. - // - buf_->size (di); - } - - template <typename C> - XSD_AUTO_PTR<buffer> base64_binary_pimpl<C>:: - post_base64_binary () - { -#ifdef XSD_CXX11 - return std::move (buf_); -#else - return buf_; -#endif - } - - // hex_binary - // - template <typename C> - void hex_binary_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void hex_binary_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline unsigned char - hex_decode (C c) - { - unsigned char r (0xFF); - - if (c >= C('0') && c <= C ('9')) - r = static_cast<unsigned char> (c - C ('0')); - else if (c >= C ('A') && c <= C ('F')) - r = static_cast<unsigned char> (10 + (c - C ('A'))); - else if (c >= C ('a') && c <= C ('f')) - r = static_cast<unsigned char> (10 + (c - C ('a'))); - - return r; - } - } - - template <typename C> - void hex_binary_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - if (size % 2 != 0) - throw invalid_value<C> (bits::hex_binary<C> (), tmp); - - buffer::size_t n (size / 2); - buf_.reset (new buffer (n)); - - if (n != 0) - { - const C* src (tmp.data ()); - char* dst (buf_->data ()); - buffer::size_t i (0); - - for (; i < n; ++i) - { - unsigned char h (bits::hex_decode (src[2 * i])); - unsigned char l (bits::hex_decode (src[2 * i + 1])); - - if (h == 0xFF || l == 0xFF) - break; - - dst[i] = (h << 4) | l; - } - - if (i != n) - throw invalid_value<C> (bits::hex_binary<C> (), tmp); - } - } - - template <typename C> - XSD_AUTO_PTR<buffer> hex_binary_pimpl<C>:: - post_hex_binary () - { -#ifdef XSD_CXX11 - return std::move (buf_); -#else - return buf_; -#endif - } - - // time_zone - // - namespace bits - { - // Datatypes 3.2.7.3. Return false if time zone is invalid. - // - template <typename C> - bool - parse_tz (const C* s, - typename std::basic_string<C>::size_type n, - short& h, short& m) - { - // time_zone := Z|(+|-)HH:MM - // - if (n == 0) - { - return false; - } - else if (s[0] == 'Z') - { - if (n != 1) - return false; - - h = 0; - m = 0; - } - else - { - if (n != 6 || (s[0] != '-' && s[0] != '+') || s[3] != ':') - return false; - - // Parse hours. - // - char d1 = s[1]; - char d2 = s[2]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - return false; - - h = 10 * (d1 - '0') + (d2 - '0'); - - if (h > 14) - return false; - - // Parse minutes. - // - d1 = s[4]; - d2 = s[5]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - return false; - - m = 10 * (d1 - '0') + (d2 - '0'); - - if (m > 59 || (h == 14 && m != 0)) - return false; - - if (s[0] == '-') - { - h = -h; - m = -m; - } - } - - return true; - } - } - - // gday - // - template <typename C> - void gday_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gday_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void gday_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // gday := ---DD[Z|(+|-)HH:MM] - // - if (size < 5 || - s[0] != C ('-') || s[1] != C ('-') || s[2] != C ('-')) - throw invalid_value<C> (bits::gday<C> (), tmp); - - C d1 (s[3]), d2 (s[4]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::gday<C> (), tmp); - - day_ = 10 * (d1 - '0') + (d2 - '0'); - - if (day_ < 1 || day_ > 31) - throw invalid_value<C> (bits::gday<C> (), tmp); - - if (size > 5) - { - if (!bits::parse_tz (s + 5, size - 5, zh_, zm_)) - throw invalid_value<C> (bits::gday<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - gday gday_pimpl<C>:: - post_gday () - { - return z_ ? gday (day_, zh_, zm_) : gday (day_); - } - - // gmonth - // - template <typename C> - void gmonth_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gmonth_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void gmonth_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // gmonth := --MM[Z|(+|-)HH:MM] - // - if (size < 4 || s[0] != C ('-') || s[1] != C ('-')) - throw invalid_value<C> (bits::gmonth<C> (), tmp); - - C d1 (s[2]), d2 (s[3]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::gmonth<C> (), tmp); - - month_ = 10 * (d1 - '0') + (d2 - '0'); - - if (month_ < 1 || month_ > 12) - throw invalid_value<C> (bits::gmonth<C> (), tmp); - - if (size > 4) - { - if (!bits::parse_tz (s + 4, size - 4, zh_, zm_)) - throw invalid_value<C> (bits::gmonth<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - gmonth gmonth_pimpl<C>:: - post_gmonth () - { - return z_ ? gmonth (month_, zh_, zm_) : gmonth (month_); - } - - // gyear - // - template <typename C> - void gyear_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gyear_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void gyear_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // gyear := [-]CCYY[N]*[Z|(+|-)HH:MM] - // - - if (size < 4 || (s[0] == C ('-') && size < 5)) - throw invalid_value<C> (bits::gyear<C> (), tmp); - - // Find the end of the year token. - // - size_type pos (s[0] == C ('-') ? 5 : 4); - for (; pos < size; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> year_fragment (s, pos); - zc_istream<C> is (year_fragment); - - if (!(is >> year_ && is.exhausted () && year_ != 0)) - throw invalid_value<C> (bits::gyear<C> (), tmp); - - if (pos < size) - { - if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) - throw invalid_value<C> (bits::gyear<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - gyear gyear_pimpl<C>:: - post_gyear () - { - return z_ ? gyear (year_, zh_, zm_) : gyear (year_); - } - - // gmonth_day - // - template <typename C> - void gmonth_day_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gmonth_day_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void gmonth_day_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // gmonth_day := --MM-DD[Z|(+|-)HH:MM] - // - if (size < 7 || - s[0] != C ('-') || s[1] != C ('-') || s[4] != C ('-')) - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - // month - // - C d1 (s[2]), d2 (s[3]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - month_ = 10 * (d1 - '0') + (d2 - '0'); - - if (month_ < 1 || month_ > 12) - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - // day - // - d1 = s[5]; - d2 = s[6]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - day_ = 10 * (d1 - '0') + (d2 - '0'); - - if (day_ < 1 || day_ > 31) - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - // zone - // - if (size > 7) - { - if (!bits::parse_tz (s + 7, size - 7, zh_, zm_)) - throw invalid_value<C> (bits::gmonth_day<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - gmonth_day gmonth_day_pimpl<C>:: - post_gmonth_day () - { - return z_ - ? gmonth_day (month_, day_, zh_, zm_) - : gmonth_day (month_, day_); - } - - // gyear_month - // - template <typename C> - void gyear_month_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void gyear_month_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void gyear_month_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM] - // - - if (size < 7 || (s[0] == C ('-') && size < 8)) - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); - - if (pos == ro_string<C>::npos || (size - pos - 1) < 2) - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - - if (!(yis >> year_ && yis.exhausted () && year_ != 0)) - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - // month - // - C d1 (s[pos + 1]), d2 (s[pos + 2]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - month_ = 10 * (d1 - '0') + (d2 - '0'); - - if (month_ < 1 || month_ > 12) - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - // zone - // - pos += 3; - - if (pos < size) - { - if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) - throw invalid_value<C> (bits::gyear_month<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - gyear_month gyear_month_pimpl<C>:: - post_gyear_month () - { - return z_ - ? gyear_month (year_, month_, zh_, zm_) - : gyear_month (year_, month_); - } - - // date - // - template <typename C> - void date_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void date_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void date_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM] - // - - if (size < 10 || (s[0] == C ('-') && size < 11)) - throw invalid_value<C> (bits::date<C> (), tmp); - - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); - - if (pos == ro_string<C>::npos - || (size - pos - 1) < 5 - || s[pos + 3] != C ('-')) - throw invalid_value<C> (bits::date<C> (), tmp); - - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - - if (!(yis >> year_ && yis.exhausted () && year_ != 0)) - throw invalid_value<C> (bits::date<C> (), tmp); - - // month - // - C d1 (s[pos + 1]), d2 (s[pos + 2]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date<C> (), tmp); - - month_ = 10 * (d1 - '0') + (d2 - '0'); - - if (month_ < 1 || month_ > 12) - throw invalid_value<C> (bits::date<C> (), tmp); - - // day - // - d1 = s[pos + 4]; - d2 = s[pos + 5]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date<C> (), tmp); - - day_ = 10 * (d1 - '0') + (d2 - '0'); - - if (day_ < 1 || day_ > 31) - throw invalid_value<C> (bits::date<C> (), tmp); - - // zone - // - pos += 6; - - if (pos < size) - { - if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) - throw invalid_value<C> (bits::date<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - date date_pimpl<C>:: - post_date () - { - return z_ - ? date (year_, month_, day_, zh_, zm_) - : date (year_, month_, day_); - } - - // time - // - template <typename C> - void time_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void time_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void time_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // time := HH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (size < 8 || s[2] != C (':') || s[5] != C (':')) - throw invalid_value<C> (bits::time<C> (), tmp); - - // hours - // - C d1 (s[0]), d2 (s[1]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::time<C> (), tmp); - - hours_ = 10 * (d1 - '0') + (d2 - '0'); - - if (hours_ > 24) - throw invalid_value<C> (bits::time<C> (), tmp); - - // minutes - // - d1 = s[3]; - d2 = s[4]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::time<C> (), tmp); - - minutes_ = 10 * (d1 - '0') + (d2 - '0'); - - if (minutes_ > 59) - throw invalid_value<C> (bits::time<C> (), tmp); - - // Find the end of the seconds fragment. - // - size_type pos (8); - for (; pos < size; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - // At least one digit should follow the fraction point. - // - if ((pos - 6) == 3) - throw invalid_value<C> (bits::time<C> (), tmp); - - ro_string<C> seconds_fragment (s + 6, pos - 6); - zc_istream<C> sis (seconds_fragment); - - if (!(sis >> seconds_ && sis.exhausted () && seconds_ < 60.0)) - throw invalid_value<C> (bits::time<C> (), tmp); - - if (hours_ == 24 && (minutes_ != 0 || seconds_ != 0.0)) - throw invalid_value<C> (bits::time<C> (), tmp); - - // zone - // - if (pos < size) - { - if (!bits::parse_tz (s + pos, size - pos, zh_, zm_)) - throw invalid_value<C> (bits::time<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - time time_pimpl<C>:: - post_time () - { - return z_ - ? time (hours_, minutes_, seconds_, zh_, zm_) - : time (hours_, minutes_, seconds_); - } - - - // date_time - // - template <typename C> - void date_time_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void date_time_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - template <typename C> - void date_time_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - const C* s (tmp.data ()); - - // date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (size < 19 || (s[0] == C ('-') && size < 20)) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), s[0] == C ('-') ? 5 : 4)); - - if (pos == ro_string<C>::npos || (size - pos - 1) < 14 - || s[pos + 3] != C ('-') || s[pos + 6] != C ('T') - || s[pos + 9] != C (':') || s[pos + 12] != C (':')) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // year - // - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - - if (!(yis >> year_ && yis.exhausted () && year_ != 0)) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // month - // - C d1 (s[pos + 1]), d2 (s[pos + 2]); - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date_time<C> (), tmp); - - month_ = 10 * (d1 - '0') + (d2 - '0'); - - if (month_ < 1 || month_ > 12) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // day - // - d1 = s[pos + 4]; - d2 = s[pos + 5]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date_time<C> (), tmp); - - day_ = 10 * (d1 - '0') + (d2 - '0'); - - if (day_ < 1 || day_ > 31) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - pos += 7; // Point to the first H. - - // hours - // - d1 = s[pos]; - d2 = s[pos + 1]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date_time<C> (), tmp); - - hours_ = 10 * (d1 - '0') + (d2 - '0'); - - if (hours_ > 24) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // minutes - // - d1 = s[pos + 3]; - d2 = s[pos + 4]; - - if (d1 < '0' || d1 > '9' || d2 < '0' || d2 > '9') - throw invalid_value<C> (bits::date_time<C> (), tmp); - - minutes_ = 10 * (d1 - '0') + (d2 - '0'); - - if (minutes_ > 59) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // Find the end of the seconds fragment. - // - pos += 6; // Point to the first S. - - size_type sec_end (pos + 2); - for (; sec_end < size; ++sec_end) - { - C c (s[sec_end]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - // At least one digit should should follow the fraction point. - // - if ((sec_end - pos) == 3) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - ro_string<C> seconds_fragment (s + pos, sec_end - pos); - zc_istream<C> sis (seconds_fragment); - - if (!(sis >> seconds_ && sis.exhausted () && seconds_ < 60.0)) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - if (hours_ == 24 && (minutes_ != 0 || seconds_ != 0.0)) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - // zone - // - if (sec_end < size) - { - if (!bits::parse_tz (s + sec_end, size - sec_end, zh_, zm_)) - throw invalid_value<C> (bits::date_time<C> (), tmp); - - z_ = true; - } - else - z_ = false; - } - - template <typename C> - date_time date_time_pimpl<C>:: - post_date_time () - { - return z_ - ? date_time (year_, month_, day_, hours_, minutes_, seconds_, - zh_, zm_) - : date_time (year_, month_, day_, hours_, minutes_, seconds_); - } - - // duration - // - template <typename C> - void duration_pimpl<C>:: - _pre () - { - str_.clear (); - } - - template <typename C> - void duration_pimpl<C>:: - _characters (const ro_string<C>& s) - { - if (str_.size () == 0) - { - ro_string<C> tmp (s.data (), s.size ()); - - if (trim_left (tmp) != 0) - str_ += tmp; - } - else - str_ += s; - } - - namespace bits - { - template <typename C> - inline typename ro_string<C>::size_type - duration_delim (const C* s, - typename ro_string<C>::size_type pos, - typename ro_string<C>::size_type size) - { - const C* p (s + pos); - for (; p < (s + size); ++p) - { - if (*p == C ('Y') || *p == C ('D') || *p == C ('M') || - *p == C ('H') || *p == C ('M') || *p == C ('S') || - *p == C ('T')) - break; - } - - return p - s; - } - } - - template <typename C> - void duration_pimpl<C>:: - _post () - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str_); - size_type size (trim_right (tmp)); - - negative_ = false; - years_ = 0; - months_ = 0; - days_ = 0; - hours_ = 0; - minutes_ = 0; - seconds_ = 0.0; - - // duration := [-]P[nY][nM][nD][TnHnMn[.n+]S] - // - const C* s (tmp.data ()); - - if (size < 3 || (s[0] == C ('-') && size < 4)) - throw invalid_value<C> (bits::duration<C> (), tmp); - - size_type pos (0); - - if (s[0] == C ('-')) - { - negative_ = true; - pos++; - } - - if (s[pos++] != C ('P')) - throw invalid_value<C> (bits::duration<C> (), tmp); - - size_type del (bits::duration_delim (s, pos, size)); - - // Duration should contain at least one component. - // - if (del == size) - throw invalid_value<C> (bits::duration<C> (), tmp); - - if (s[del] == C ('Y')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> years_ && is.exhausted ())) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> months_ && is.exhausted ())) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('D')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> days_ && is.exhausted ())) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('T')) - { - pos = del + 1; - del = bits::duration_delim (s, pos, size); - - // At least one time component should be present. - // - if (del == size) - throw invalid_value<C> (bits::duration<C> (), tmp); - - if (s[del] == C ('H')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> hours_ && is.exhausted ())) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> minutes_ && is.exhausted ())) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - del = bits::duration_delim (s, pos, size); - } - - if (del != size && s[del] == C ('S')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - - if (!(is >> seconds_ && is.exhausted () && seconds_ >= 0.0)) - throw invalid_value<C> (bits::duration<C> (), tmp); - - pos = del + 1; - } - } - - // Something did not match or appeared in the wrong order. - // - if (pos != size) - throw invalid_value<C> (bits::duration<C> (), tmp); - } - - template <typename C> - duration duration_pimpl<C>:: - post_duration () - { - return duration ( - negative_, years_, months_, days_, hours_, minutes_, seconds_); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx deleted file mode 100644 index ffc7de3..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.hxx +++ /dev/null @@ -1,648 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pskel.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX - -#include <string> -#include <memory> // std::auto_ptr/unique_ptr - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/parser/xml-schema.hxx> -#include <xsd/cxx/parser/validating/parser.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // anyType and anySimpleType. All events are routed to the - // _any_* callbacks. - // - template <typename C> - struct any_type_pskel: complex_content<C> - { - virtual bool - _start_element_impl (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>*); - - virtual bool - _end_element_impl (const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _attribute_impl_phase_two (const ro_string<C>&, - const ro_string<C>&, - const ro_string<C>&); - - virtual bool - _characters_impl (const ro_string<C>&); - - virtual void - post_any_type () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct any_simple_type_pskel: simple_content<C> - { - virtual bool - _characters_impl (const ro_string<C>&); - - virtual void - post_any_simple_type () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Boolean. - // - template <typename C> - struct boolean_pskel: simple_content<C> - { - virtual bool - post_boolean () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 8-bit - // - template <typename C> - struct byte_pskel: simple_content<C> - { - virtual signed char - post_byte () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_byte_pskel: simple_content<C> - { - virtual unsigned char - post_unsigned_byte () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 16-bit - // - template <typename C> - struct short_pskel: simple_content<C> - { - virtual short - post_short () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_short_pskel: simple_content<C> - { - virtual unsigned short - post_unsigned_short () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 32-bit - // - template <typename C> - struct int_pskel: simple_content<C> - { - virtual int - post_int () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_int_pskel: simple_content<C> - { - virtual unsigned int - post_unsigned_int () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // 64-bit - // - template <typename C> - struct long_pskel: simple_content<C> - { - virtual long long - post_long () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct unsigned_long_pskel: simple_content<C> - { - virtual unsigned long long - post_unsigned_long () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Arbitrary-length integers. - // - template <typename C> - struct integer_pskel: simple_content<C> - { - virtual long long - post_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct negative_integer_pskel: simple_content<C> - { - virtual long long - post_negative_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct non_positive_integer_pskel: simple_content<C> - { - virtual long long - post_non_positive_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct positive_integer_pskel: simple_content<C> - { - virtual unsigned long long - post_positive_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct non_negative_integer_pskel: simple_content<C> - { - virtual unsigned long long - post_non_negative_integer () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Floats. - // - template <typename C> - struct float_pskel: simple_content<C> - { - virtual float - post_float () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct double_pskel: simple_content<C> - { - virtual double - post_double () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct decimal_pskel: simple_content<C> - { - virtual double - post_decimal () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - - // Strings. - // - template <typename C> - struct string_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_string () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct normalized_string_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_normalized_string () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct token_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_token () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct name_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_name () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct nmtoken_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_nmtoken () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct nmtokens_pskel: list_base<C> - { - virtual string_sequence<C> - post_nmtokens () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct ncname_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_ncname () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct id_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_id () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct idref_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_idref () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct idrefs_pskel: list_base<C> - { - virtual string_sequence<C> - post_idrefs () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Language. - // - template <typename C> - struct language_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_language () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // URI. - // - template <typename C> - struct uri_pskel: simple_content<C> - { - virtual std::basic_string<C> - post_uri () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // QName. - // - template <typename C> - struct qname_pskel: simple_content<C> - { - virtual qname<C> - post_qname () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Base64 and hex binaries. - // - template <typename C> - struct base64_binary_pskel: simple_content<C> - { - virtual XSD_AUTO_PTR<buffer> - post_base64_binary () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct hex_binary_pskel: simple_content<C> - { - virtual XSD_AUTO_PTR<buffer> - post_hex_binary () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - // Time and date types. - // - template <typename C> - struct gday_pskel: simple_content<C> - { - virtual gday - post_gday () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gmonth_pskel: simple_content<C> - { - virtual gmonth - post_gmonth () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gyear_pskel: simple_content<C> - { - virtual gyear - post_gyear () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gmonth_day_pskel: simple_content<C> - { - virtual gmonth_day - post_gmonth_day () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct gyear_month_pskel: simple_content<C> - { - virtual gyear_month - post_gyear_month () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct date_pskel: simple_content<C> - { - virtual date - post_date () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct time_pskel: simple_content<C> - { - virtual time - post_time () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct date_time_pskel: simple_content<C> - { - virtual date_time - post_date_time () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - - template <typename C> - struct duration_pskel: simple_content<C> - { - virtual duration - post_duration () = 0; - - static const C* - _static_type (); - - virtual const C* - _dynamic_type () const; - }; - } - } - } -} - -#include <xsd/cxx/parser/validating/xml-schema-pskel.txx> - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_HXX - -#include <xsd/cxx/parser/validating/xml-schema-pskel.ixx> diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx deleted file mode 100644 index b6da227..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.ixx +++ /dev/null @@ -1,1248 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pskel.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#if defined(XSD_CXX_PARSER_USE_CHAR) || !defined(XSD_CXX_PARSER_USE_WCHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - template<> - inline const char* any_type_pskel<char>:: - _static_type () - { - return "anyType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* any_type_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* any_simple_type_pskel<char>:: - _static_type () - { - return "anySimpleType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* any_simple_type_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* boolean_pskel<char>:: - _static_type () - { - return "boolean http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* boolean_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* byte_pskel<char>:: - _static_type () - { - return "byte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* byte_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_byte_pskel<char>:: - _static_type () - { - return "unsignedByte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_byte_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* short_pskel<char>:: - _static_type () - { - return "short http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* short_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_short_pskel<char>:: - _static_type () - { - return "unsignedShort http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_short_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* int_pskel<char>:: - _static_type () - { - return "int http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* int_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_int_pskel<char>:: - _static_type () - { - return "unsignedInt http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_int_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* long_pskel<char>:: - _static_type () - { - return "long http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* long_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* unsigned_long_pskel<char>:: - _static_type () - { - return "unsignedLong http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* unsigned_long_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* integer_pskel<char>:: - _static_type () - { - return "integer http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* negative_integer_pskel<char>:: - _static_type () - { - return "negativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* negative_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* non_positive_integer_pskel<char>:: - _static_type () - { - return "nonPositiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* non_positive_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* positive_integer_pskel<char>:: - _static_type () - { - return "positiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* positive_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* non_negative_integer_pskel<char>:: - _static_type () - { - return "nonNegativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* non_negative_integer_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* float_pskel<char>:: - _static_type () - { - return "float http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* float_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* double_pskel<char>:: - _static_type () - { - return "double http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* double_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* decimal_pskel<char>:: - _static_type () - { - return "decimal http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* decimal_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* string_pskel<char>:: - _static_type () - { - return "string http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* string_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* normalized_string_pskel<char>:: - _static_type () - { - return "normalizedString http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* normalized_string_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* token_pskel<char>:: - _static_type () - { - return "token http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* token_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* name_pskel<char>:: - _static_type () - { - return "Name http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* name_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* nmtoken_pskel<char>:: - _static_type () - { - return "NMTOKEN http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* nmtoken_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* nmtokens_pskel<char>:: - _static_type () - { - return "NMTOKENS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* nmtokens_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* ncname_pskel<char>:: - _static_type () - { - return "NCName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* ncname_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* id_pskel<char>:: - _static_type () - { - return "ID http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* id_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* idref_pskel<char>:: - _static_type () - { - return "IDREF http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* idref_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* idrefs_pskel<char>:: - _static_type () - { - return "IDREFS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* idrefs_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* language_pskel<char>:: - _static_type () - { - return "language http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* language_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* uri_pskel<char>:: - _static_type () - { - return "anyURI http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* uri_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* qname_pskel<char>:: - _static_type () - { - return "QName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* qname_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* base64_binary_pskel<char>:: - _static_type () - { - return "base64Binary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* base64_binary_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* hex_binary_pskel<char>:: - _static_type () - { - return "hexBinary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* hex_binary_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gday_pskel<char>:: - _static_type () - { - return "gDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gday_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gmonth_pskel<char>:: - _static_type () - { - return "gMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gmonth_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gyear_pskel<char>:: - _static_type () - { - return "gYear http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gyear_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gmonth_day_pskel<char>:: - _static_type () - { - return "gMonthDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gmonth_day_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* gyear_month_pskel<char>:: - _static_type () - { - return "gYearMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* gyear_month_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* date_pskel<char>:: - _static_type () - { - return "date http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* date_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* time_pskel<char>:: - _static_type () - { - return "time http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* time_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* date_time_pskel<char>:: - _static_type () - { - return "dateTime http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* date_time_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const char* duration_pskel<char>:: - _static_type () - { - return "duration http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const char* duration_pskel<char>:: - _dynamic_type () const - { - return _static_type (); - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_CHAR -#endif // XSD_CXX_PARSER_USE_CHAR - - -#if defined(XSD_CXX_PARSER_USE_WCHAR) || !defined(XSD_CXX_PARSER_USE_CHAR) - -#ifndef XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR -#define XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - template<> - inline const wchar_t* any_type_pskel<wchar_t>:: - _static_type () - { - return L"anyType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* any_type_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* any_simple_type_pskel<wchar_t>:: - _static_type () - { - return L"anySimpleType http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* any_simple_type_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* boolean_pskel<wchar_t>:: - _static_type () - { - return L"boolean http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* boolean_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* byte_pskel<wchar_t>:: - _static_type () - { - return L"byte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* byte_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_byte_pskel<wchar_t>:: - _static_type () - { - return L"unsignedByte http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_byte_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* short_pskel<wchar_t>:: - _static_type () - { - return L"short http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* short_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_short_pskel<wchar_t>:: - _static_type () - { - return L"unsignedShort http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_short_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* int_pskel<wchar_t>:: - _static_type () - { - return L"int http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* int_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_int_pskel<wchar_t>:: - _static_type () - { - return L"unsignedInt http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_int_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* long_pskel<wchar_t>:: - _static_type () - { - return L"long http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* long_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* unsigned_long_pskel<wchar_t>:: - _static_type () - { - return L"unsignedLong http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* unsigned_long_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* integer_pskel<wchar_t>:: - _static_type () - { - return L"integer http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* negative_integer_pskel<wchar_t>:: - _static_type () - { - return L"negativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* negative_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* non_positive_integer_pskel<wchar_t>:: - _static_type () - { - return L"nonPositiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* non_positive_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* positive_integer_pskel<wchar_t>:: - _static_type () - { - return L"positiveInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* positive_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* non_negative_integer_pskel<wchar_t>:: - _static_type () - { - return L"nonNegativeInteger http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* non_negative_integer_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* float_pskel<wchar_t>:: - _static_type () - { - return L"float http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* float_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* double_pskel<wchar_t>:: - _static_type () - { - return L"double http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* double_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* decimal_pskel<wchar_t>:: - _static_type () - { - return L"decimal http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* decimal_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* string_pskel<wchar_t>:: - _static_type () - { - return L"string http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* string_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* normalized_string_pskel<wchar_t>:: - _static_type () - { - return L"normalizedString http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* normalized_string_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* token_pskel<wchar_t>:: - _static_type () - { - return L"token http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* token_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* name_pskel<wchar_t>:: - _static_type () - { - return L"Name http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* name_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* nmtoken_pskel<wchar_t>:: - _static_type () - { - return L"NMTOKEN http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* nmtoken_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* nmtokens_pskel<wchar_t>:: - _static_type () - { - return L"NMTOKENS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* nmtokens_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* ncname_pskel<wchar_t>:: - _static_type () - { - return L"NCName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* ncname_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* id_pskel<wchar_t>:: - _static_type () - { - return L"ID http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* id_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* idref_pskel<wchar_t>:: - _static_type () - { - return L"IDREF http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* idref_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* idrefs_pskel<wchar_t>:: - _static_type () - { - return L"IDREFS http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* idrefs_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* language_pskel<wchar_t>:: - _static_type () - { - return L"language http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* language_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* uri_pskel<wchar_t>:: - _static_type () - { - return L"anyURI http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* uri_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* qname_pskel<wchar_t>:: - _static_type () - { - return L"QName http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* qname_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* base64_binary_pskel<wchar_t>:: - _static_type () - { - return L"base64Binary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* base64_binary_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* hex_binary_pskel<wchar_t>:: - _static_type () - { - return L"hexBinary http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* hex_binary_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gday_pskel<wchar_t>:: - _static_type () - { - return L"gDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gday_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gmonth_pskel<wchar_t>:: - _static_type () - { - return L"gMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gmonth_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gyear_pskel<wchar_t>:: - _static_type () - { - return L"gYear http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gyear_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gmonth_day_pskel<wchar_t>:: - _static_type () - { - return L"gMonthDay http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gmonth_day_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* gyear_month_pskel<wchar_t>:: - _static_type () - { - return L"gYearMonth http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* gyear_month_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* date_pskel<wchar_t>:: - _static_type () - { - return L"date http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* date_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* time_pskel<wchar_t>:: - _static_type () - { - return L"time http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* time_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* date_time_pskel<wchar_t>:: - _static_type () - { - return L"dateTime http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* date_time_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - - template<> - inline const wchar_t* duration_pskel<wchar_t>:: - _static_type () - { - return L"duration http://www.w3.org/2001/XMLSchema"; - } - - template<> - inline const wchar_t* duration_pskel<wchar_t>:: - _dynamic_type () const - { - return _static_type (); - } - } - } - } -} - -#endif // XSD_CXX_PARSER_VALIDATING_XML_SCHEMA_PSKEL_IXX_WCHAR -#endif // XSD_CXX_PARSER_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx b/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx deleted file mode 100644 index 49d53c5..0000000 --- a/xsd/libxsd/xsd/cxx/parser/validating/xml-schema-pskel.txx +++ /dev/null @@ -1,68 +0,0 @@ -// file : xsd/cxx/parser/validating/xml-schema-pskel.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace validating - { - // any_type - // - - template <typename C> - bool any_type_pskel<C>:: - _start_element_impl (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>* type) - { - this->_start_any_element (ns, name, type); - this->complex_content<C>::context_.top ().any_ = true; - return true; - } - - template <typename C> - bool any_type_pskel<C>:: - _end_element_impl (const ro_string<C>& ns, const ro_string<C>& name) - { - this->complex_content<C>::context_.top ().any_ = false; - this->_end_any_element (ns, name); - return true; - } - - - template <typename C> - bool any_type_pskel<C>:: - _attribute_impl_phase_two (const ro_string<C>& ns, - const ro_string<C>& name, - const ro_string<C>& value) - { - this->_any_attribute (ns, name, value); - return true; - } - - template <typename C> - bool any_type_pskel<C>:: - _characters_impl (const ro_string<C>& s) - { - this->_any_characters (s); - return true; - } - - // any_simple_type - // - - template <typename C> - bool any_simple_type_pskel<C>:: - _characters_impl (const ro_string<C>& s) - { - this->_any_characters (s); - return true; - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx b/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx deleted file mode 100644 index da493f9..0000000 --- a/xsd/libxsd/xsd/cxx/parser/xerces/elements.hxx +++ /dev/null @@ -1,464 +0,0 @@ -// file : xsd/cxx/parser/xerces/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_XERCES_ELEMENTS_HXX -#define XSD_CXX_PARSER_XERCES_ELEMENTS_HXX - -#include <memory> // std::auto_ptr/unique_ptr -#include <string> -#include <iosfwd> -#include <vector> - -#include <xercesc/sax/Locator.hpp> -#include <xercesc/sax/InputSource.hpp> -#include <xercesc/sax2/SAX2XMLReader.hpp> -#include <xercesc/sax2/DefaultHandler.hpp> - -#include <xercesc/util/XercesVersion.hpp> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/xml/elements.hxx> -#include <xsd/cxx/xml/error-handler.hxx> - -#include <xsd/cxx/parser/exceptions.hxx> -#include <xsd/cxx/parser/elements.hxx> -#include <xsd/cxx/parser/document.hxx> - -#if _XERCES_VERSION < 30000 -# error Xerces-C++ 2-series is not supported -#endif - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace xerces - { - // - // - struct flags - { - // Use the following flags to modify the default behavior - // of the parsing functions. - // - - // Do not try to validate instance documents. - // - static const unsigned long dont_validate = 0x00000001; - - // Do not initialize the Xerces-C++ runtime. - // - static const unsigned long dont_initialize = 0x00000002; - - // Disable handling of subsequent imports for the same namespace - // in Xerces-C++ 3.1.0 and later. - // - static const unsigned long no_multiple_imports = 0x00000004; - - public: - flags (unsigned long x = 0) - : x_ (x) - { - } - - operator unsigned long () const - { - return x_; - } - - private: - unsigned long x_; - }; - - - // Parsing properties. Refer to xsd/cxx/xml/elements.hxx for - // XML-related properties. - // - template <typename C> - class properties: public xml::properties<C> - { - }; - - // - // - template <typename C> - struct document: cxx::parser::document<C> // VC likes it qualified - { - public: - document (parser_base<C>& root, - const C* root_element_name, - bool polymorphic = false); - - document (parser_base<C>& root, - const std::basic_string<C>& root_element_name, - bool polymorphic = false); - - document (parser_base<C>& root, - const C* root_element_namespace, - const C* root_element_name, - bool polymorphic = false); - - document (parser_base<C>& root, - const std::basic_string<C>& root_element_namespace, - const std::basic_string<C>& root_element_name, - bool polymorphic = false); - - protected: - explicit - document (bool polymorphic = false); - - public: - // Parse URI or a local file. We have to overload it for const C* - // bacause xercesc::InputSource has an implicit constructor that - // takes const char*. - // - void - parse (const std::basic_string<C>& uri, - flags = 0, - const properties<C>& = properties<C> ()); - - void - parse (const C* uri, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse URI or a local file with a user-provided error_handler - // object. - // - void - parse (const std::basic_string<C>& uri, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - void - parse (const C* uri, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse URI or a local file with a user-provided ErrorHandler - // object. Note that you must initialize the Xerces-C++ runtime - // before calling these functions. - // - void - parse (const std::basic_string<C>& uri, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - void - parse (const C* uri, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse URI or a local file using a user-provided SAX2XMLReader - // object. Note that you must initialize the Xerces-C++ runtime - // before calling these functions. - // - void - parse (const std::basic_string<C>& uri, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - void - parse (const C* uri, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - - public: - // System id is a "system" identifier of the resources (e.g., - // URI or a full file path). Public id is a "public" identifier - // of the resource (e.g., an application-specific name or a - // relative file path). System id is used to resolve relative - // paths. In diagnostics messages system id is used if public - // id is not available. Otherwise public id is used. - // - - // Parse std::istream. - // - void - parse (std::istream&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with a user-provided error_handler object. - // - void - parse (std::istream&, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (std::istream&, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (std::istream&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - - public: - // Parse std::istream with a system id. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with a system id and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with a system id and a user-provided - // ErrorHandler object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with a system id using a user-provided - // SAX2XMLReader object. Note that you must initialize the - // Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - - - public: - // Parse std::istream with system and public ids. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with system and public ids and a user-provided - // error_handler object. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with system and public ids and a user-provided - // ErrorHandler object. Note that you must initialize the Xerces-C++ - // runtime before calling this function. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse std::istream with system and public ids using a user- - // provided SAX2XMLReader object. Note that you must initialize - // the Xerces-C++ runtime before calling this function. - // - void - parse (std::istream&, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - - public: - // Parse InputSource. Note that you must initialize the Xerces-C++ - // runtime before calling this function. - // - void - parse (const xercesc::InputSource&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse InputSource with a user-provided error_handler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - xml::error_handler<C>&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse InputSource with a user-provided ErrorHandler object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - xercesc::ErrorHandler&, - flags = 0, - const properties<C>& = properties<C> ()); - - - // Parse InputSource using a user-provided SAX2XMLReader object. - // Note that you must initialize the Xerces-C++ runtime before - // calling this function. - // - void - parse (const xercesc::InputSource&, - xercesc::SAX2XMLReader&, - flags = 0, - const properties<C>& = properties<C> ()); - - private: - void - parse (const std::basic_string<C>& uri, - xercesc::ErrorHandler&, - xercesc::SAX2XMLReader&, - flags, - const properties<C>&); - - void - parse (const xercesc::InputSource&, - xercesc::ErrorHandler&, - xercesc::SAX2XMLReader&, - flags, - const properties<C>&); - - private: - XSD_AUTO_PTR<xercesc::SAX2XMLReader> - create_sax_ (flags, const properties<C>&); - - private: - bool polymorphic_; - }; - - // - // - template <typename C> - struct event_router: xercesc::DefaultHandler - { - event_router (cxx::parser::document<C>&, bool polymorphic); - - // I know, some of those consts are stupid. But that's what - // Xerces folks put into their interfaces and VC thinks there - // are different signatures if one strips this fluff off. - // - virtual void - setDocumentLocator (const xercesc::Locator* const); - - virtual void - startElement (const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const qname, - const xercesc::Attributes& attributes); - - virtual void - endElement (const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const qname); - - virtual void - characters (const XMLCh* const s, const XMLSize_t length); - - virtual void - startPrefixMapping (const XMLCh* const prefix, - const XMLCh* const uri); - - virtual void - endPrefixMapping (const XMLCh* const prefix); - - private: - void - set_location (schema_exception<C>&); - - private: - const xercesc::Locator* loc_; - cxx::parser::document<C>& consumer_; - bool polymorphic_; - - // Last element name cache. - // - bool last_valid_; - std::basic_string<C> last_ns_; - std::basic_string<C> last_name_; - - // Namespace-prefix mapping. Only maintained in the polymorphic - // case. - // - struct ns_decl - { - ns_decl (const std::basic_string<C>& p, - const std::basic_string<C>& n) - : prefix (p), ns (n) - { - } - - std::basic_string<C> prefix; - std::basic_string<C> ns; - }; - - typedef std::vector<ns_decl> ns_decls; - - ns_decls ns_decls_; - }; - } - } - } -} - -#include <xsd/cxx/parser/xerces/elements.txx> - -#endif // XSD_CXX_PARSER_XERCES_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx b/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx deleted file mode 100644 index f41b074..0000000 --- a/xsd/libxsd/xsd/cxx/parser/xerces/elements.txx +++ /dev/null @@ -1,948 +0,0 @@ -// file : xsd/cxx/parser/xerces/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <istream> -#include <cstddef> // std::size_t -#include <cassert> - -#include <xercesc/sax/SAXParseException.hpp> -#include <xercesc/sax2/Attributes.hpp> -#include <xercesc/sax2/XMLReaderFactory.hpp> -#include <xercesc/validators/schema/SchemaSymbols.hpp> -#include <xercesc/util/XMLUni.hpp> -#include <xercesc/util/XMLString.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/sax/bits/error-handler-proxy.hxx> -#include <xsd/cxx/xml/bits/literals.hxx> // xml::bits::{xml_prefix, etc} - -#include <xsd/cxx/parser/error-handler.hxx> -#include <xsd/cxx/parser/schema-exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace parser - { - namespace xerces - { - - // document - // - - template <typename C> - document<C>:: - document (parser_base<C>& parser, - const C* name, - bool polymorphic) - : cxx::parser::document<C> (parser, std::basic_string<C> (), name), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& parser, - const std::basic_string<C>& name, - bool polymorphic) - : cxx::parser::document<C> (parser, std::basic_string<C> (), name), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& parser, - const C* ns, - const C* name, - bool polymorphic) - : cxx::parser::document<C> (parser, ns, name), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (parser_base<C>& parser, - const std::basic_string<C>& ns, - const std::basic_string<C>& name, - bool polymorphic) - : cxx::parser::document<C> (parser, ns, name), - polymorphic_ (polymorphic) - { - } - - template <typename C> - document<C>:: - document (bool polymorphic) - : polymorphic_ (polymorphic) - { - } - - // parse (uri) - // - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& uri, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - - error_handler<C> eh; - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (uri, eh_proxy, *sax, f, p); - - eh.throw_if_failed (); - } - - template <typename C> - void document<C>:: - parse (const C* uri, - flags f, - const properties<C>& p) - { - parse (std::basic_string<C> (uri), f, p); - } - - // error_handler - // - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& uri, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (uri, eh_proxy, *sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (const C* uri, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - parse (std::basic_string<C> (uri), eh, f, p); - } - - // ErrorHandler - // - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& uri, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (uri, eh_proxy, *sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (const C* uri, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - parse (std::basic_string<C> (uri), eh, f, p); - } - - // SAX2XMLReader - // - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& uri, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - // If there is no error handler, then fall back on the default - // implementation. - // - xercesc::ErrorHandler* eh (sax.getErrorHandler ()); - - if (eh) - { - xml::sax::bits::error_handler_proxy<C> eh_proxy (*eh); - - parse (uri, eh_proxy, sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - else - { - error_handler<C> fallback_eh; - xml::sax::bits::error_handler_proxy<C> eh_proxy (fallback_eh); - - parse (uri, eh_proxy, sax, f, p); - - fallback_eh.throw_if_failed (); - } - } - - template <typename C> - void document<C>:: - parse (const C* uri, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - parse (std::basic_string<C> (uri), sax, f, p); - } - - // parse (istream) - // - - template <typename C> - void document<C>:: - parse (std::istream& is, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - - xml::sax::std_input_source isrc (is); - - parse (isrc, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - xml::sax::std_input_source isrc (is); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is); - parse (isrc, sax, f, p); - } - - - // parse (istream, system_id) - // - - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - xml::sax::std_input_source isrc (is, system_id); - parse (isrc, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - xml::sax::std_input_source isrc (is, system_id); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is, system_id); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is, system_id); - parse (isrc, sax, f, p); - } - - - // parse (istream, system_id, public_id) - // - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - xml::sax::std_input_source isrc (is, system_id, public_id); - parse (isrc, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - xml::auto_initializer init ((f & flags::dont_initialize) == 0); - xml::sax::std_input_source isrc (is, system_id, public_id); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is, system_id, public_id); - parse (isrc, eh, f, p); - } - - template <typename C> - void document<C>:: - parse (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - xml::sax::std_input_source isrc (is, system_id, public_id); - parse (isrc, sax, f, p); - } - - - // parse (InputSource) - // - - - template <typename C> - void document<C>:: - parse (const xercesc::InputSource& is, - flags f, - const properties<C>& p) - { - error_handler<C> eh; - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (is, eh_proxy, *sax, f, p); - - eh.throw_if_failed (); - } - - template <typename C> - void document<C>:: - parse (const xercesc::InputSource& is, - xml::error_handler<C>& eh, - flags f, - const properties<C>& p) - { - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (is, eh_proxy, *sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - - template <typename C> - void document<C>:: - parse (const xercesc::InputSource& is, - xercesc::ErrorHandler& eh, - flags f, - const properties<C>& p) - { - xml::sax::bits::error_handler_proxy<C> eh_proxy (eh); - XSD_AUTO_PTR<xercesc::SAX2XMLReader> sax (create_sax_ (f, p)); - - parse (is, eh_proxy, *sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - - - template <typename C> - void document<C>:: - parse (const xercesc::InputSource& is, - xercesc::SAX2XMLReader& sax, - flags f, - const properties<C>& p) - { - // If there is no error handler, then fall back on the default - // implementation. - // - xercesc::ErrorHandler* eh (sax.getErrorHandler ()); - - if (eh) - { - xml::sax::bits::error_handler_proxy<C> eh_proxy (*eh); - - parse (is, eh_proxy, sax, f, p); - - if (eh_proxy.failed ()) - throw parsing<C> (); - } - else - { - error_handler<C> fallback_eh; - xml::sax::bits::error_handler_proxy<C> eh_proxy (fallback_eh); - - parse (is, eh_proxy, sax, f, p); - - fallback_eh.throw_if_failed (); - } - } - - namespace Bits - { - struct ErrorHandlingController - { - ErrorHandlingController (xercesc::SAX2XMLReader& sax, - xercesc::ErrorHandler& eh) - : sax_ (sax), eh_ (sax_.getErrorHandler ()) - { - sax_.setErrorHandler (&eh); - } - - ~ErrorHandlingController () - { - sax_.setErrorHandler (eh_); - } - - private: - xercesc::SAX2XMLReader& sax_; - xercesc::ErrorHandler* eh_; - }; - - struct ContentHandlingController - { - ContentHandlingController (xercesc::SAX2XMLReader& sax, - xercesc::ContentHandler& ch) - : sax_ (sax), ch_ (sax_.getContentHandler ()) - { - sax_.setContentHandler (&ch); - } - - ~ContentHandlingController () - { - sax_.setContentHandler (ch_); - } - - private: - xercesc::SAX2XMLReader& sax_; - xercesc::ContentHandler* ch_; - }; - }; - - template <typename C> - void document<C>:: - parse (const std::basic_string<C>& uri, - xercesc::ErrorHandler& eh, - xercesc::SAX2XMLReader& sax, - flags, - const properties<C>&) - { - event_router<C> router (*this, polymorphic_); - - Bits::ErrorHandlingController ehc (sax, eh); - Bits::ContentHandlingController chc (sax, router); - - try - { - sax.parse (xml::string (uri).c_str ()); - } - catch (const schema_exception<C>& e) - { - xml::string id (e.id ()); - - xercesc::SAXParseException se ( - xml::string (e.message ()).c_str (), - id.c_str (), - id.c_str (), - static_cast<XMLFileLoc> (e.line ()), - static_cast<XMLFileLoc> (e.column ())); - - eh.fatalError (se); - } - } - - template <typename C> - void document<C>:: - parse (const xercesc::InputSource& is, - xercesc::ErrorHandler& eh, - xercesc::SAX2XMLReader& sax, - flags, - const properties<C>&) - { - event_router<C> router (*this, polymorphic_); - - Bits::ErrorHandlingController controller (sax, eh); - Bits::ContentHandlingController chc (sax, router); - - try - { - sax.parse (is); - } - catch (const schema_exception<C>& e) - { - xml::string id (e.id ()); - - xercesc::SAXParseException se ( - xml::string (e.message ()).c_str (), - id.c_str (), - id.c_str (), - static_cast<XMLFileLoc> (e.line ()), - static_cast<XMLFileLoc> (e.column ())); - - eh.fatalError (se); - } - } - - - template <typename C> - XSD_AUTO_PTR<xercesc::SAX2XMLReader> document<C>:: - create_sax_ (flags f, const properties<C>& p) - { - using namespace xercesc; - - XSD_AUTO_PTR<SAX2XMLReader> sax ( - XMLReaderFactory::createXMLReader ()); - - sax->setFeature (XMLUni::fgSAX2CoreNameSpaces, true); - sax->setFeature (XMLUni::fgSAX2CoreNameSpacePrefixes, true); - sax->setFeature (XMLUni::fgXercesValidationErrorAsFatal, true); - - if (f & flags::dont_validate) - { - sax->setFeature (XMLUni::fgSAX2CoreValidation, false); - sax->setFeature (XMLUni::fgXercesSchema, false); - sax->setFeature (XMLUni::fgXercesSchemaFullChecking, false); - } - else - { - sax->setFeature (XMLUni::fgSAX2CoreValidation, true); - sax->setFeature (XMLUni::fgXercesSchema, true); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - if (!(f & flags::no_multiple_imports)) - sax->setFeature (XMLUni::fgXercesHandleMultipleImports, true); -#endif - // This feature checks the schema grammar for additional - // errors. We most likely do not need it when validating - // instances (assuming the schema is valid). - // - sax->setFeature (XMLUni::fgXercesSchemaFullChecking, false); - } - - // Transfer properies if any. - // - - if (!p.schema_location ().empty ()) - { - xml::string sl (p.schema_location ()); - const void* v (sl.c_str ()); - - sax->setProperty ( - XMLUni::fgXercesSchemaExternalSchemaLocation, - const_cast<void*> (v)); - } - - if (!p.no_namespace_schema_location ().empty ()) - { - xml::string sl (p.no_namespace_schema_location ()); - const void* v (sl.c_str ()); - - sax->setProperty ( - XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation, - const_cast<void*> (v)); - } - - return sax; - } - - // event_router - // - template <typename C> - event_router<C>:: - event_router (cxx::parser::document<C>& consumer, bool polymorphic) - : loc_ (0), consumer_ (consumer), polymorphic_ (polymorphic) - { - } - - template <typename C> - void event_router<C>:: - setDocumentLocator (const xercesc::Locator* const loc) - { - loc_ = loc; - } - - template <typename C> - void event_router<C>:: - startElement(const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const /*qname*/, - const xercesc::Attributes& attributes) - { - using xercesc::XMLUni; - using xercesc::XMLString; - - typedef std::basic_string<C> string; - - { - last_valid_ = true; - last_ns_ = xml::transcode<C> (uri); - last_name_ = xml::transcode<C> (lname); - - // Without this explicit construction IBM XL C++ complains - // about ro_string's copy ctor being private even though the - // temporary has been eliminated. Note that we cannot - // eliminate ns, name and value since ro_string does not make - // a copy. - // - ro_string<C> ro_ns (last_ns_); - ro_string<C> ro_name (last_name_); - - if (!polymorphic_) - { - try - { - consumer_.start_element (ro_ns, ro_name, 0); - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - else - { - // Search for the xsi:type attribute. - // - int i (attributes.getIndex ( - xercesc::SchemaSymbols::fgURI_XSI, - xercesc::SchemaSymbols::fgXSI_TYPE)); - - if (i == -1) - { - try - { - consumer_.start_element (ro_ns, ro_name, 0); - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - else - { - try - { - // @@ Probably need proper QName validation. - // - // Get the qualified type name and try to resolve it. - // - string qn (xml::transcode<C> (attributes.getValue (i))); - - ro_string<C> tp, tn; - typename string::size_type pos (qn.find (C (':'))); - - if (pos != string::npos) - { - tp.assign (qn.c_str (), pos); - tn.assign (qn.c_str () + pos + 1); - - if (tp.empty ()) - throw dynamic_type<C> (qn); - } - else - tn.assign (qn); - - if (tn.empty ()) - throw dynamic_type<C> (qn); - - // Search our namespace declaration stack. Sun CC 5.7 - // blows if we use const_reverse_iterator. - // - ro_string<C> tns; - for (typename ns_decls::reverse_iterator - it (ns_decls_.rbegin ()), e (ns_decls_.rend ()); - it != e; ++it) - { - if (it->prefix == tp) - { - tns.assign (it->ns); - break; - } - } - - if (!tp.empty () && tns.empty ()) - { - // The 'xml' prefix requires special handling. - // - if (tp == xml::bits::xml_prefix<C> ()) - tns.assign (xml::bits::xml_namespace<C> ()); - else - throw dynamic_type<C> (qn); - } - - // Construct the compound type id. - // - string id (tn.data (), tn.size ()); - - if (!tns.empty ()) - { - id += C (' '); - id.append (tns.data (), tns.size ()); - } - - ro_string<C> ro_id (id); - consumer_.start_element (ro_ns, ro_name, &ro_id); - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - } - } - - for (XMLSize_t i (0), end (attributes.getLength()); i < end; ++i) - { - const XMLCh* xns (attributes.getURI (i)); - - // When SAX2 reports the xmlns attribute, it does not include - // the proper attribute namespace. So we have to detect and - // rectify this case. - // - if (XMLString::equals (attributes.getQName (i), - XMLUni::fgXMLNSString)) - xns = XMLUni::fgXMLNSURIName; - - string ns (xml::transcode<C> (xns)); - string name (xml::transcode<C> (attributes.getLocalName (i))); - string value (xml::transcode<C> (attributes.getValue (i))); - - // Without this explicit construction IBM XL C++ complains - // about ro_string's copy ctor being private even though the - // temporary has been eliminated. Note that we cannot - // eliminate ns, name and value since ro_string does not make - // a copy. - // - ro_string<C> ro_ns (ns); - ro_string<C> ro_name (name); - ro_string<C> ro_value (value); - - try - { - consumer_.attribute (ro_ns, ro_name, ro_value); - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - } - - template <typename C> - void event_router<C>:: - endElement(const XMLCh* const uri, - const XMLCh* const lname, - const XMLCh* const /*qname*/) - { - typedef std::basic_string<C> string; - - try - { - // Without this explicit construction IBM XL C++ complains - // about ro_string's copy ctor being private even though the - // temporary has been eliminated. Note that we cannot - // eliminate ns, name and value since ro_string does not make - // a copy. - // - if (last_valid_) - { - last_valid_ = false; - ro_string<C> ro_ns (last_ns_); - ro_string<C> ro_name (last_name_); - - consumer_.end_element (ro_ns, ro_name); - } - else - { - string ns (xml::transcode<C> (uri)); - string name (xml::transcode<C> (lname)); - - ro_string<C> ro_ns (ns); - ro_string<C> ro_name (name); - - consumer_.end_element (ro_ns, ro_name); - } - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - - template <typename C> - void event_router<C>:: - characters (const XMLCh* const s, const XMLSize_t n) - { - typedef std::basic_string<C> string; - - if (n != 0) - { - string str (xml::transcode<C> (s, n)); - - // Without this explicit construction IBM XL C++ complains - // about ro_string's copy ctor being private even though the - // temporary has been eliminated. Note that we cannot - // eliminate str since ro_string does not make a copy. - // - ro_string<C> ro_str (str); - - try - { - consumer_.characters (ro_str); - } - catch (schema_exception<C>& e) - { - set_location (e); - throw; - } - } - } - - template <typename C> - void event_router<C>:: - startPrefixMapping (const XMLCh* const prefix, - const XMLCh* const uri) - { - if (polymorphic_) - { - typedef std::basic_string<C> string; - - string p (xml::transcode<C> (prefix)); - string ns (xml::transcode<C> (uri)); - - ns_decls_.push_back (ns_decl (p, ns)); - } - } - - template <typename C> - void event_router<C>:: - endPrefixMapping (const XMLCh* const prefix) - { - if (polymorphic_) - { - typedef std::basic_string<C> string; - - string p (xml::transcode<C> (prefix)); - - // Here we assume the prefixes are removed in the reverse - // order of them being added. This appears to how every - // sensible implementation works. - // - assert (ns_decls_.back ().prefix == p); - - ns_decls_.pop_back (); - } - } - - template <typename C> - void event_router<C>:: - set_location (schema_exception<C>& e) - { - if (loc_ != 0) - { - const XMLCh* id (loc_->getPublicId ()); - - if (id == 0) - id = loc_->getSystemId (); - - if (id != 0) - e.id (xml::transcode<C> (id)); - - e.line (static_cast<unsigned long> (loc_->getLineNumber ())); - e.column (static_cast<unsigned long> (loc_->getColumnNumber ())); - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx b/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx deleted file mode 100644 index cc3dd5f..0000000 --- a/xsd/libxsd/xsd/cxx/parser/xml-schema.hxx +++ /dev/null @@ -1,571 +0,0 @@ -// file : xsd/cxx/parser/xml-schema.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_PARSER_XML_SCHEMA_HXX -#define XSD_CXX_PARSER_XML_SCHEMA_HXX - -#include <string> -#include <vector> -#include <cstddef> // std::size_t - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // String sequence. Used for the NMTOKENS and IDREFS types. - // - template <typename C> - class string_sequence: public std::vector<std::basic_string<C> > - { - public: - typedef std::basic_string<C> value_type; - typedef std::vector<value_type> base; - typedef typename base::size_type size_type; - - string_sequence (); - - explicit - string_sequence (size_type n, const value_type& x = value_type ()); - - template <typename I> - string_sequence (const I& begin, const I& end); - }; - - template <typename C> - bool - operator== (const string_sequence<C>&, const string_sequence<C>&); - - template <typename C> - bool - operator!= (const string_sequence<C>&, const string_sequence<C>&); - - - // QName - // - template <typename C> - class qname - { - public: - explicit - qname (const std::basic_string<C>& name); - - qname (const std::basic_string<C>& prefix, - const std::basic_string<C>& name); - - void - swap (qname&); - - const std::basic_string<C>& - prefix () const; - - std::basic_string<C>& - prefix (); - - void - prefix (const std::basic_string<C>&); - - const std::basic_string<C>& - name () const; - - std::basic_string<C>& - name (); - - void - name (const std::basic_string<C>&); - - private: - std::basic_string<C> prefix_; - std::basic_string<C> name_; - }; - - template <typename C> - bool - operator== (const qname<C>&, const qname<C>&); - - template <typename C> - bool - operator!= (const qname<C>&, const qname<C>&); - - - // Binary buffer. Used for the base64Binary and hexBinary types. - // - class buffer - { - public: - typedef std::size_t size_t; - - class bounds {}; // Out of bounds exception. - - public: - ~buffer (); - - explicit - buffer (size_t size = 0); - buffer (size_t size, size_t capacity); - buffer (const void* data, size_t size); - buffer (const void* data, size_t size, size_t capacity); - - // If the assume_ownership argument is true, the buffer will - // assume the ownership of the data and will release the memory - // by calling operator delete (). - // - buffer (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - - buffer (const buffer&); - - public: - buffer& - operator= (const buffer&); - - public: - size_t - capacity () const; - - // Returns true if the underlying buffer has moved. - // - bool - capacity (size_t); - - public: - size_t - size () const; - - // Returns true if the underlying buffer has moved. - // - bool - size (size_t); - - public: - const char* - data () const; - - char* - data (); - - const char* - begin () const; - - char* - begin (); - - const char* - end () const; - - char* - end (); - - public: - void - swap (buffer&); - - private: - bool - capacity (size_t capacity, bool copy); - - private: - char* data_; - size_t size_; - size_t capacity_; - }; - - bool - operator== (const buffer&, const buffer&); - - bool - operator!= (const buffer&, const buffer&); - - - // Time and date types. - // - - class time_zone - { - public: - time_zone (); - time_zone (short hours, short minutes); - - // Returns true if time zone is specified. - // - bool - zone_present () const; - - // Resets the time zone to the 'not specified' state. - // - void - zone_reset (); - - short - zone_hours () const; - - void - zone_hours (short); - - short - zone_minutes () const; - - void - zone_minutes (short); - - private: - bool present_; - short hours_; - short minutes_; - }; - - bool - operator== (const time_zone&, const time_zone&); - - bool - operator!= (const time_zone&, const time_zone&); - - - class gday: public time_zone - { - public: - explicit - gday (unsigned short day); - gday (unsigned short day, short zone_hours, short zone_minutes); - - unsigned short - day () const; - - void - day (unsigned short); - - private: - unsigned short day_; - }; - - bool - operator== (const gday&, const gday&); - - bool - operator!= (const gday&, const gday&); - - - class gmonth: public time_zone - { - public: - explicit - gmonth (unsigned short month); - gmonth (unsigned short month, short zone_hours, short zone_minutes); - - unsigned short - month () const; - - void - month (unsigned short); - - private: - unsigned short month_; - }; - - bool - operator== (const gmonth&, const gmonth&); - - bool - operator!= (const gmonth&, const gmonth&); - - - class gyear: public time_zone - { - public: - explicit - gyear (int year); - gyear (int year, short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - private: - int year_; - }; - - bool - operator== (const gyear&, const gyear&); - - bool - operator!= (const gyear&, const gyear&); - - - class gmonth_day: public time_zone - { - public: - gmonth_day (unsigned short month, unsigned short day); - gmonth_day (unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - - private: - unsigned short month_; - unsigned short day_; - }; - - bool - operator== (const gmonth_day&, const gmonth_day&); - - bool - operator!= (const gmonth_day&, const gmonth_day&); - - - class gyear_month: public time_zone - { - public: - gyear_month (int year, unsigned short month); - gyear_month (int year, unsigned short month, - short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - private: - int year_; - unsigned short month_; - }; - - bool - operator== (const gyear_month&, const gyear_month&); - - bool - operator!= (const gyear_month&, const gyear_month&); - - - class date: public time_zone - { - public: - date (int year, unsigned short month, unsigned short day); - date (int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - - private: - int year_; - unsigned short month_; - unsigned short day_; - }; - - bool - operator== (const date&, const date&); - - bool - operator!= (const date&, const date&); - - - class time: public time_zone - { - public: - time (unsigned short hours, unsigned short minutes, double seconds); - time (unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes); - - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); - - private: - unsigned short hours_; - unsigned short minutes_; - double seconds_; - }; - - bool - operator== (const time&, const time&); - - bool - operator!= (const time&, const time&); - - - class date_time: public time_zone - { - public: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds); - - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes); - - int - year () const; - - void - year (int); - - unsigned short - month () const; - - void - month (unsigned short); - - unsigned short - day () const; - - void - day (unsigned short); - - unsigned short - hours () const; - - void - hours (unsigned short); - - unsigned short - minutes () const; - - void - minutes (unsigned short); - - double - seconds () const; - - void - seconds (double); - - private: - int year_; - unsigned short month_; - unsigned short day_; - unsigned short hours_; - unsigned short minutes_; - double seconds_; - }; - - bool - operator== (const date_time&, const date_time&); - - bool - operator!= (const date_time&, const date_time&); - - - class duration - { - public: - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds); - - bool - negative () const; - - void - negative (bool); - - unsigned int - years () const; - - void - years (unsigned int); - - unsigned int - months () const; - - void - months (unsigned int); - - unsigned int - days () const; - - void - days (unsigned int); - - unsigned int - hours () const; - - void - hours (unsigned int); - - unsigned int - minutes () const; - - void - minutes (unsigned int); - - double - seconds () const; - - void - seconds (double); - - private: - bool negative_; - unsigned int years_; - unsigned int months_; - unsigned int days_; - unsigned int hours_; - unsigned int minutes_; - double seconds_; - }; - - bool - operator== (const duration&, const duration&); - - bool - operator!= (const duration&, const duration&); - } - } -} - -#include <xsd/cxx/parser/xml-schema.ixx> -#include <xsd/cxx/parser/xml-schema.txx> - -#endif // XSD_CXX_PARSER_XML_SCHEMA_HXX diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx b/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx deleted file mode 100644 index 06ead34..0000000 --- a/xsd/libxsd/xsd/cxx/parser/xml-schema.ixx +++ /dev/null @@ -1,1021 +0,0 @@ -// file : xsd/cxx/parser/xml-schema.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <new> // operator new/delete -#include <cstring> // std::memcpy, std::memcmp - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // string_sequence - // - template <typename C> - string_sequence<C>:: - string_sequence () - { - } - - template <typename C> - string_sequence<C>:: - string_sequence (size_type n, const value_type& x) - : base (n, x) - { - } - - template <typename C> - template <typename I> - string_sequence<C>:: - string_sequence (const I& begin, const I& end) - : base (begin, end) - { - } - - template <typename C> - inline bool - operator!= (const string_sequence<C>& a, const string_sequence<C>& b) - { - return !(a == b); - } - - // qname - // - template <typename C> - inline qname<C>:: - qname (const std::basic_string<C>& name) - : name_ (name) - { - } - - template <typename C> - inline qname<C>:: - qname (const std::basic_string<C>& prefix, - const std::basic_string<C>& name) - : prefix_ (prefix), name_ (name) - { - } - - template <typename C> - void qname<C>:: - swap (qname<C>& x) - { - prefix_.swap (x.prefix_); - name_.swap (x.name_); - } - - template <typename C> - inline const std::basic_string<C>& qname<C>:: - prefix () const - { - return prefix_; - } - - template <typename C> - inline std::basic_string<C>& qname<C>:: - prefix () - { - return prefix_; - } - - template <typename C> - inline void qname<C>:: - prefix (const std::basic_string<C>& prefix) - { - prefix_ = prefix; - } - - template <typename C> - inline const std::basic_string<C>& qname<C>:: - name () const - { - return name_; - } - - template <typename C> - inline std::basic_string<C>& qname<C>:: - name () - { - return name_; - } - - template <typename C> - inline void qname<C>:: - name (const std::basic_string<C>& name) - { - name_ = name; - } - - template <typename C> - inline bool - operator== (const qname<C>& a, const qname<C>& b) - { - return a.prefix () == b.prefix () && a.name () == b.name (); - } - - template <typename C> - inline bool - operator!= (const qname<C>& a, const qname<C>& b) - { - return !(a == b); - } - - // buffer - // - inline buffer:: - ~buffer () - { - if (data_) - operator delete (data_); - } - - inline buffer:: - buffer (size_t size) - : data_ (0), size_ (0), capacity_ (0) - { - capacity (size); - size_ = size; - } - - inline buffer:: - buffer (size_t size, size_t cap) - : data_ (0), size_ (0), capacity_ (0) - { - if (size > cap) - throw bounds (); - - capacity (cap); - size_ = size; - } - - inline buffer:: - buffer (const void* data, size_t size) - : data_ (0), size_ (0), capacity_ (0) - { - capacity (size); - size_ = size; - - if (size_) - std::memcpy (data_, data, size_); - } - - inline buffer:: - buffer (const void* data, size_t size, size_t cap) - : data_ (0), size_ (0), capacity_ (0) - { - if (size > cap) - throw bounds (); - - capacity (cap); - size_ = size; - - if (size_) - std::memcpy (data_, data, size_); - } - - inline buffer:: - buffer (void* data, size_t size, size_t cap, bool own) - : data_ (0), size_ (0), capacity_ (0) - { - if (size > cap) - throw bounds (); - - if (own) - { - data_ = reinterpret_cast<char*> (data); - size_ = size; - capacity_ = cap; - } - else - { - capacity (cap); - size_ = size; - - if (size_) - std::memcpy (data_, data, size_); - } - } - - inline buffer:: - buffer (const buffer& other) - : data_ (0), size_ (0), capacity_ (0) - { - capacity (other.capacity_); - size_ = other.size_; - - if (size_) - std::memcpy (data_, other.data_, size_); - } - - inline buffer& buffer:: - operator= (const buffer& other) - { - if (this != &other) - { - capacity (other.capacity_, false); - size_ = other.size_; - - if (size_) - std::memcpy (data_, other.data_, size_); - } - - return *this; - } - - inline size_t buffer:: - capacity () const - { - return capacity_; - } - - inline bool buffer:: - capacity (size_t cap) - { - return capacity (cap, true); - } - - inline size_t buffer:: - size () const - { - return size_; - } - - inline bool buffer:: - size (size_t size) - { - bool r (false); - - if (size > capacity_) - r = capacity (size); - - size_ = size; - - return r; - } - - inline const char* buffer:: - data () const - { - return data_; - } - - inline char* buffer:: - data () - { - return data_; - } - - inline const char* buffer:: - begin () const - { - return data_; - } - - inline char* buffer:: - begin () - { - return data_; - } - - inline const char* buffer:: - end () const - { - return data_ + size_; - } - - inline char* buffer:: - end () - { - return data_ + size_; - } - - inline void buffer:: - swap (buffer& other) - { - char* tmp_data (data_); - size_t tmp_size (size_); - size_t tmp_capacity (capacity_); - - data_ = other.data_; - size_ = other.size_; - capacity_ = other.capacity_; - - other.data_ = tmp_data; - other.size_ = tmp_size; - other.capacity_ = tmp_capacity; - } - - inline bool buffer:: - capacity (size_t capacity, bool copy) - { - if (size_ > capacity) - throw bounds (); - - if (capacity <= capacity_) - { - return false; // Do nothing if shrinking is requested. - } - else - { - char* data (reinterpret_cast<char*> (operator new (capacity))); - - if (copy && size_ > 0) - std::memcpy (data, data_, size_); - - if (data_) - operator delete (data_); - - data_ = data; - capacity_ = capacity; - - return true; - } - } - - inline bool - operator== (const buffer& a, const buffer& b) - { - return a.size () == b.size () && - std::memcmp (a.data (), b.data (), a.size ()) == 0; - } - - inline bool - operator!= (const buffer& a, const buffer& b) - { - return !(a == b); - } - - // time_zone - // - inline time_zone:: - time_zone () - : present_ (false) - { - } - - inline time_zone:: - time_zone (short h, short m) - : present_ (true), hours_ (h), minutes_ (m) - { - } - - inline bool time_zone:: - zone_present () const - { - return present_; - } - - inline void time_zone:: - zone_reset () - { - present_ = false; - } - - inline short time_zone:: - zone_hours () const - { - return hours_; - } - - inline void time_zone:: - zone_hours (short h) - { - hours_ = h; - present_ = true; - } - - inline short time_zone:: - zone_minutes () const - { - return minutes_; - } - - inline void time_zone:: - zone_minutes (short m) - { - minutes_ = m; - present_ = true; - } - - inline bool - operator== (const time_zone& x, const time_zone& y) - { - return x.zone_present () - ? y.zone_present () && - x.zone_hours () == y.zone_hours () && - x.zone_minutes () == y.zone_minutes () - : !y.zone_present (); - } - - inline bool - operator!= (const time_zone& x, const time_zone& y) - { - return !(x == y); - } - - // gday - // - inline gday:: - gday (unsigned short day) - : day_ (day) - { - } - - inline gday:: - gday (unsigned short day, short zh, short zm) - : time_zone (zh, zm), day_ (day) - { - } - - inline unsigned short gday:: - day () const - { - return day_; - } - - inline void gday:: - day (unsigned short day) - { - day_ = day; - } - - inline bool - operator== (const gday& a, const gday& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.day () == b.day () && az == bz; - } - - inline bool - operator!= (const gday& a, const gday& b) - { - return !(a == b); - } - - // gmonth - // - inline gmonth:: - gmonth (unsigned short month) - : month_ (month) - { - } - - inline gmonth:: - gmonth (unsigned short month, short zh, short zm) - : time_zone (zh, zm), month_ (month) - { - } - - inline unsigned short gmonth:: - month () const - { - return month_; - } - - inline void gmonth:: - month (unsigned short month) - { - month_ = month; - } - - inline bool - operator== (const gmonth& a, const gmonth& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.month () == b.month () && az == bz; - } - - inline bool - operator!= (const gmonth& a, const gmonth& b) - { - return !(a == b); - } - - // gyear - // - inline gyear:: - gyear (int year) - : year_ (year) - { - } - - inline gyear:: - gyear (int year, short zh, short zm) - : time_zone (zh, zm), year_ (year) - { - } - - inline int gyear:: - year () const - { - return year_; - } - - inline void gyear:: - year (int year) - { - year_ = year; - } - - inline bool - operator== (const gyear& a, const gyear& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.year () == b.year () && az == bz; - } - - inline bool - operator!= (const gyear& a, const gyear& b) - { - return !(a == b); - } - - // gmonth_day - // - inline gmonth_day:: - gmonth_day (unsigned short month, unsigned short day) - : month_ (month), day_ (day) - { - } - - inline gmonth_day:: - gmonth_day (unsigned short month, - unsigned short day, - short zh, short zm) - : time_zone (zh, zm), month_ (month), day_ (day) - { - } - - inline unsigned short gmonth_day:: - month () const - { - return month_; - } - - inline void gmonth_day:: - month (unsigned short month) - { - month_ = month; - } - - inline unsigned short gmonth_day:: - day () const - { - return day_; - } - - inline void gmonth_day:: - day (unsigned short day) - { - day_ = day; - } - - inline bool - operator== (const gmonth_day& a, const gmonth_day& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.month () == b.month () && - a.day () == b.day () && - az == bz; - } - - inline bool - operator!= (const gmonth_day& a, const gmonth_day& b) - { - return !(a == b); - } - - // gyear_month - // - inline gyear_month:: - gyear_month (int year, unsigned short month) - : year_ (year), month_ (month) - { - } - - inline gyear_month:: - gyear_month (int year, unsigned short month, - short zh, short zm) - : time_zone (zh, zm), year_ (year), month_ (month) - { - } - - inline int gyear_month:: - year () const - { - return year_; - } - - inline void gyear_month:: - year (int year) - { - year_ = year; - } - - inline unsigned short gyear_month:: - month () const - { - return month_; - } - - inline void gyear_month:: - month (unsigned short month) - { - month_ = month; - } - - inline bool - operator== (const gyear_month& a, const gyear_month& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.year () == b.year () && - a.month () == b.month () && - az == bz; - } - - inline bool - operator!= (const gyear_month& a, const gyear_month& b) - { - return !(a == b); - } - - // date - // - inline date:: - date (int year, unsigned short month, unsigned short day) - : year_ (year), month_ (month), day_ (day) - { - } - - inline date:: - date (int year, unsigned short month, unsigned short day, - short zh, short zm) - : time_zone (zh, zm), year_ (year), month_ (month), day_ (day) - { - } - - inline int date:: - year () const - { - return year_; - } - - inline void date:: - year (int year) - { - year_ = year; - } - - inline unsigned short date:: - month () const - { - return month_; - } - - inline void date:: - month (unsigned short month) - { - month_ = month; - } - - inline unsigned short date:: - day () const - { - return day_; - } - - inline void date:: - day (unsigned short day) - { - day_ = day; - } - - inline bool - operator== (const date& a, const date& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.year () == b.year () && - a.month () == b.month () && - a.day () == b.day () && - az == bz; - } - - inline bool - operator!= (const date& a, const date& b) - { - return !(a == b); - } - - // time - // - inline time:: - time (unsigned short hours, unsigned short minutes, double seconds) - : hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - inline time:: - time (unsigned short hours, unsigned short minutes, double seconds, - short zh, short zm) - : time_zone (zh, zm), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - inline unsigned short time:: - hours () const - { - return hours_; - } - - inline void time:: - hours (unsigned short hours) - { - hours_ = hours; - } - - inline unsigned short time:: - minutes () const - { - return minutes_; - } - - inline void time:: - minutes (unsigned short minutes) - { - minutes_ = minutes; - } - - inline double time:: - seconds () const - { - return seconds_; - } - - inline void time:: - seconds (double seconds) - { - seconds_ = seconds; - } - - inline bool - operator== (const time& a, const time& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.hours () == b.hours () && - a.minutes () == b.minutes () && - a.seconds () == b.seconds () && - az == bz; - } - - inline bool - operator!= (const time& a, const time& b) - { - return !(a == b); - } - - // date_time - // - inline date_time:: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds) - : year_ (year), month_ (month), day_ (day), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - inline date_time:: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds, - short zh, short zm) - : time_zone (zh, zm), - year_ (year), month_ (month), day_ (day), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - inline int date_time:: - year () const - { - return year_; - } - - inline void date_time:: - year (int year) - { - year_ = year; - } - - inline unsigned short date_time:: - month () const - { - return month_; - } - - inline void date_time:: - month (unsigned short month) - { - month_ = month; - } - - inline unsigned short date_time:: - day () const - { - return day_; - } - - inline void date_time:: - day (unsigned short day) - { - day_ = day; - } - - inline unsigned short date_time:: - hours () const - { - return hours_; - } - - inline void date_time:: - hours (unsigned short hours) - { - hours_ = hours; - } - - inline unsigned short date_time:: - minutes () const - { - return minutes_; - } - - inline void date_time:: - minutes (unsigned short minutes) - { - minutes_ = minutes; - } - - inline double date_time:: - seconds () const - { - return seconds_; - } - - inline void date_time:: - seconds (double seconds) - { - seconds_ = seconds; - } - - inline bool - operator== (const date_time& a, const date_time& b) - { - const time_zone& az = a; - const time_zone& bz = b; - - return a.year () == b.year () && - a.month () == b.month () && - a.day () == b.day () && - a.hours () == b.hours () && - a.minutes () == b.minutes () && - a.seconds () == b.seconds () && - az == bz; - } - - inline bool - operator!= (const date_time& a, const date_time& b) - { - return !(a == b); - } - - // duration - // - inline duration:: - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds) - : negative_ (negative), - years_ (years), months_ (months), days_ (days), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - inline bool duration:: - negative () const - { - return negative_; - } - - inline void duration:: - negative (bool negative) - { - negative_ = negative; - } - - inline unsigned int duration:: - years () const - { - return years_; - } - - inline void duration:: - years (unsigned int years) - { - years_ = years; - } - - inline unsigned int duration:: - months () const - { - return months_; - } - - inline void duration:: - months (unsigned int months) - { - months_ = months; - } - - inline unsigned int duration:: - days () const - { - return days_; - } - - inline void duration:: - days (unsigned int days) - { - days_ = days; - } - - inline unsigned int duration:: - hours () const - { - return hours_; - } - - inline void duration:: - hours (unsigned int hours) - { - hours_ = hours; - } - - inline unsigned int duration:: - minutes () const - { - return minutes_; - } - - inline void duration:: - minutes (unsigned int minutes) - { - minutes_ = minutes; - } - - inline double duration:: - seconds () const - { - return seconds_; - } - - inline void duration:: - seconds (double seconds) - { - seconds_ = seconds; - } - - inline bool - operator== (const duration& a, const duration& b) - { - return a.negative () == b.negative () && - a.years () == b.years () && - a.months () == b.months () && - a.days () == b.days () && - a.hours () == b.hours () && - a.minutes () == b.minutes () && - a.seconds () == b.seconds (); - } - - inline bool - operator!= (const duration& a, const duration& b) - { - return !(a == b); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/parser/xml-schema.txx b/xsd/libxsd/xsd/cxx/parser/xml-schema.txx deleted file mode 100644 index 90e558d..0000000 --- a/xsd/libxsd/xsd/cxx/parser/xml-schema.txx +++ /dev/null @@ -1,33 +0,0 @@ -// file : xsd/cxx/parser/xml-schema.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace parser - { - // string_sequence - // - template <typename C> - bool - operator== (const string_sequence<C>& a, const string_sequence<C>& b) - { - if (a.size () != b.size ()) - return false; - - for (typename string_sequence<C>::const_iterator - ai (a.begin ()), bi (b.begin ()), ae (a.end ()); - ai != ae; ++ai, ++bi) - { - if (*ai != *bi) - return false; - } - - return true; - } - } - } -} - diff --git a/xsd/libxsd/xsd/cxx/post.hxx b/xsd/libxsd/xsd/cxx/post.hxx deleted file mode 100644 index 7a9c63e..0000000 --- a/xsd/libxsd/xsd/cxx/post.hxx +++ /dev/null @@ -1,9 +0,0 @@ -// file : xsd/cxx/post.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifdef _MSC_VER -# if (_MSC_VER >= 1400) -# include <xsd/cxx/compilers/vc-8/post.hxx> -# endif -#endif diff --git a/xsd/libxsd/xsd/cxx/pre.hxx b/xsd/libxsd/xsd/cxx/pre.hxx deleted file mode 100644 index f0633c9..0000000 --- a/xsd/libxsd/xsd/cxx/pre.hxx +++ /dev/null @@ -1,11 +0,0 @@ -// file : xsd/cxx/pre.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifdef _MSC_VER -# if (_MSC_VER >= 1400) -# include <xsd/cxx/compilers/vc-8/pre.hxx> -# else -# error Microsoft Visual C++ 7.1 and earlier are not supported -# endif -#endif diff --git a/xsd/libxsd/xsd/cxx/ro-string.hxx b/xsd/libxsd/xsd/cxx/ro-string.hxx deleted file mode 100644 index 2140e44..0000000 --- a/xsd/libxsd/xsd/cxx/ro-string.hxx +++ /dev/null @@ -1,429 +0,0 @@ -// file : xsd/cxx/ro-string.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_RO_STRING_HXX -#define XSD_CXX_RO_STRING_HXX - -#include <string> -#include <cstddef> // std::size_t -#include <ostream> - -namespace xsd -{ - namespace cxx - { - // Read-only string class template. - // - template <typename C> - class ro_string - { - public: - typedef std::char_traits<C> traits_type; - typedef std::size_t size_type; - - static const size_type npos = ~(size_type (0)); - - public: - ro_string () - : data_ (0), size_ (0) - { - } - - ro_string (const C* s) - : data_ (s), size_ (traits_type::length (s)) - { - } - - ro_string (const C* s, size_type size) - : data_ (s), size_ (size) - { - } - - ro_string (const std::basic_string<C>& s) - : data_ (s.data ()), size_ (s.size ()) - { - } - - operator std::basic_string<C> () const - { - return std::basic_string<C> (data (), size ()); - } - - private: - ro_string (const ro_string&); - - ro_string& - operator= (const ro_string&); - - public: - // The returned string is not necessarily terminated with '\0'. - // If size() returns 0, the returned pointer may be 0. - // - const C* - data () const - { - return data_; - } - - size_type - size () const - { - return size_; - } - - size_type - length () const - { - return size (); - } - - public: - bool - empty () const - { - return size () == 0; - } - - const C& - operator[] (size_type pos) const - { - return data ()[pos]; - } - - public: - void - assign (const C* s) - { - data_ = s; - size_ = traits_type::length (s); - } - - void - assign (const C* s, size_type size) - { - data_ = s; - size_ = size; - } - - void - assign (const std::basic_string<C>& s) - { - data_ = s.c_str (); - size_ = s.size (); - } - - public: - int - compare (const ro_string& str) const - { - return compare (str.data (), str.size ()); - } - - int - compare (const std::basic_string<C>& str) const - { - return compare (str.c_str (), str.size ()); - } - - int - compare (const C* str) const - { - return compare (str, traits_type::length (str)); - } - - int - compare (const C* str, size_type n) const - { - size_type s1 (size ()); - size_type s (s1 < n ? s1 : n); - - int r (s != 0 ? traits_type::compare (data (), str, s) : 0); - - if (!r && s1 != n) - r = s1 < n ? -1 : 1; - - return r; - } - - public: - size_type - find (C c, size_type pos = 0) const; - - private: - const C* data_; - size_type size_; - }; - - // operator== - // - template <typename C> - inline bool - operator== (const ro_string<C>& a, const ro_string<C>& b) - { - return a.compare (b) == 0; - } - - template <typename C> - inline bool - operator== (const ro_string<C>& a, const std::basic_string<C>& b) - { - return a.compare (b) == 0; - } - - template <typename C> - inline bool - operator== (const std::basic_string<C>& a, const ro_string<C>& b) - { - return b.compare (a) == 0; - } - - template <typename C> - inline bool - operator== (const ro_string<C>& a, const C* b) - { - return a.compare (b) == 0; - } - - template <typename C> - inline bool - operator== (const C* a, const ro_string<C>& b) - { - return b.compare (a) == 0; - } - - // operator!= - // - template <typename C> - inline bool - operator!= (const ro_string<C>& a, const ro_string<C>& b) - { - return a.compare (b) != 0; - } - - template <typename C> - inline bool - operator!= (const ro_string<C>& a, const std::basic_string<C>& b) - { - return a.compare (b) != 0; - } - - template <typename C> - inline bool - operator!= (const std::basic_string<C>& a, const ro_string<C>& b) - { - return b.compare (a) != 0; - } - - template <typename C> - inline bool - operator!= (const ro_string<C>& a, const C* b) - { - return a.compare (b) != 0; - } - - template <typename C> - inline bool - operator!= (const C* a, const ro_string<C>& b) - { - return b.compare (a) != 0; - } - - // operator< - // - template <typename C> - inline bool - operator< (const ro_string<C>& l, const ro_string<C>& r) - { - return l.compare (r) < 0; - } - - template <typename C> - inline bool - operator< (const ro_string<C>& l, const std::basic_string<C>& r) - { - return l.compare (r) < 0; - } - - template <typename C> - inline bool - operator< (const std::basic_string<C>& l, const ro_string<C>& r) - { - return r.compare (l) > 0; - } - - template <typename C> - inline bool - operator< (const ro_string<C>& l, const C* r) - { - return l.compare (r) < 0; - } - - template <typename C> - inline bool - operator< (const C* l, const ro_string<C>& r) - { - return r.compare (l) > 0; - } - - - // operator> - // - template <typename C> - inline bool - operator> (const ro_string<C>& l, const ro_string<C>& r) - { - return l.compare (r) > 0; - } - - template <typename C> - inline bool - operator> (const ro_string<C>& l, const std::basic_string<C>& r) - { - return l.compare (r) > 0; - } - - template <typename C> - inline bool - operator> (const std::basic_string<C>& l, const ro_string<C>& r) - { - return r.compare (l) < 0; - } - - template <typename C> - inline bool - operator> (const ro_string<C>& l, const C* r) - { - return l.compare (r) > 0; - } - - template <typename C> - inline bool - operator> (const C* l, const ro_string<C>& r) - { - return r.compare (l) < 0; - } - - // operator<= - // - template <typename C> - inline bool - operator<= (const ro_string<C>& l, const ro_string<C>& r) - { - return l.compare (r) <= 0; - } - - template <typename C> - inline bool - operator<= (const ro_string<C>& l, const std::basic_string<C>& r) - { - return l.compare (r) <= 0; - } - - template <typename C> - inline bool - operator<= (const std::basic_string<C>& l, const ro_string<C>& r) - { - return r.compare (l) >= 0; - } - - template <typename C> - inline bool - operator<= (const ro_string<C>& l, const C* r) - { - return l.compare (r) <= 0; - } - - template <typename C> - inline bool - operator<= (const C* l, const ro_string<C>& r) - { - return r.compare (l) >= 0; - } - - - // operator>= - // - template <typename C> - inline bool - operator>= (const ro_string<C>& l, const ro_string<C>& r) - { - return l.compare (r) >= 0; - } - - template <typename C> - inline bool - operator>= (const ro_string<C>& l, const std::basic_string<C>& r) - { - return l.compare (r) >= 0; - } - - template <typename C> - inline bool - operator>= (const std::basic_string<C>& l, const ro_string<C>& r) - { - return r.compare (l) <= 0; - } - - template <typename C> - inline bool - operator>= (const ro_string<C>& l, const C* r) - { - return l.compare (r) >= 0; - } - - template <typename C> - inline bool - operator>= (const C* l, const ro_string<C>& r) - { - return r.compare (l) <= 0; - } - - // operator<< - // - template<typename C> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const ro_string<C>& str) - { - if (str.size () != 0) - os.write (str.data (), static_cast<std::streamsize> (str.size ())); - - return os; - } - - // operator+= - // - template<typename C> - std::basic_string<C>& - operator+= (std::basic_string<C>& l, const ro_string<C>& r) - { - l.append (r.data (), r.size ()); - return l; - } - - // Trim leading and trailing XML whitespaces. Return the new - // string size. - // - template <typename C> - typename ro_string<C>::size_type - trim_left (ro_string<C>&); - - template <typename C> - typename ro_string<C>::size_type - trim_right (ro_string<C>&); - - template <typename C> - typename ro_string<C>::size_type - trim (ro_string<C>&); - - // Trim leading and trailing XML whitespaces. - // - template<typename C> - std::basic_string<C> - trim (const std::basic_string<C>&); - } -} - -#include <xsd/cxx/ro-string.txx> - -#endif // XSD_CXX_RO_STRING_HXX diff --git a/xsd/libxsd/xsd/cxx/ro-string.txx b/xsd/libxsd/xsd/cxx/ro-string.txx deleted file mode 100644 index 56d5bbd..0000000 --- a/xsd/libxsd/xsd/cxx/ro-string.txx +++ /dev/null @@ -1,132 +0,0 @@ -// file : xsd/cxx/ro-string.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - template <typename C> - typename ro_string<C>::size_type ro_string<C>:: - find (C c, size_type pos) const - { - size_type r (npos); - - if (pos < size_) - { - if (const C* p = traits_type::find(data_ + pos, size_ - pos, c)) - r = p - data_; - } - - return r; - } - - template<typename C> - typename ro_string<C>::size_type - trim_left (ro_string<C>& s) - { - typename ro_string<C>::size_type size (s.size ()); - - if (size != 0) - { - const C* f (s.data ()); - const C* l (f + size); - const C* of (f); - - while (f < l && - (*f == C (0x20) || *f == C (0x0A) || - *f == C (0x0D) || *f == C (0x09))) - ++f; - - if (f != of) - { - size = f <= l ? l - f : 0; - s.assign ((f <= l ? f : 0), size); - } - } - - return size; - } - - template<typename C> - typename ro_string<C>::size_type - trim_right (ro_string<C>& s) - { - typename ro_string<C>::size_type size (s.size ()); - - if (size != 0) - { - const C* f (s.data ()); - const C* l (f + size - 1); - const C* ol (l); - - while (l > f && - (*l == C (0x20) || *l == C (0x0A) || - *l == C (0x0D) || *l == C (0x09))) - --l; - - if (l != ol) - { - size = f <= l ? l - f + 1 : 0; - s.assign ((f <= l ? f : 0), size); - } - } - - return size; - } - - template<typename C> - typename ro_string<C>::size_type - trim (ro_string<C>& s) - { - typename ro_string<C>::size_type size (s.size ()); - - if (size != 0) - { - const C* f (s.data ()); - const C* l (f + size); - - const C* of (f); - - while (f < l && - (*f == C (0x20) || *f == C (0x0A) || - *f == C (0x0D) || *f == C (0x09))) - ++f; - - --l; - - const C* ol (l); - - while (l > f && - (*l == C (0x20) || *l == C (0x0A) || - *l == C (0x0D) || *l == C (0x09))) - --l; - - if (f != of || l != ol) - { - size = f <= l ? l - f + 1 : 0; - s.assign ((f <= l ? f : 0), size); - } - } - - return size; - } - - template<typename C> - std::basic_string<C> - trim (const std::basic_string<C>& s) - { - ro_string<C> tmp (s); - typename ro_string<C>::size_type size (tmp.size ()); - trim (tmp); - - // If we didn't change the string then return the original to help - // avoid copying for smart (ref counted) string implementations. - // - if (size == tmp.size ()) - return s; - else - return tmp; - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-common.hxx b/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-common.hxx deleted file mode 100644 index 7a9fbff..0000000 --- a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-common.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : xsd/cxx/tree/ace-cdr-stream-common.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX -#define XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX - -#include <xsd/cxx/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Base exception for ACE CDR insertion/extraction exceptions. - // - struct ace_cdr_stream_operation: xsd::cxx::exception - { - }; - } - } -} - -#endif // XSD_CXX_TREE_ACE_CDR_STREAM_COMMON_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-extraction.hxx b/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-extraction.hxx deleted file mode 100644 index b843ffa..0000000 --- a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-extraction.hxx +++ /dev/null @@ -1,347 +0,0 @@ -// file : xsd/cxx/tree/ace-cdr-stream-extraction.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX -#define XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX - -#include <cstddef> // std::size_t -#include <string> - -#include <ace/ACE.h> // ACE::strdelete -#include <ace/CDR_Stream.h> - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/istream.hxx> -#include <xsd/cxx/tree/ace-cdr-stream-common.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - struct ace_cdr_stream_extraction: ace_cdr_stream_operation - { - virtual const char* - what () const throw () - { - return "ACE CDR stream extraction operation failed"; - } - }; - - - // as_size - // - -#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_size<T>& x) - { - ACE_CDR::ULongLong r; - - if (!s.impl ().read_ulonglong (r) || - r > ~(T (0))) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } -#else - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_size<T>& x) - { - ACE_CDR::ULong r; - - if (!s.impl ().read_ulong (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } -#endif - - - // 8-bit - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_int8<T>& x) - { - ACE_CDR::Octet r; - - if (!s.impl ().read_octet (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_uint8<T>& x) - { - ACE_CDR::Octet r; - - if (!s.impl ().read_octet (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - - // 16-bit - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_int16<T>& x) - { - ACE_CDR::Short r; - - if (!s.impl ().read_short (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_uint16<T>& x) - { - ACE_CDR::UShort r; - - if (!s.impl ().read_ushort (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - - // 32-bit - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_int32<T>& x) - { - ACE_CDR::Long r; - - if (!s.impl ().read_long (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_uint32<T>& x) - { - ACE_CDR::ULong r; - - if (!s.impl ().read_ulong (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - - // 64-bit - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_int64<T>& x) - { - ACE_CDR::LongLong r; - - if (!s.impl ().read_longlong (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_uint64<T>& x) - { - ACE_CDR::ULongLong r; - - if (!s.impl ().read_ulonglong (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - - // Boolean - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_bool<T>& x) - { - ACE_CDR::Boolean r; - - if (!s.impl ().read_boolean (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - - // Floating-point - // - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_float32<T>& x) - { - ACE_CDR::Float r; - - if (!s.impl ().read_float (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - template <typename T> - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, - istream<ACE_InputCDR>::as_float64<T>& x) - { - ACE_CDR::Double r; - - if (!s.impl ().read_double (r)) - throw ace_cdr_stream_extraction (); - - x.x_ = static_cast<T> (r); - - return s; - } - - // Extraction of std::basic_string. - // - - namespace bits - { - template <typename C> - struct ace_str_deleter - { - void - operator() (C* s) const - { - ACE::strdelete (s); - } - }; - } - - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, std::basic_string<char>& x) - { - typedef bits::ace_str_deleter<char> deleter; - - deleter d; - char* r; - - if (!s.impl ().read_string (r)) - throw ace_cdr_stream_extraction (); - -#ifdef XSD_CXX11 - std::unique_ptr<char[], deleter&> ar ( -#else - auto_array<char, deleter> ar ( -#endif - r, d); - - x = r; - return s; - } - -#ifdef ACE_HAS_WCHAR - inline istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, std::basic_string<wchar_t>& x) - { - typedef bits::ace_str_deleter<wchar_t> deleter; - - deleter d; - wchar_t* r; - - if (!s.impl ().read_wstring (r)) - throw ace_cdr_stream_extraction (); - -#ifdef XSD_CXX11 - std::unique_ptr<wchar_t[], deleter&> ar ( -#else - auto_array<wchar_t, deleter> ar ( -#endif - r, d); - - x = r; - return s; - } -#endif - - - // Extraction of a binary buffer. - // - template <typename C> - istream<ACE_InputCDR>& - operator>> (istream<ACE_InputCDR>& s, buffer<C>& x) - { - ACE_CDR::ULong size; - - if (!s.impl ().read_ulong (size)) - throw ace_cdr_stream_extraction (); - - x.size (size); - - if (!s.impl ().read_octet_array ( - reinterpret_cast<ACE_CDR::Octet*> (x.data ()), size)) - throw ace_cdr_stream_extraction (); - - return s; - } - } - } -} - -#endif // XSD_CXX_TREE_ACE_CDR_STREAM_EXTRACTION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-insertion.hxx b/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-insertion.hxx deleted file mode 100644 index 3fa92ad..0000000 --- a/xsd/libxsd/xsd/cxx/tree/ace-cdr-stream-insertion.hxx +++ /dev/null @@ -1,248 +0,0 @@ -// file : xsd/cxx/tree/ace-cdr-stream-insertion.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX -#define XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX - -#include <cstddef> // std::size_t -#include <string> - -#include <ace/CDR_Stream.h> - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/ostream.hxx> -#include <xsd/cxx/tree/ace-cdr-stream-common.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - struct ace_cdr_stream_insertion: ace_cdr_stream_operation - { - virtual const char* - what () const throw () - { - return "ACE CDR stream insertion operation failed"; - } - }; - - - // as_size - // - -#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_size<T> x) - { - if (!s.impl ().write_ulonglong ( - static_cast<ACE_CDR::ULongLong> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } -#else - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_size<T> x) - { - if (x.x_ > ~(ACE_CDR::ULong (0)) || - !s.impl ().write_ulong (static_cast<ACE_CDR::ULong> (x.x_))) - throw ace_cdr_stream_insertion (); - - return s; - } -#endif - - - // 8-bit - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_int8<T> x) - { - ACE_CDR::Octet r (static_cast<ACE_CDR::Octet> (x.x_)); - - if (!s.impl ().write_octet (r)) - throw ace_cdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_uint8<T> x) - { - ACE_CDR::Octet r (static_cast<ACE_CDR::Octet> (x.x_)); - - if (!s.impl ().write_octet (r)) - throw ace_cdr_stream_insertion (); - - return s; - } - - - // 16-bit - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_int16<T> x) - { - if (!s.impl ().write_short (static_cast<ACE_CDR::Short> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_uint16<T> x) - { - if (!s.impl ().write_ushort (static_cast<ACE_CDR::UShort> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - - // 32-bit - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_int32<T> x) - { - if (!s.impl ().write_long (static_cast<ACE_CDR::Long> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_uint32<T> x) - { - if (!s.impl ().write_ulong (static_cast<ACE_CDR::ULong> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - - // 64-bit - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_int64<T> x) - { - if (!s.impl ().write_longlong (static_cast<ACE_CDR::LongLong> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_uint64<T> x) - { - if (!s.impl ().write_ulonglong ( - static_cast<ACE_CDR::ULongLong> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - - // Boolean - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_bool<T> x) - { - if (!s.impl ().write_boolean (static_cast<ACE_CDR::Boolean> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - - // Floating-point - // - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_float32<T> x) - { - if (!s.impl ().write_float (static_cast<ACE_CDR::Float> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - template <typename T> - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - ostream<ACE_OutputCDR>::as_float64<T> x) - { - if (!s.impl ().write_double (static_cast<ACE_CDR::Double> (x.x_))) - throw ace_cdr_stream_insertion (); - return s; - } - - // Insertion of std::basic_string. - // - - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, const std::basic_string<char>& x) - { - // ACE CDR strings are hard-wired with a 32 bit length. - // - if (x.length () > ~(ACE_CDR::ULong (0)) || - !s.impl ().write_string ( - static_cast<ACE_CDR::ULong> (x.length ()), x.c_str ())) - throw ace_cdr_stream_insertion (); - return s; - } - -#ifdef ACE_HAS_WCHAR - inline ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, - const std::basic_string<wchar_t>& x) - { - // ACE CDR strings are hard-wired with a 32 bit length. - // - if (x.length () > ~(ACE_CDR::ULong (0)) || - !s.impl ().write_wstring ( - static_cast<ACE_CDR::ULong> (x.length ()), x.c_str ())) - throw ace_cdr_stream_insertion (); - return s; - } -#endif - - // Insertion of a binary buffer. - // - template <typename C> - ostream<ACE_OutputCDR>& - operator<< (ostream<ACE_OutputCDR>& s, const buffer<C>& x) - { - std::size_t size (x.size ()); - - // It is not possible to write an array with a 64-bit size. - // - if (size > ~(ACE_CDR::ULong (0)) || - !s.impl ().write_ulong (static_cast<ACE_CDR::ULong> (size)) || - !s.impl ().write_octet_array ( - reinterpret_cast<const ACE_CDR::Octet*> (x.data ()), size)) - throw ace_cdr_stream_insertion (); - - return s; - } - } - } -} - -#endif // XSD_CXX_TREE_ACE_CDR_STREAM_INSERTION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/bits/literals.hxx b/xsd/libxsd/xsd/cxx/tree/bits/literals.hxx deleted file mode 100644 index a690e76..0000000 --- a/xsd/libxsd/xsd/cxx/tree/bits/literals.hxx +++ /dev/null @@ -1,260 +0,0 @@ -// file : xsd/cxx/tree/bits/literals.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_BITS_LITERALS_HXX -#define XSD_CXX_TREE_BITS_LITERALS_HXX - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // Boolean literals - // - template<typename C> - const C* - true_ (); - - template<typename C> - const C* - one (); - - // Float literals: INF -INF NaN. - // - template<typename C> - const C* - positive_inf (); - - template<typename C> - const C* - negative_inf (); - - template<typename C> - const C* - nan (); - - // Optional "not present" literal. - // - template<typename C> - const C* - not_present (); - - // XML Schema namespace - // - template <typename C> - const C* - xml_schema (); - - // Built-in XML Schema type names. - // - template <typename C> - const C* - any_type (); - - template <typename C> - const C* - any_simple_type (); - - template <typename C> - const C* - string (); - - template <typename C> - const C* - normalized_string (); - - template <typename C> - const C* - token (); - - template <typename C> - const C* - name (); - - template <typename C> - const C* - nmtoken (); - - template <typename C> - const C* - nmtokens (); - - template <typename C> - const C* - ncname (); - - template <typename C> - const C* - language (); - - template <typename C> - const C* - id (); - - template <typename C> - const C* - idref (); - - template <typename C> - const C* - idrefs (); - - template <typename C> - const C* - any_uri (); - - template <typename C> - const C* - qname (); - - template <typename C> - const C* - base64_binary (); - - template <typename C> - const C* - hex_binary (); - - template <typename C> - const C* - date (); - - template <typename C> - const C* - date_time (); - - template <typename C> - const C* - duration (); - - template <typename C> - const C* - gday (); - - template <typename C> - const C* - gmonth (); - - template <typename C> - const C* - gmonth_day (); - - template <typename C> - const C* - gyear (); - - template <typename C> - const C* - gyear_month (); - - template <typename C> - const C* - time (); - - template <typename C> - const C* - entity (); - - template <typename C> - const C* - entities (); - - // gday ("---") and gmonth ("--") prefixes. - // - template <typename C> - const C* - gday_prefix (); - - template <typename C> - const C* - gmonth_prefix (); - - // Exception and diagnostics string literals. - // - template <typename C> - const C* - ex_error_error (); // " error: " - - template <typename C> - const C* - ex_error_warning (); // " warning: " - - template <typename C> - const C* - ex_parsing_msg (); // "instance document parsing failed" - - template <typename C> - const C* - ex_eel_expected (); // "expected element '" - - template <typename C> - const C* - ex_uel_expected (); // "expected element '" - - template <typename C> - const C* - ex_uel_instead (); // "' instead of '" - - template <typename C> - const C* - ex_uel_unexpected (); // "unexpected element '" - - template <typename C> - const C* - ex_eat_expected (); // "expected attribute '" - - template <typename C> - const C* - ex_uen_unexpected (); // "unexpected enumerator '" - - template <typename C> - const C* - ex_etc_msg (); // "expected text content" - - template <typename C> - const C* - ex_nti_no_type_info (); // "no type information available for type '" - - template <typename C> - const C* - ex_nei_no_element_info (); // "no parsing or serialization information - // available for element '" - template <typename C> - const C* - ex_nd_type (); // "type '" - - template <typename C> - const C* - ex_nd_not_derived (); // "' is not derived from '" - - template <typename C> - const C* - ex_di_id (); // "ID '" - - template <typename C> - const C* - ex_di_already_exist (); // "' already exist" - - template <typename C> - const C* - ex_serialization_msg (); // "serialization failed" - - template <typename C> - const C* - ex_npm_no_mapping (); // "no mapping provided for namespace prefix '" - - template <typename C> - const C* - ex_bounds_msg (); // "buffer boundary rules have been violated" - } - } - } -} - -#endif // XSD_CXX_TREE_BITS_LITERALS_HXX - -#include <xsd/cxx/tree/bits/literals.ixx> diff --git a/xsd/libxsd/xsd/cxx/tree/bits/literals.ixx b/xsd/libxsd/xsd/cxx/tree/bits/literals.ixx deleted file mode 100644 index 9a27d99..0000000 --- a/xsd/libxsd/xsd/cxx/tree/bits/literals.ixx +++ /dev/null @@ -1,875 +0,0 @@ -// file : xsd/cxx/tree/bits/literals.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX -#define XSD_CXX_TREE_BITS_LITERALS_IXX - -// The char versions of the following literals are required even -// if we are using wchar_t as the character type. -// -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // - // - template<> - inline const char* - positive_inf<char> () - { - return "INF"; - } - - template<> - inline const char* - negative_inf<char> () - { - return "-INF"; - } - - template<> - inline const char* - nan<char> () - { - return "NaN"; - } - } - } - } -} - -#endif // XSD_CXX_TREE_BITS_LITERALS_IXX - - -#if defined(XSD_CXX_TREE_USE_CHAR) || !defined(XSD_CXX_TREE_USE_WCHAR) - -#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR -#define XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // - // - template<> - inline const char* - true_<char> () - { - return "true"; - } - - template<> - inline const char* - one<char> () - { - return "1"; - } - - // - // - template<> - inline const char* - not_present<char> () - { - return "<not present>"; - } - - // - // - template <> - inline const char* - xml_schema<char> () - { - return "http://www.w3.org/2001/XMLSchema"; - } - - // - // - template <> - inline const char* - any_type<char> () - { - return "anyType"; - } - - template <> - inline const char* - any_simple_type<char> () - { - return "anySimpleType"; - } - - template <> - inline const char* - string<char> () - { - return "string"; - } - - template <> - inline const char* - normalized_string<char> () - { - return "normalizedString"; - } - - template <> - inline const char* - token<char> () - { - return "token"; - } - - template <> - inline const char* - name<char> () - { - return "Name"; - } - - template <> - inline const char* - nmtoken<char> () - { - return "NMTOKEN"; - } - - template <> - inline const char* - nmtokens<char> () - { - return "NMTOKENS"; - } - - template <> - inline const char* - ncname<char> () - { - return "NCName"; - } - - template <> - inline const char* - language<char> () - { - return "language"; - } - - - template <> - inline const char* - id<char> () - { - return "ID"; - } - - template <> - inline const char* - idref<char> () - { - return "IDREF"; - } - - template <> - inline const char* - idrefs<char> () - { - return "IDREFS"; - } - - template <> - inline const char* - any_uri<char> () - { - return "anyURI"; - } - - template <> - inline const char* - qname<char> () - { - return "QName"; - } - - template <> - inline const char* - base64_binary<char> () - { - return "base64Binary"; - } - - template <> - inline const char* - hex_binary<char> () - { - return "hexBinary"; - } - - template <> - inline const char* - date<char> () - { - return "date"; - } - - template <> - inline const char* - date_time<char> () - { - return "dateTime"; - } - - template <> - inline const char* - duration<char> () - { - return "duration"; - } - - template <> - inline const char* - gday<char> () - { - return "gDay"; - } - - template <> - inline const char* - gmonth<char> () - { - return "gMonth"; - } - - template <> - inline const char* - gmonth_day<char> () - { - return "gMonthDay"; - } - - template <> - inline const char* - gyear<char> () - { - return "gYear"; - } - - template <> - inline const char* - gyear_month<char> () - { - return "gYearMonth"; - } - - template <> - inline const char* - time<char> () - { - return "time"; - } - - template <> - inline const char* - entity<char> () - { - return "ENTITY"; - } - - template <> - inline const char* - entities<char> () - { - return "ENTITIES"; - } - - template <> - inline const char* - gday_prefix<char> () - { - return "---"; - } - - template <> - inline const char* - gmonth_prefix<char> () - { - return "--"; - } - - // - // - template <> - inline const char* - ex_error_error<char> () - { - return " error: "; - } - - template <> - inline const char* - ex_error_warning<char> () - { - return " warning: "; - } - - template <> - inline const char* - ex_parsing_msg<char> () - { - return "instance document parsing failed"; - } - - template <> - inline const char* - ex_eel_expected<char> () - { - return "expected element '"; - } - - template <> - inline const char* - ex_uel_expected<char> () - { - return "expected element '"; - } - - template <> - inline const char* - ex_uel_instead<char> () - { - return "' instead of '"; - } - - template <> - inline const char* - ex_uel_unexpected<char> () - { - return "unexpected element '"; - } - - template <> - inline const char* - ex_eat_expected<char> () - { - return "expected attribute '"; - } - - template <> - inline const char* - ex_uen_unexpected<char> () - { - return "unexpected enumerator '"; - } - - template <> - inline const char* - ex_etc_msg<char> () - { - return "expected text content"; - } - - template <> - inline const char* - ex_nti_no_type_info<char> () - { - return "no type information available for type '"; - } - - template <> - inline const char* - ex_nei_no_element_info<char> () - { - return "no parsing or serialization information available for " - "element '"; - } - template <> - inline const char* - ex_nd_type<char> () - { - return "type '"; - } - - template <> - inline const char* - ex_nd_not_derived<char> () - { - return "' is not derived from '"; - } - - template <> - inline const char* - ex_di_id<char> () - { - return "ID '"; - } - - template <> - inline const char* - ex_di_already_exist<char> () - { - return "' already exist"; - } - - template <> - inline const char* - ex_serialization_msg<char> () - { - return "serialization failed"; - } - - template <> - inline const char* - ex_npm_no_mapping<char> () - { - return "no mapping provided for namespace prefix '"; - } - - template <> - inline const char* - ex_bounds_msg<char> () - { - return "buffer boundary rules have been violated"; - } - } - } - } -} - -#endif // XSD_CXX_TREE_BITS_LITERALS_IXX_CHAR -#endif // XSD_CXX_TREE_USE_CHAR - - -#if defined(XSD_CXX_TREE_USE_WCHAR) || !defined(XSD_CXX_TREE_USE_CHAR) - -#ifndef XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR -#define XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // - // - template<> - inline const wchar_t* - true_<wchar_t> () - { - return L"true"; - } - - template<> - inline const wchar_t* - one<wchar_t> () - { - return L"1"; - } - - // - // - template<> - inline const wchar_t* - positive_inf<wchar_t> () - { - return L"INF"; - } - - template<> - inline const wchar_t* - negative_inf<wchar_t> () - { - return L"-INF"; - } - - template<> - inline const wchar_t* - nan<wchar_t> () - { - return L"NaN"; - } - - // - // - template<> - inline const wchar_t* - not_present<wchar_t> () - { - return L"<not present>"; - } - - // - // - template <> - inline const wchar_t* - xml_schema<wchar_t> () - { - return L"http://www.w3.org/2001/XMLSchema"; - } - - // - // - template <> - inline const wchar_t* - any_type<wchar_t> () - { - return L"anyType"; - } - - template <> - inline const wchar_t* - any_simple_type<wchar_t> () - { - return L"anySimpleType"; - } - - template <> - inline const wchar_t* - string<wchar_t> () - { - return L"string"; - } - - template <> - inline const wchar_t* - normalized_string<wchar_t> () - { - return L"normalizedString"; - } - - template <> - inline const wchar_t* - token<wchar_t> () - { - return L"token"; - } - - template <> - inline const wchar_t* - name<wchar_t> () - { - return L"Name"; - } - - template <> - inline const wchar_t* - nmtoken<wchar_t> () - { - return L"NMTOKEN"; - } - - template <> - inline const wchar_t* - nmtokens<wchar_t> () - { - return L"NMTOKENS"; - } - - template <> - inline const wchar_t* - ncname<wchar_t> () - { - return L"NCName"; - } - - template <> - inline const wchar_t* - language<wchar_t> () - { - return L"language"; - } - - - template <> - inline const wchar_t* - id<wchar_t> () - { - return L"ID"; - } - - template <> - inline const wchar_t* - idref<wchar_t> () - { - return L"IDREF"; - } - - template <> - inline const wchar_t* - idrefs<wchar_t> () - { - return L"IDREFS"; - } - - template <> - inline const wchar_t* - any_uri<wchar_t> () - { - return L"anyURI"; - } - - template <> - inline const wchar_t* - qname<wchar_t> () - { - return L"QName"; - } - - template <> - inline const wchar_t* - base64_binary<wchar_t> () - { - return L"base64Binary"; - } - - template <> - inline const wchar_t* - hex_binary<wchar_t> () - { - return L"hexBinary"; - } - - template <> - inline const wchar_t* - date<wchar_t> () - { - return L"date"; - } - - template <> - inline const wchar_t* - date_time<wchar_t> () - { - return L"dateTime"; - } - - template <> - inline const wchar_t* - duration<wchar_t> () - { - return L"duration"; - } - - template <> - inline const wchar_t* - gday<wchar_t> () - { - return L"gDay"; - } - - template <> - inline const wchar_t* - gmonth<wchar_t> () - { - return L"gMonth"; - } - - template <> - inline const wchar_t* - gmonth_day<wchar_t> () - { - return L"gMonthDay"; - } - - template <> - inline const wchar_t* - gyear<wchar_t> () - { - return L"gYear"; - } - - template <> - inline const wchar_t* - gyear_month<wchar_t> () - { - return L"gYearMonth"; - } - - template <> - inline const wchar_t* - time<wchar_t> () - { - return L"time"; - } - - template <> - inline const wchar_t* - entity<wchar_t> () - { - return L"ENTITY"; - } - - template <> - inline const wchar_t* - entities<wchar_t> () - { - return L"ENTITIES"; - } - - template <> - inline const wchar_t* - gday_prefix<wchar_t> () - { - return L"---"; - } - - template <> - inline const wchar_t* - gmonth_prefix<wchar_t> () - { - return L"--"; - } - - // - // - template <> - inline const wchar_t* - ex_error_error<wchar_t> () - { - return L" error: "; - } - - template <> - inline const wchar_t* - ex_error_warning<wchar_t> () - { - return L" warning: "; - } - - template <> - inline const wchar_t* - ex_parsing_msg<wchar_t> () - { - return L"instance document parsing failed"; - } - - template <> - inline const wchar_t* - ex_eel_expected<wchar_t> () - { - return L"expected element '"; - } - - template <> - inline const wchar_t* - ex_uel_expected<wchar_t> () - { - return L"expected element '"; - } - - template <> - inline const wchar_t* - ex_uel_instead<wchar_t> () - { - return L"' instead of '"; - } - - template <> - inline const wchar_t* - ex_uel_unexpected<wchar_t> () - { - return L"unexpected element '"; - } - - template <> - inline const wchar_t* - ex_eat_expected<wchar_t> () - { - return L"expected attribute '"; - } - - template <> - inline const wchar_t* - ex_uen_unexpected<wchar_t> () - { - return L"unexpected enumerator '"; - } - - template <> - inline const wchar_t* - ex_etc_msg<wchar_t> () - { - return L"expected text content"; - } - - template <> - inline const wchar_t* - ex_nti_no_type_info<wchar_t> () - { - return L"no type information available for type '"; - } - - template <> - inline const wchar_t* - ex_nei_no_element_info<wchar_t> () - { - return L"no parsing or serialization information available for " - L"element '"; - } - template <> - inline const wchar_t* - ex_nd_type<wchar_t> () - { - return L"type '"; - } - - template <> - inline const wchar_t* - ex_nd_not_derived<wchar_t> () - { - return L"' is not derived from '"; - } - - template <> - inline const wchar_t* - ex_di_id<wchar_t> () - { - return L"ID '"; - } - - template <> - inline const wchar_t* - ex_di_already_exist<wchar_t> () - { - return L"' already exist"; - } - - template <> - inline const wchar_t* - ex_serialization_msg<wchar_t> () - { - return L"serialization failed"; - } - - template <> - inline const wchar_t* - ex_npm_no_mapping<wchar_t> () - { - return L"no mapping provided for namespace prefix '"; - } - - template <> - inline const wchar_t* - ex_bounds_msg<wchar_t> () - { - return L"buffer boundary rules have been violated"; - } - } - } - } -} - -#endif // XSD_CXX_TREE_BITS_LITERALS_IXX_WCHAR -#endif // XSD_CXX_TREE_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/tree/buffer.hxx b/xsd/libxsd/xsd/cxx/tree/buffer.hxx deleted file mode 100644 index 9ce568c..0000000 --- a/xsd/libxsd/xsd/cxx/tree/buffer.hxx +++ /dev/null @@ -1,336 +0,0 @@ -// file : xsd/cxx/tree/buffer.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -/** - * @file - * - * @brief Contains a simple binary buffer abstraction that is used to - * implement the base64Binary and hexBinary XML Schema built-in types. - * - * This is an internal header and is included by the generated code. You - * normally should not include it directly. - * - */ - -#ifndef XSD_CXX_TREE_BUFFER_HXX -#define XSD_CXX_TREE_BUFFER_HXX - -#include <new> // operator new/delete -#include <cstddef> // std::size_t -#include <cstring> // std::memcpy, std::memcmp - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - /** - * @brief C++/Tree mapping runtime namespace. - * - * This is an internal namespace and normally should not be referenced - * directly. Instead you should use the aliases for types in this - * namespaces that are created in the generated code. - * - */ - namespace tree - { - //@cond - - class buffer_base - { - protected: - virtual - ~buffer_base () - { - if (free_ && data_) - operator delete (data_); - } - - buffer_base () - : data_ (0), size_ (0), capacity_ (0), free_ (true) - { - } - - protected: - char* data_; - size_t size_; - size_t capacity_; - bool free_; - }; - - //@endcond - - /** - * @brief Simple binary %buffer abstraction - * - * The %buffer class manages a continuous binary %buffer. The base - * concepts are data (actual memory region), size (the portion of - * the %buffer that contains useful information), and capacity (the - * actual size of the underlying memory region). The bounds - * %exception is thrown from the constructors and modifier functions - * if the (size <= capacity) constraint is violated. - * - * Note that the template parameter is only used to instantiate - * %exception types. The underlying %buffer type is always @c char. - * - * @nosubgrouping - */ - template<typename C> - class buffer: protected buffer_base - { - public: - /** - * @brief Size type - */ - typedef std::size_t size_t; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Allocate a %buffer of the specified size. - * - * The resulting %buffer has the same size and capacity. - * - * @param size A %buffer size in bytes. - */ - explicit - buffer (size_t size = 0); - - /** - * @brief Allocate a %buffer of the specified size and capacity. - * - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - buffer (size_t size, size_t capacity); - - /** - * @brief Allocate a %buffer of the specified size and copy - * the data. - * - * The resulting %buffer has the same size and capacity with - * @a size bytes copied from @a data. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - */ - buffer (const void* data, size_t size); - - /** - * @brief Allocate a %buffer of the specified size and capacity - * and copy the data. - * - * @a size bytes are copied from @a data to the resulting - * %buffer. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - buffer (const void* data, size_t size, size_t capacity); - - /** - * @brief Reuse an existing %buffer. - * - * If the @a assume_ownership argument is true, the %buffer will - * assume ownership of @a data and will release the memory - * by calling @c operator @c delete(). - * - * @param data A %buffer to reuse. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @param assume_ownership A boolean value indication whether to - * assume ownership. - * @throw bounds If @a size exceeds @a capacity - */ - buffer (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - - /** - * @brief Copy constructor. - * - * The copy constructor performs a deep copy of the underlying - * memory %buffer. - * - * @param x An instance to make a copy of. - */ - buffer (const buffer& x); - - //@} - - public: - /** - * @brief Copy assignment operator. - * - * The copy assignment operator changes the buffer's capacity - * to @c x.capacity() and copies @c x.size() bytes from @a x. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - buffer& - operator= (const buffer& x); - - public: - /** - * @brief Get buffer's capacity. - * - * @return A number of bytes that the %buffer can hold without - * reallocation. - */ - size_t - capacity () const - { - return capacity_; - } - - /** - * @brief Set buffer's capacity. - * - * @param c The new capacity in bytes. - * @return True if the underlying %buffer has moved, false otherwise. - */ - bool - capacity (size_t c) - { - return this->capacity (c, true); - } - - public: - /** - * @brief Get buffer's size. - * - * @return A number of bytes that the %buffer holds. - */ - size_t - size () const {return size_;} - - /** - * @brief Set buffer's size. - * - * @param s The new size in bytes. - * @return True if the underlying %buffer has moved, false otherwise. - */ - bool - size (size_t s) - { - bool r (false); - - if (s > capacity_) - r = capacity (s); - - size_ = s; - - return r; - } - - public: - /** - * @brief Get the underlying memory region. - * - * @return A constant pointer to the underlying memory region. - */ - const char* - data () const {return data_;} - - /** - * @brief Get the underlying memory region. - * - * @return A pointer to the underlying memory region. - */ - char* - data () {return data_;} - - /** - * @brief Get the beginning of the underlying memory region. - * - * @return A constant pointer to the first byte of the underlying - * memory region. - */ - const char* - begin () const {return data_;} - - /** - * @brief Get the beginning of the underlying memory region. - * - * @return A pointer to the first byte of the underlying memory - * region. - */ - char* - begin () {return data_;} - - /** - * @brief Get the end of the underlying memory region. - * - * @return A constant pointer to the one past last byte of the - * underlying memory region (that is @c %begin() @c + @c %size() ). - */ - const char* - end () const {return data_ + size_;} - - /** - * @brief Get the end of the underlying memory region. - * - * @return A pointer to the one past last byte of the underlying - * memory region (that is @c %begin() @c + @c %size() ). - */ - char* - end () {return data_ + size_;} - - public: - /** - * @brief Swap data with another %buffer. - * - * @param x A %buffer to swap with. - */ - void - swap (buffer& x); - - private: - bool - capacity (size_t capacity, bool copy); - }; - - /** - * @brief %buffer comparison operator. - * - * @return True if the buffers have the same sizes and the same - * data. - */ - template <typename C> - inline bool - operator== (const buffer<C>& a, const buffer<C>& b) - { - return a.size () == b.size () && - std::memcmp (a.data (), b.data (), a.size ()) == 0; - } - - /** - * @brief %buffer comparison operator. - * - * @return True if the buffers have different sizes or different - * data. - */ - template <typename C> - inline bool - operator!= (const buffer<C>& a, const buffer<C>& b) - { - return !(a == b); - } - } - } -} - -#include <xsd/cxx/tree/buffer.txx> - -#endif // XSD_CXX_TREE_BUFFER_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/buffer.txx b/xsd/libxsd/xsd/cxx/tree/buffer.txx deleted file mode 100644 index c358e98..0000000 --- a/xsd/libxsd/xsd/cxx/tree/buffer.txx +++ /dev/null @@ -1,146 +0,0 @@ -// file : xsd/cxx/tree/buffer.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - buffer<C>:: - buffer (size_t size) - { - capacity (size); - size_ = size; - } - - template <typename C> - buffer<C>:: - buffer (size_t size, size_t capacity) - { - if (size > capacity) - throw bounds<C> (); - - this->capacity (capacity); - size_ = size; - } - - template <typename C> - buffer<C>:: - buffer (const void* data, size_t size) - { - capacity (size); - size_ = size; - - if (size_) - std::memcpy (data_, data, size_); - } - - template <typename C> - buffer<C>:: - buffer (const void* data, size_t size, size_t capacity) - { - if (size > capacity) - throw bounds<C> (); - - this->capacity (capacity); - size_ = size; - - if (size_) - std::memcpy (data_, data, size_); - } - - template <typename C> - buffer<C>:: - buffer (void* data, size_t size, size_t capacity, bool own) - { - if (size > capacity) - throw bounds<C> (); - - data_ = reinterpret_cast<char*> (data); - size_ = size; - capacity_ = capacity; - free_ = own; - } - - template <typename C> - buffer<C>:: - buffer (const buffer& other) - : buffer_base () - { - capacity (other.capacity_); - size_ = other.size_; - - if (size_) - std::memcpy (data_, other.data_, size_); - } - - template <typename C> - buffer<C>& buffer<C>:: - operator= (const buffer& other) - { - if (this != &other) - { - capacity (other.capacity_, false); - size_ = other.size_; - - if (size_) - std::memcpy (data_, other.data_, size_); - } - - return *this; - } - - template <typename C> - void buffer<C>:: - swap (buffer& other) - { - char* tmp_data (data_); - size_t tmp_size (size_); - size_t tmp_capacity (capacity_); - bool tmp_free (free_); - - data_ = other.data_; - size_ = other.size_; - capacity_ = other.capacity_; - free_ = other.free_; - - other.data_ = tmp_data; - other.size_ = tmp_size; - other.capacity_ = tmp_capacity; - other.free_ = tmp_free; - } - - template <typename C> - bool buffer<C>:: - capacity (size_t capacity, bool copy) - { - if (size_ > capacity) - throw bounds<C> (); - - if (capacity <= capacity_) - { - return false; // Do nothing if shrinking is requested. - } - else - { - char* data (reinterpret_cast<char*> (operator new (capacity))); - - if (copy && size_ > 0) - std::memcpy (data, data_, size_); - - if (free_ && data_) - operator delete (data_); - - data_ = data; - capacity_ = capacity; - free_ = true; - - return true; - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/comparison-map.hxx b/xsd/libxsd/xsd/cxx/tree/comparison-map.hxx deleted file mode 100644 index a316b21..0000000 --- a/xsd/libxsd/xsd/cxx/tree/comparison-map.hxx +++ /dev/null @@ -1,112 +0,0 @@ -// file : xsd/cxx/tree/comparison-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_COMPARISON_MAP_HXX -#define XSD_CXX_TREE_COMPARISON_MAP_HXX - -#include <map> -#include <cstddef> // std::size_t -#include <typeinfo> - -#include <xsd/cxx/tree/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct comparison_map - { - typedef std::type_info type_id; - typedef bool (*comparator) (const type&, const type&); - - comparison_map (); - - void - register_type (const type_id&, comparator, bool replace = true); - - void - unregister_type (const type_id&); - - bool - compare (const type&, const type&); - - public: - comparator - find (const type_id&) const; - - private: - struct type_id_comparator - { - bool - operator() (const type_id* x, const type_id* y) const - { - // XL C++ on AIX has buggy type_info::before() in that - // it returns true for two different type_info objects - // that happened to be for the same type. - // -#if defined(__xlC__) && defined(_AIX) - return *x != *y && x->before (*y); -#else - return x->before (*y); -#endif - } - }; - - typedef - std::map<const type_id*, comparator, type_id_comparator> - type_map; - - type_map type_map_; - }; - - // - // - template<unsigned long id, typename C> - struct comparison_plate - { - static comparison_map<C>* map; - static std::size_t count; - - comparison_plate (); - ~comparison_plate (); - }; - - template<unsigned long id, typename C> - comparison_map<C>* comparison_plate<id, C>::map = 0; - - template<unsigned long id, typename C> - std::size_t comparison_plate<id, C>::count = 0; - - - // - // - template<unsigned long id, typename C> - inline comparison_map<C>& - comparison_map_instance () - { - return *comparison_plate<id, C>::map; - } - - // - // - template<typename T> - bool - comparator_impl (const type&, const type&); - - template<unsigned long id, typename C, typename T> - struct comparison_initializer - { - comparison_initializer (); - ~comparison_initializer (); - }; - } - } -} - -#include <xsd/cxx/tree/comparison-map.txx> - -#endif // XSD_CXX_TREE_COMPARISON_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/comparison-map.txx b/xsd/libxsd/xsd/cxx/tree/comparison-map.txx deleted file mode 100644 index af23d64..0000000 --- a/xsd/libxsd/xsd/cxx/tree/comparison-map.txx +++ /dev/null @@ -1,299 +0,0 @@ -// file : xsd/cxx/tree/comparison-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/tree/types.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // comparison_map - // - template <typename C> - comparison_map<C>:: - comparison_map () - { - // anyType and anySimpleType. - // - - register_type ( - typeid (type), - &comparator_impl<type>, - false); - - typedef simple_type<C, type> simple_type; - - register_type ( - typeid (simple_type), - &comparator_impl<simple_type>, - false); - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - typeid (string), - &comparator_impl<string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - typeid (normalized_string), - &comparator_impl<normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - typeid (token), - &comparator_impl<token>, - false); - - typedef name<C, token> name; - register_type ( - typeid (name), - &comparator_impl<name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - typeid (nmtoken), - &comparator_impl<nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - typeid (nmtokens), - &comparator_impl<nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - typeid (ncname), - &comparator_impl<ncname>, - false); - - typedef language<C, token> language; - register_type ( - typeid (language), - &comparator_impl<language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - typeid (id), - &comparator_impl<id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - typeid (idref), - &comparator_impl<idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - typeid (idrefs), - &comparator_impl<idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - typeid (uri), - &comparator_impl<uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - typeid (qname), - &comparator_impl<qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - typeid (base64_binary), - &comparator_impl<base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - typeid (hex_binary), - &comparator_impl<hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - typeid (gday), - &comparator_impl<gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - typeid (gmonth), - &comparator_impl<gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - typeid (gyear), - &comparator_impl<gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - typeid (gmonth_day), - &comparator_impl<gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - typeid (gyear_month), - &comparator_impl<gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - typeid (date), - &comparator_impl<date>, - false); - - typedef time<C, simple_type> time; - register_type ( - typeid (time), - &comparator_impl<time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - typeid (date_time), - &comparator_impl<date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - typeid (duration), - &comparator_impl<duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - typeid (entity), - &comparator_impl<entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - typeid (entities), - &comparator_impl<entities>, - false); - } - - template <typename C> - void comparison_map<C>:: - register_type (const type_id& tid, comparator c, bool replace) - { - if (replace || type_map_.find (&tid) == type_map_.end ()) - type_map_[&tid] = c; - } - - template <typename C> - void comparison_map<C>:: - unregister_type (const type_id& tid) - { - type_map_.erase (&tid); - } - - template <typename C> - bool comparison_map<C>:: - compare (const type& x, const type& y) - { - const type_id& xi (typeid (x)); - - if (xi != typeid (y)) - return false; - - if (comparator c = find (xi)) - return c (x, y); - else - throw no_type_info<C> (std::basic_string<C> (), - std::basic_string<C> ()); // @@ TODO - } - - template <typename C> - typename comparison_map<C>::comparator - comparison_map<C>:: - find (const type_id& tid) const - { - typename type_map::const_iterator i (type_map_.find (&tid)); - return i == type_map_.end () ? 0 : i->second; - } - - - // comparison_plate - // - template<unsigned long id, typename C> - comparison_plate<id, C>:: - comparison_plate () - { - if (count == 0) - map = new comparison_map<C>; - - ++count; - } - - template<unsigned long id, typename C> - comparison_plate<id, C>:: - ~comparison_plate () - { - if (--count == 0) - delete map; - } - - // - // - template<typename T> - bool - comparator_impl (const type& x, const type& y) - { - return static_cast<const T&> (x) == static_cast<const T&> (y); - } - - // comparison_initializer - // - template<unsigned long id, typename C, typename T> - comparison_initializer<id, C, T>:: - comparison_initializer () - { - comparison_map_instance<id, C> ().register_type ( - typeid (T), &comparator_impl<T>); - } - - template<unsigned long id, typename C, typename T> - comparison_initializer<id, C, T>:: - ~comparison_initializer () - { - comparison_map_instance<id, C> ().unregister_type (typeid (T)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/containers-wildcard.hxx b/xsd/libxsd/xsd/cxx/tree/containers-wildcard.hxx deleted file mode 100644 index 549df73..0000000 --- a/xsd/libxsd/xsd/cxx/tree/containers-wildcard.hxx +++ /dev/null @@ -1,1334 +0,0 @@ -// file : xsd/cxx/tree/containers-wildcard.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_CONTAINERS_WILDCARD_HXX -#define XSD_CXX_TREE_CONTAINERS_WILDCARD_HXX - -#include <set> -#include <string> - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/util/XMLString.hpp> - -#include <xsd/cxx/xml/string.hxx> - -#include <xsd/cxx/tree/iterator-adapter.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // one (for internal use only) - // - class element_one - { - public: - ~element_one () - { - if (x_) - x_->release (); - } - - explicit - element_one (xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - } - - element_one (const xercesc::DOMElement& x, xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - set (x); - } - - element_one (const element_one& x, xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - if (x.present ()) - set (x.get ()); - } - - element_one& - operator= (const element_one& x) - { - if (this == &x) - return *this; - - if (x.present ()) - set (x.get ()); - else if (x_) - { - x_->release (); - x_ = 0; - } - - return *this; - } - - public: - const xercesc::DOMElement& - get () const - { - return *x_; - } - - xercesc::DOMElement& - get () - { - return *x_; - } - - void - set (const xercesc::DOMElement& x) - { - using xercesc::DOMElement; - - DOMElement* r ( - static_cast<DOMElement*> ( - doc_.importNode (const_cast<DOMElement*> (&x), true))); - - if (x_) - x_->release (); - - x_ = r; - } - - void - set (xercesc::DOMElement* x) - { - assert (x->getOwnerDocument () == &doc_); - - if (x_) - x_->release (); - - x_ = x; - } - - bool - present () const - { - return x_ != 0; - } - - protected: - xercesc::DOMElement* x_; - xercesc::DOMDocument& doc_; - }; - - - // - // - class element_optional - { - public: - ~element_optional () - { - if (x_) - x_->release (); - } - - explicit - element_optional (xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - } - - element_optional (const xercesc::DOMElement& x, - xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - set (x); - } - - element_optional (xercesc::DOMElement* x, xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - set (x); - } - - element_optional (const element_optional& x, - xercesc::DOMDocument& doc) - : x_ (0), doc_ (doc) - { - if (x) - set (*x); - } - - element_optional& - operator= (const xercesc::DOMElement& x) - { - if (x_ == &x) - return *this; - - set (x); - - return *this; - } - - element_optional& - operator= (const element_optional& x) - { - if (this == &x) - return *this; - - if (x) - set (*x); - else - reset (); - - return *this; - } - - // Pointer-like interface. - // - public: - const xercesc::DOMElement* - operator-> () const - { - return x_; - } - - xercesc::DOMElement* - operator-> () - { - return x_; - } - - const xercesc::DOMElement& - operator* () const - { - return *x_; - } - - xercesc::DOMElement& - operator* () - { - return *x_; - } - - typedef void (element_optional::*bool_convertible) (); - - operator bool_convertible () const - { - return x_ != 0 ? &element_optional::true_ : 0; - } - - // Get/set interface. - // - public: - bool - present () const - { - return x_ != 0; - } - - const xercesc::DOMElement& - get () const - { - return *x_; - } - - xercesc::DOMElement& - get () - { - return *x_; - } - - void - set (const xercesc::DOMElement& x) - { - using xercesc::DOMElement; - - DOMElement* r ( - static_cast<DOMElement*> ( - doc_.importNode (const_cast<DOMElement*> (&x), true))); - - if (x_) - x_->release (); - - x_ = r; - } - - void - set (xercesc::DOMElement* x) - { - assert (x->getOwnerDocument () == &doc_); - - if (x_) - x_->release (); - - x_ = x; - } - - void - reset () - { - if (x_) - x_->release (); - - x_ = 0; - } - - private: - void - true_ () - { - } - - private: - xercesc::DOMElement* x_; - xercesc::DOMDocument& doc_; - }; - - // Comparison operators. - // - - inline bool - operator== (const element_optional& a, const element_optional& b) - { - return !a || !b - ? a.present () == b.present () - : a->isEqualNode (&b.get ()); - } - - inline bool - operator!= (const element_optional& a, const element_optional& b) - { - return !(a == b); - } - - - // - // - class element_sequence - { - protected: - // This is a dangerously destructive automatic pointer. We are going - // to use it in a controlled environment to save us a lot of coding. - // - struct ptr - { - ~ptr () - { - if (x_) - x_->release (); - } - - explicit - ptr (xercesc::DOMElement* x = 0) - : x_ (x) - { - } - - ptr (const ptr& y) - : x_ (y.x_) - { - // Yes, hostile takeover. - // - y.x_ = 0; - } - - ptr& - operator= (const ptr& y) - { - if (this != &y) - { - // Yes, hostile takeover. - // - if (x_) - x_->release (); - - x_ = y.x_; - y.x_ = 0; - } - - return *this; - } - - public: - xercesc::DOMElement& - operator* () const - { - return *x_; - } - - xercesc::DOMElement* - get () const - { - return x_; - } - - private: - mutable xercesc::DOMElement* x_; - }; - - typedef std::vector<ptr> base_sequence; - typedef base_sequence::iterator base_iterator; - typedef base_sequence::const_iterator base_const_iterator; - - public: - typedef xercesc::DOMElement value_type; - typedef xercesc::DOMElement* pointer; - typedef const xercesc::DOMElement* const_pointer; - typedef xercesc::DOMElement& reference; - typedef const xercesc::DOMElement& const_reference; - - typedef - iterator_adapter<base_sequence::iterator, xercesc::DOMElement> - iterator; - - typedef - iterator_adapter<base_sequence::const_iterator, - const xercesc::DOMElement> - const_iterator; - - typedef - iterator_adapter<base_sequence::reverse_iterator, xercesc::DOMElement> - reverse_iterator; - - typedef - iterator_adapter<base_sequence::const_reverse_iterator, - const xercesc::DOMElement> - const_reverse_iterator; - - typedef base_sequence::size_type size_type; - typedef base_sequence::difference_type difference_type; - typedef base_sequence::allocator_type allocator_type; - - public: - explicit - element_sequence (xercesc::DOMDocument& doc) - : doc_ (doc) - { - } - - // DOMElement cannot be default-constructed. - // - // explicit - // element_sequence (size_type n); - - element_sequence (size_type n, - const xercesc::DOMElement& x, - xercesc::DOMDocument& doc) - : doc_ (doc) - { - assign (n, x); - } - - template <typename I> - element_sequence (const I& begin, const I& end, - xercesc::DOMDocument& doc) - : doc_ (doc) - { - assign (begin, end); - } - - element_sequence (const element_sequence& v, - xercesc::DOMDocument& doc) - : doc_ (doc) - { - v_.reserve (v.v_.size ()); - - for (base_const_iterator i (v.v_.begin ()), e (v.v_.end ()); - i != e; ++i) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode (i->get (), true))); - - v_.push_back (p); - } - } - - element_sequence& - operator= (const element_sequence& v) - { - if (this == &v) - return *this; - - v_.assign (v.v_.size (), ptr ()); - - base_iterator di (v_.begin ()), de (v_.end ()); - base_const_iterator si (v.v_.begin ()), se (v.v_.end ()); - - for (; si != se && di != de; ++si, ++di) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode (si->get (), true))); - *di = p; - } - - return *this; - } - - public: - void - assign (size_type n, const xercesc::DOMElement& x) - { - v_.assign (n, ptr ()); - - for (base_iterator i (v_.begin ()), e (v_.end ()); i != e; ++i) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&x), true))); - *i = p; - } - } - - template <typename I> - void - assign (const I& begin, const I& end) - { - // This is not the fastest way to do it. - // - v_.clear (); - - for (I i (begin); i != end; ++i) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&(*i)), true))); - v_.push_back (p); - } - } - - public: - // This version of resize can only be used to shrink the - // sequence because DOMElement cannot be default-constructed. - // - void - resize (size_type n) - { - assert (n <= v_.size ()); - v_.resize (n, ptr ()); - } - - void - resize (size_type n, const xercesc::DOMElement& x) - { - size_type old (v_.size ()); - v_.resize (n, ptr ()); - - if (old < n) - { - for (base_iterator i (v_.begin () + old), e (v_.end ()); - i != e; ++i) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&x), true))); - *i = p; - } - } - } - - public: - size_type - size () const - { - return v_.size (); - } - - size_type - max_size () const - { - return v_.max_size (); - } - - size_type - capacity () const - { - return v_.capacity (); - } - - bool - empty () const - { - return v_.empty (); - } - - void - reserve (size_type n) - { - v_.reserve (n); - } - - void - clear () - { - v_.clear (); - } - - public: - const_iterator - begin () const - { - return const_iterator (v_.begin ()); - } - - const_iterator - end () const - { - return const_iterator (v_.end ()); - } - - iterator - begin () - { - return iterator (v_.begin ()); - } - - iterator - end () - { - return iterator (v_.end ()); - } - - // reverse - // - - const_reverse_iterator - rbegin () const - { - return const_reverse_iterator (v_.rbegin ()); - } - - const_reverse_iterator - rend () const - { - return const_reverse_iterator (v_.rend ()); - } - - reverse_iterator - rbegin () - { - return reverse_iterator (v_.rbegin ()); - } - - reverse_iterator - rend () - { - return reverse_iterator (v_.rend ()); - } - - public: - xercesc::DOMElement& - operator[] (size_type n) - { - return *(v_[n]); - } - - const xercesc::DOMElement& - operator[] (size_type n) const - { - return *(v_[n]); - } - - xercesc::DOMElement& - at (size_type n) - { - return *(v_.at (n)); - } - - const xercesc::DOMElement& - at (size_type n) const - { - return *(v_.at (n)); - } - - xercesc::DOMElement& - front () - { - return *(v_.front ()); - } - - const xercesc::DOMElement& - front () const - { - return *(v_.front ()); - } - - xercesc::DOMElement& - back () - { - return *(v_.back ()); - } - - const xercesc::DOMElement& - back () const - { - return *(v_.back ()); - } - - public: - // Makes a deep copy. - // - void - push_back (const xercesc::DOMElement& x) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&x), true))); - - v_.push_back (p); - } - - // Assumes ownership. - // - void - push_back (xercesc::DOMElement* x) - { - assert (x->getOwnerDocument () == &doc_); - v_.push_back (ptr (x)); - } - - void - pop_back () - { - v_.pop_back (); - } - - // Makes a deep copy. - // - iterator - insert (iterator position, const xercesc::DOMElement& x) - { - ptr p (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&x), true))); - - return iterator (v_.insert (position.base (), p)); - } - - // Assumes ownership. - // - iterator - insert (iterator position, xercesc::DOMElement* x) - { - assert (x->getOwnerDocument () == &doc_); - return iterator (v_.insert (position.base (), ptr (x))); - } - - void - insert (iterator position, size_type n, const xercesc::DOMElement& x) - { - difference_type d (v_.end () - position.base ()); - v_.insert (position.base (), n, ptr ()); - - for (base_iterator i (v_.end () - d); n != 0; --n) - { - ptr r (static_cast<xercesc::DOMElement*> ( - doc_.importNode ( - const_cast<xercesc::DOMElement*> (&x), true))); - *(--i) = r; - } - } - - template <typename I> - void - insert (iterator position, const I& begin, const I& end) - { - // This is not the fastest way to do it. - // - if (begin != end) - { - base_iterator p (position.base ()); - - for (I i (end);;) - { - --i; - ptr r (static_cast<xercesc::DOMElement*> ( - doc_.importNode (i->get (), true))); - - p = v_.insert (p, r); - - if (i == begin) - break; - } - } - } - - iterator - erase (iterator position) - { - return iterator (v_.erase (position.base ())); - } - - iterator - erase (iterator begin, iterator end) - { - return iterator (v_.erase (begin.base (), end.base ())); - } - - public: - // Note that the DOMDocument object of the two sequences being - // swapped should be the same. - // - void - swap (element_sequence& x) - { - assert (&doc_ == &x.doc_); - v_.swap (x.v_); - } - - private: - base_sequence v_; - xercesc::DOMDocument& doc_; - }; - - // Comparison operators. - // - - inline bool - operator== (const element_sequence& a, const element_sequence& b) - { - if (a.size () != b.size ()) - return false; - - element_sequence::const_iterator - ai (a.begin ()), ae (a.end ()), bi (b.begin ()); - - for (; ai != ae; ++ai, ++bi) - if (!ai->isEqualNode (&(*bi))) - return false; - - return true; - } - - inline bool - operator!= (const element_sequence& a, const element_sequence& b) - { - return !(a == b); - } - - - // Attribute set. - // - - class attribute_set_common - { - protected: - // Set entry. It can either act as a dangerously destructive - // automatic pointer for DOMAttr or as an entry containing the - // name we are searching for. - // - struct entry - { - ~entry () - { - if (a_) - a_->release (); - } - - explicit - entry (xercesc::DOMAttr* a) - : a_ (a), ns_ (0), name_ (0) - { - ns_ = a->getNamespaceURI (); - name_ = ns_ == 0 ? a->getName () : a->getLocalName (); - } - - // Note: uses shallow copy. - // - explicit - entry (const XMLCh* ns, const XMLCh* name) - : a_ (0), ns_ (ns), name_ (name) - { - } - - entry (const entry& y) - : a_ (y.a_), ns_ (y.ns_), name_ (y.name_) - { - // Yes, hostile takeover. - // - y.a_ = 0; - y.ns_ = 0; - y.name_ = 0; - } - - entry& - operator= (const entry& y) - { - if (this != &y) - { - // Yes, hostile takeover. - // - if (a_) - a_->release (); - - a_ = y.a_; - ns_ = y.ns_; - name_ = y.name_; - - y.a_ = 0; - y.ns_ = 0; - y.name_ = 0; - } - - return *this; - } - - public: - xercesc::DOMAttr& - operator* () const - { - return *a_; - } - - xercesc::DOMAttr* - get () const - { - return a_; - } - - const XMLCh* - ns () const - { - return ns_; - } - - const XMLCh* - name () const - { - return name_; - } - - void - release () - { - a_ = 0; - } - - private: - mutable xercesc::DOMAttr* a_; - mutable const XMLCh* ns_; - mutable const XMLCh* name_; - }; - - struct entry_cmp - { - bool - operator() (const entry& a, const entry& b) const - { - using xercesc::XMLString; - - const XMLCh* ans (a.ns ()); - const XMLCh* bns (b.ns ()); - - const XMLCh* an (a.name ()); - const XMLCh* bn (b.name ()); - - if (ans == 0) - return bns != 0 - ? true - : (XMLString::compareString (an, bn) < 0); - - if (ans != 0 && bns == 0) - return false; - - int r (XMLString::compareString (ans, bns)); - - return r < 0 - ? true - : (r > 0 ? false : XMLString::compareString (an, bn) < 0); - } - }; - - typedef std::set<entry, entry_cmp> base_set; - typedef base_set::iterator base_iterator; - typedef base_set::const_iterator base_const_iterator; - }; - - template <typename C> - class attribute_set: public attribute_set_common - { - public: - typedef xercesc::DOMAttr key_type; - typedef xercesc::DOMAttr value_type; - typedef xercesc::DOMAttr* pointer; - typedef const xercesc::DOMAttr* const_pointer; - typedef xercesc::DOMAttr& reference; - typedef const xercesc::DOMAttr& const_reference; - - typedef - iterator_adapter<base_set::iterator, xercesc::DOMAttr> - iterator; - - typedef - iterator_adapter<base_set::const_iterator, const xercesc::DOMAttr> - const_iterator; - - typedef - iterator_adapter<base_set::reverse_iterator, xercesc::DOMAttr> - reverse_iterator; - - typedef - iterator_adapter<base_set::const_reverse_iterator, - const xercesc::DOMAttr> - const_reverse_iterator; - - typedef base_set::size_type size_type; - typedef base_set::difference_type difference_type; - typedef base_set::allocator_type allocator_type; - - public: - attribute_set (xercesc::DOMDocument& doc) - : doc_ (doc) - { - } - - template <typename I> - attribute_set (const I& begin, - const I& end, - xercesc::DOMDocument& doc) - : doc_ (doc) - { - insert (begin, end); - } - - attribute_set (const attribute_set& s, xercesc::DOMDocument& doc) - : doc_ (doc) - { - // Can be done faster with the "hinted" insert. - // - insert (s.begin (), s.end ()); - } - - attribute_set& - operator= (const attribute_set& s) - { - if (this == &s) - return *this; - - // Can be done faster with the "hinted" insert. - // - clear (); - insert (s.begin (), s.end ()); - - return *this; - } - - public: - const_iterator - begin () const - { - return const_iterator (s_.begin ()); - } - - const_iterator - end () const - { - return const_iterator (s_.end ()); - } - - iterator - begin () - { - return iterator (s_.begin ()); - } - - iterator - end () - { - return iterator (s_.end ()); - } - - // reverse - // - - const_reverse_iterator - rbegin () const - { - return const_reverse_iterator (s_.rbegin ()); - } - - const_reverse_iterator - rend () const - { - return const_reverse_iterator (s_.rend ()); - } - - reverse_iterator - rbegin () - { - return reverse_iterator (s_.rbegin ()); - } - - reverse_iterator - rend () - { - return reverse_iterator (s_.rend ()); - } - - public: - size_type - size () const - { - return s_.size (); - } - - size_type - max_size () const - { - return s_.max_size (); - } - - bool - empty () const - { - return s_.empty (); - } - - void - clear () - { - s_.clear (); - } - - public: - // Makes a deep copy. - // - std::pair<iterator, bool> - insert (const xercesc::DOMAttr& a) - { - entry e (static_cast<xercesc::DOMAttr*> ( - doc_.importNode ( - const_cast<xercesc::DOMAttr*> (&a), true))); - - std::pair<base_iterator, bool> r (s_.insert (e)); - - return std::pair<iterator, bool> (iterator (r.first), r.second); - } - - // Assumes ownership. - // - std::pair<iterator, bool> - insert (xercesc::DOMAttr* a) - { - assert (a->getOwnerDocument () == &doc_); - entry e (a); - std::pair<base_iterator, bool> r (s_.insert (e)); - - if (!r.second) - e.release (); // Detach the attribute of insert failed. - - return std::pair<iterator, bool> (iterator (r.first), r.second); - } - - // Makes a deep copy. - // - iterator - insert (iterator position, const xercesc::DOMAttr& a) - { - entry e (static_cast<xercesc::DOMAttr*> ( - doc_.importNode ( - const_cast<xercesc::DOMAttr*> (&a), true))); - - return iterator (s_.insert (position.base (), e)); - } - - // Assumes ownership. - // - iterator - insert (iterator position, xercesc::DOMAttr* a) - { - assert (a->getOwnerDocument () == &doc_); - entry e (a); - base_iterator r (s_.insert (position.base (), e)); - - if (r->get () != a) - e.release (); // Detach the attribute of insert failed. - - return iterator (r); - } - - template <typename I> - void - insert (const I& begin, const I& end) - { - for (I i (begin); i != end; ++i) - { - entry e (static_cast<xercesc::DOMAttr*> ( - doc_.importNode ( - const_cast<xercesc::DOMAttr*> (&(*i)), true))); - - s_.insert (e); - } - } - - public: - void - erase (iterator position) - { - s_.erase (position.base ()); - } - - size_type - erase (const std::basic_string<C>& name) - { - return s_.erase (entry (0, xml::string (name).c_str ())); - } - - size_type - erase (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) - { - return s_.erase (entry (xml::string (namespace_).c_str (), - xml::string (name).c_str ())); - } - - size_type - erase (const XMLCh* name) - { - return s_.erase (entry (0, name)); - } - - size_type - erase (const XMLCh* namespace_, const XMLCh* name) - { - return s_.erase (entry (namespace_, name)); - } - - void - erase (iterator begin, iterator end) - { - s_.erase (begin.base (), end.base ()); - } - - public: - size_type - count (const std::basic_string<C>& name) const - { - return s_.count (entry (0, xml::string (name).c_str ())); - } - - size_type - count (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) const - { - return s_.count (entry (xml::string (namespace_).c_str (), - xml::string (name).c_str ())); - } - - size_type - count (const XMLCh* name) const - { - return s_.count (entry (0, name)); - } - - size_type - count (const XMLCh* namespace_, const XMLCh* name) const - { - return s_.count (entry (namespace_, name)); - } - - // find - // - - iterator - find (const std::basic_string<C>& name) - { - return iterator (s_.find (entry (0, xml::string (name).c_str ()))); - } - - iterator - find (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) - { - return iterator ( - s_.find (entry (xml::string (namespace_).c_str (), - xml::string (name).c_str ()))); - } - - iterator - find (const XMLCh* name) - { - return iterator (s_.find (entry (0, name))); - } - - iterator - find (const XMLCh* namespace_, const XMLCh* name) - { - return iterator (s_.find (entry (namespace_, name))); - } - - const_iterator - find (const std::basic_string<C>& name) const - { - return const_iterator ( - s_.find (entry (0, xml::string (name).c_str ()))); - } - - const_iterator - find (const std::basic_string<C>& namespace_, - const std::basic_string<C>& name) const - { - return const_iterator ( - s_.find (entry (xml::string (namespace_).c_str (), - xml::string (name).c_str ()))); - } - - const_iterator - find (const XMLCh* name) const - { - return const_iterator (s_.find (entry (0, name))); - } - - const_iterator - find (const XMLCh* namespace_, const XMLCh* name) const - { - return const_iterator (s_.find (entry (namespace_, name))); - } - - public: - // Note that the DOMDocument object of the two sets being - // swapped should be the same. - // - void - swap (attribute_set& x) - { - assert (&doc_ == &x.doc_); - s_.swap (x.s_); - } - - private: - base_set s_; - xercesc::DOMDocument& doc_; - }; - - // Comparison operators. - // - - template <typename C> - inline bool - operator== (const attribute_set<C>& a, const attribute_set<C>& b) - { - if (a.size () != b.size ()) - return false; - - typename attribute_set<C>::const_iterator - ai (a.begin ()), ae (a.end ()), bi (b.begin ()); - - for (; ai != ae; ++ai, ++bi) - if (!ai->isEqualNode (&(*bi))) - return false; - - return true; - } - - template <typename C> - inline bool - operator!= (const attribute_set<C>& a, const attribute_set<C>& b) - { - return !(a == b); - } - } - } -} - -#endif // XSD_CXX_TREE_CONTAINERS_WILDCARD_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/containers.hxx b/xsd/libxsd/xsd/cxx/tree/containers.hxx deleted file mode 100644 index cafd79d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/containers.hxx +++ /dev/null @@ -1,1208 +0,0 @@ -// file : xsd/cxx/tree/containers.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_CONTAINERS_HXX -#define XSD_CXX_TREE_CONTAINERS_HXX - -#include <vector> -#include <memory> // std::auto_ptr/unique_ptr -#include <algorithm> // std::equal, std::lexicographical_compare -#include <iosfwd> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/iterator-adapter.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Test whether T is a fundamental C++ type. - // - - template <typename T> - struct fundamental_p - { - static const bool r = false; - }; - - // byte - // - template <> - struct fundamental_p<signed char> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<unsigned char> - { - static const bool r = true; - }; - - // short - // - template <> - struct fundamental_p<short> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<unsigned short> - { - static const bool r = true; - }; - - // int - // - template <> - struct fundamental_p<int> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<unsigned int> - { - static const bool r = true; - }; - - // long - // - template <> - struct fundamental_p<long> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<unsigned long> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<long long> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<unsigned long long> - { - static const bool r = true; - }; - - // bool - // - template <> - struct fundamental_p<bool> - { - static const bool r = true; - }; - - // float - // - template <> - struct fundamental_p<float> - { - static const bool r = true; - }; - - template <> - struct fundamental_p<double> - { - static const bool r = true; - }; - - // one (for internal use only) - // - template <typename T, bool fund = fundamental_p<T>::r> - class one; - - template <typename T> - class one<T, false> - { - public: - ~one (); - - one (container*); - - one (const T&, container*); - - one (XSD_AUTO_PTR<T>, container*); - - one (const one&, flags, container*); - - one& - operator= (const one&); - - public: - const T& - get () const - { - return *x_; - } - - T& - get () - { - return *x_; - } - - void - set (const T& x) - { - set (x, 0); - } - - void - set (XSD_AUTO_PTR<T>); - - bool - present () const - { - return x_ != 0; - } - - XSD_AUTO_PTR<T> - detach () - { - T* x (x_); - x->_container (0); - x_ = 0; - return XSD_AUTO_PTR<T> (x); - } - - protected: - void - set (const T&, flags); - - protected: - T* x_; - container* container_; - }; - - - template <typename T> - class one<T, true> - { - public: - one (container*) - : present_ (false) - { - } - - one (const T& x, container*) - : x_ (x), present_ (true) - { - } - - one (const one& x, flags, container*) - : x_ (x.x_), present_ (x.present_) - { - } - - one& - operator= (const one& x) - { - if (this == &x) - return *this; - - x_ = x.x_; - present_ = x.present_; - - return *this; - } - - public: - const T& - get () const - { - return x_; - } - - T& - get () - { - return x_; - } - - void - set (const T& x) - { - x_ = x; - present_ = true; - } - - bool - present () const - { - return present_; - } - - protected: - T x_; - bool present_; - }; - - template <typename T, bool fund = fundamental_p<T>::r> - class optional; - - template <typename T> - class optional<T, false> - { - public: - ~optional (); - - explicit - optional (container* = 0); - - explicit - optional (const T&, container* = 0); - - explicit - optional (XSD_AUTO_PTR<T>, container* = 0); - - optional (const optional&, flags = 0, container* = 0); - - optional& - operator= (const T&); - - optional& - operator= (const optional&); - - // Pointer-like interface. - // - public: - const T* - operator-> () const - { - return x_; - } - - T* - operator-> () - { - return x_; - } - - const T& - operator* () const - { - return *x_; - } - - T& - operator* () - { - return *x_; - } - - typedef optional self_; // Simplifier for Sun C++ 5.7. - typedef void (self_::*bool_convertible) (); - - operator bool_convertible () const - { - return x_ != 0 ? &self_::true_ : 0; - } - - // Get/set interface. - // - public: - bool - present () const - { - return x_ != 0; - } - - const T& - get () const - { - return *x_; - } - - T& - get () - { - return *x_; - } - - void - set (const T& x) - { - set (x, 0); - } - - void - set (XSD_AUTO_PTR<T>); - - void - reset (); - - XSD_AUTO_PTR<T> - detach () - { - T* x (x_); - x->_container (0); - x_ = 0; - return XSD_AUTO_PTR<T> (x); - } - - protected: - void - set (const T&, flags); - - void - true_ (); - - protected: - T* x_; - container* container_; - }; - - - // - // - template <typename T> - class optional<T, true> - { - public: - explicit - optional (container* = 0) - : present_ (false) - { - } - - explicit - optional (const T&, container* = 0); - - optional (const optional&, flags = 0, container* = 0); - - optional& - operator= (const T&); - - optional& - operator= (const optional&); - - // Pointer-like interface. - // - public: - const T* - operator-> () const - { - return &x_; - } - - T* - operator-> () - { - return &x_; - } - - const T& - operator* () const - { - return get (); - } - - T& - operator* () - { - return get (); - } - - typedef optional self_; // Simplifier for Sun C++ 5.7. - typedef void (self_::*bool_convertible) (); - - operator bool_convertible () const - { - return present () ? &self_::true_ : 0; - } - - // Get/set interface. - // - public: - bool - present () const - { - return present_; - } - - const T& - get () const - { - return x_; - } - - T& - get () - { - return x_; - } - - void - set (const T& y) - { - x_ = y; - present_ = true; - } - - void - reset () - { - present_ = false; - } - - private: - void - true_ (); - - private: - bool present_; - T x_; - }; - - // Comparison operators. - // - - template <typename T, bool fund> - inline bool - operator== (const optional<T, fund>& a, const optional<T, fund>& b) - { - return !a || !b ? a.present () == b.present () : *a == *b; - } - - template <typename T, bool fund> - inline bool - operator!= (const optional<T, fund>& a, const optional<T, fund>& b) - { - return !(a == b); - } - - template <typename T, bool fund> - inline bool - operator< (const optional<T, fund>& a, const optional<T, fund>& b) - { - return a && (!b || *a < *b); - } - - template <typename T, bool fund> - inline bool - operator> (const optional<T, fund>& a, const optional<T, fund>& b) - { - return b < a; - } - - template <typename T, bool fund> - inline bool - operator<= (const optional<T, fund>& a, const optional<T, fund>& b) - { - return !(a > b); - } - - template <typename T, bool fund> - inline bool - operator>= (const optional<T, fund>& a, const optional<T, fund>& b) - { - return !(a < b); - } - - // Provide an ostream insertion operator to prevent confusion from - // the implicit bool conversion. - // - template <typename C, typename T, bool fund> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>&, const optional<T, fund>&); - - - // Sequence. - // - template <typename T, bool fund = fundamental_p<T>::r> - class sequence; - - // - // - class sequence_common - { - protected: - // This is a dangerously destructive automatic pointer. We are going - // to use it in a controlled environment to save us a lot of coding. - // - struct ptr - { - ~ptr () - { - delete x_; - } - - explicit - ptr (type* x = 0) - : x_ (x) - { - } - - ptr (const ptr& y) - : x_ (y.x_) - { - // Yes, hostile takeover. - // - y.x_ = 0; - } - - ptr& - operator= (const ptr& y) - { - if (this != &y) - { - // Yes, hostile takeover. - // - delete x_; - x_ = y.x_; - y.x_ = 0; - } - - return *this; - } - - public: - type& - operator* () const - { - return *x_; - } - - type* - operator-> () const - { - return x_; - } - - type* - get () const - { - return x_; - } - - type* - release () - { - type* x (x_); - x_ = 0; - return x; - } - - private: - mutable type* x_; - }; - - protected: - typedef std::vector<ptr> base_sequence; - typedef base_sequence::iterator base_iterator; - typedef base_sequence::const_iterator base_const_iterator; - - typedef base_sequence::size_type size_type; - typedef base_sequence::difference_type difference_type; - typedef base_sequence::allocator_type allocator_type; - - protected: - sequence_common (container* c) - : container_ (c) - { - } - - sequence_common (size_type n, const type& x, container* c) - : container_ (c) - { - assign (n, x); - } - - template <typename I> - sequence_common (const I& begin, const I& end, container* c) - : container_ (c) - { - assign (begin, end); - } - - sequence_common (const sequence_common& v, flags f, container* c) - : container_ (c) - { - v_.reserve (v.v_.size ()); - - for (base_const_iterator i (v.v_.begin ()), e (v.v_.end ()); - i != e; ++i) - { - ptr p ((**i)._clone (f, container_)); - v_.push_back (p); - } - } - - public: - sequence_common& - operator= (const sequence_common& v) - { - if (this == &v) - return *this; - - v_.assign (v.v_.size (), ptr ()); - - base_iterator di (v_.begin ()), de (v_.end ()); - base_const_iterator si (v.v_.begin ()), se (v.v_.end ()); - - for (; si != se && di != de; ++si, ++di) - { - // We have no ptr_ref. - // - ptr p ((**si)._clone (0, container_)); - *di = p; - } - - return *this; - } - - public: - size_type - size () const - { - return v_.size (); - } - - size_type - max_size () const - { - return v_.max_size (); - } - - size_type - capacity () const - { - return v_.capacity (); - } - - bool - empty () const - { - return v_.empty (); - } - - void - reserve (size_type n) - { - v_.reserve (n); - } - - void - clear () - { - v_.clear (); - } - - protected: - void - assign (size_type n, const type& x) - { - v_.assign (n, ptr ()); - - for (base_iterator i (v_.begin ()), e (v_.end ()); i != e; ++i) - { - ptr p (x._clone (0, container_)); - *i = p; - } - } - - template <typename I> - void - assign (const I& begin, const I& end) - { - // This is not the fastest way to do it. Also I's type may not - // have _clone. - // - v_.clear (); - - for (I i (begin); i != end; ++i) - { - ptr p (i->_clone (0, container_)); - v_.push_back (p); - } - } - - void - resize (size_type n, const type& x) - { - size_type old (v_.size ()); - v_.resize (n, ptr ()); - - if (old < n) - { - for (base_iterator i (v_.begin () + old), e (v_.end ()); - i != e; ++i) - { - ptr p (x._clone (0, container_)); - *i = p; - } - } - } - - void - insert (base_iterator p, size_type n, const type& x) - { - difference_type d (v_.end () - p); - v_.insert (p, n, ptr ()); - - for (base_iterator i (v_.end () - d); n != 0; --n) - { - ptr r (x._clone (0, container_)); - *(--i) = r; - } - } - - template <typename I> - void - insert (base_iterator p, const I& begin, const I& end) - { - // This is not the fastest way to do it. Also I's type may not - // have _clone. - // - if (begin != end) - { - for (I i (end);;) - { - --i; - ptr r (i->_clone (0, container_)); - p = v_.insert (p, r); - - if (i == begin) - break; - } - } - } - - protected: - container* container_; - base_sequence v_; - }; - - // - // - template <typename T> - class sequence<T, false>: public sequence_common - { - protected: - // For IBM XL C++ 8.0. - // - typedef sequence_common::ptr ptr; - - public: - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef T& reference; - typedef const T& const_reference; - - typedef - iterator_adapter<base_sequence::iterator, T> - iterator; - - typedef - iterator_adapter<base_sequence::const_iterator, const T> - const_iterator; - - typedef - iterator_adapter<base_sequence::reverse_iterator, T> - reverse_iterator; - - typedef - iterator_adapter<base_sequence::const_reverse_iterator, const T> - const_reverse_iterator; - - typedef sequence_common::size_type size_type; - typedef sequence_common::difference_type difference_type; - typedef sequence_common::allocator_type allocator_type; - - public: - explicit - sequence (container* c = 0) - : sequence_common (c) - { - } - - // The first version causes trouble on IBM XL C++ 7.0 when - // a type does not have the default c-tor. While the second - // breaks VC++ 8.0 when using dllexport (it appears to - // instantiate everything instead of only what's used). - // -#ifdef _MSC_VER - explicit - sequence (size_type n, const T& x = T (), container* c = 0) - : sequence_common (n, x, c) - { - } -#else - explicit - sequence (size_type n, container* c = 0) - : sequence_common (n, T (), c) - { - } - - sequence (size_type n, const T& x, container* c = 0) - : sequence_common (n, x, c) - { - } -#endif - - template <typename I> - sequence (const I& begin, const I& end, container* c = 0) - : sequence_common (begin, end, c) - { - } - - sequence (const sequence& v, flags f = 0, container* c = 0) - : sequence_common (v, f, c) - { - } - - public: - void - assign (size_type n, const T& x) - { - sequence_common::assign (n, x); - } - - template <typename I> - void - assign (const I& begin, const I& end) - { - sequence_common::assign (begin, end); - } - - public: - // The first version causes trouble on IBM XL C++ 7.0 when - // a type does not have the default c-tor. While the second - // breaks VC++ 8.0 when using dllexport (it appears to - // instantiate everything instead of only what's used). - // -#ifdef _MSC_VER - void - resize (size_type n, const T& x = T ()) - { - sequence_common::resize (n, x); - } -#else - void - resize (size_type n) - { - sequence_common::resize (n, T ()); - } - - void - resize (size_type n, const T& x) - { - sequence_common::resize (n, x); - } -#endif - - public: - const_iterator - begin () const - { - return const_iterator (v_.begin ()); - } - - const_iterator - end () const - { - return const_iterator (v_.end ()); - } - - iterator - begin () - { - return iterator (v_.begin ()); - } - - iterator - end () - { - return iterator (v_.end ()); - } - - // reverse - // - - const_reverse_iterator - rbegin () const - { - return const_reverse_iterator (v_.rbegin ()); - } - - const_reverse_iterator - rend () const - { - return const_reverse_iterator (v_.rend ()); - } - - reverse_iterator - rbegin () - { - return reverse_iterator (v_.rbegin ()); - } - - reverse_iterator - rend () - { - return reverse_iterator (v_.rend ()); - } - - public: - T& - operator[] (size_type n) - { - return static_cast<T&> (*(v_[n])); - } - - const T& - operator[] (size_type n) const - { - return static_cast<const T&> (*(v_[n])); - } - - T& - at (size_type n) - { - return static_cast<T&> (*(v_.at (n))); - } - - const T& - at (size_type n) const - { - return static_cast<const T&> (*(v_.at (n))); - } - - T& - front () - { - return static_cast<T&> (*(v_.front ())); - } - - const T& - front () const - { - return static_cast<const T&> (*(v_.front ())); - } - - T& - back () - { - return static_cast<T&> (*(v_.back ())); - } - - const T& - back () const - { - return static_cast<const T&> (*(v_.back ())); - } - - public: - void - push_back (const T& x) - { - v_.push_back (ptr (x._clone (0, container_))); - } - - void - push_back (XSD_AUTO_PTR<T> x) - { - if (x->_container () != container_) - x->_container (container_); - - v_.push_back (ptr (x.release ())); - } - - void - pop_back () - { - v_.pop_back (); - } - - XSD_AUTO_PTR<T> - detach_back (bool pop = true) - { - ptr& p (v_.back ()); - p->_container (0); - T* x (static_cast<T*> (p.release ())); - - if (pop) - v_.pop_back (); - - return XSD_AUTO_PTR<T> (x); - } - - iterator - insert (iterator position, const T& x) - { - return iterator ( - v_.insert ( - position.base (), ptr (x._clone (0, container_)))); - } - - iterator - insert (iterator position, XSD_AUTO_PTR<T> x) - { - if (x->_container () != container_) - x->_container (container_); - - return iterator (v_.insert (position.base (), ptr (x.release ()))); - } - - void - insert (iterator position, size_type n, const T& x) - { - sequence_common::insert (position.base (), n, x); - } - - template <typename I> - void - insert (iterator position, const I& begin, const I& end) - { - sequence_common::insert (position.base (), begin, end); - } - - iterator - erase (iterator position) - { - return iterator (v_.erase (position.base ())); - } - - iterator - erase (iterator begin, iterator end) - { - return iterator (v_.erase (begin.base (), end.base ())); - } - - iterator - detach (iterator position, XSD_AUTO_PTR<T>& r, bool erase = true) - { - ptr& p (*position.base ()); - p->_container (0); - r.reset (static_cast<T*> (p.release ())); - - if (erase) - return iterator (v_.erase (position.base ())); - else - return ++position; - } - - // Note that the container object of the two sequences being - // swapped should be the same. - // - void - swap (sequence& x) - { - assert (container_ == x.container_); - v_.swap (x.v_); - } - }; - - - // Specialization for fundamental types. - // - template <typename T> - class sequence<T, true>: public std::vector<T> - { - typedef std::vector<T> base_sequence; - - public: - explicit - sequence (container* = 0) - { - } - - explicit - sequence (typename base_sequence::size_type n, - const T& x = T (), - container* = 0) - : base_sequence (n, x) - { - } - - template <typename I> - sequence (const I& begin, const I& end, container* = 0) - : base_sequence (begin, end) - { - } - - sequence (const sequence& s, flags = 0, container* = 0) - : base_sequence (s) - { - } - }; - - - // Comparison operators. - // - - template <typename T, bool fund> - inline bool - operator== (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return (a.size () == b.size () - && std::equal (a.begin (), a.end (), b.begin ())); - } - - template <typename T, bool fund> - inline bool - operator!= (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return !(a == b); - } - - template <typename T, bool fund> - inline bool - operator< (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return std::lexicographical_compare (a.begin (), a.end (), - b.begin (), b.end ()); - } - - template <typename T, bool fund> - inline bool - operator> (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return b < a; - } - - template <typename T, bool fund> - inline bool - operator<= (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return !(a > b); - } - - template <typename T, bool fund> - inline bool - operator>= (const sequence<T, fund>& a, const sequence<T, fund>& b) - { - return !(a < b); - } - - // Note that the container object of the two sequences being - // swapped should be the same. - // - template <typename T, bool fund> - inline void - swap (sequence<T, fund>& x, sequence<T, fund>& y) - { - x.swap (y); - } - } - } -} - -#include <xsd/cxx/tree/containers.txx> - -#endif // XSD_CXX_TREE_CONTAINERS_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/containers.txx b/xsd/libxsd/xsd/cxx/tree/containers.txx deleted file mode 100644 index 2a3573f..0000000 --- a/xsd/libxsd/xsd/cxx/tree/containers.txx +++ /dev/null @@ -1,296 +0,0 @@ -// file : xsd/cxx/tree/containers.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <ostream> - -#ifdef XSD_CXX11 -# include <utility> // std::move -#endif - -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // one - // - template<typename T> - one<T, false>:: - ~one () - { - delete x_; - } - - template<typename T> - one<T, false>:: - one (container* c) - : x_ (0), container_ (c) - { - } - - template<typename T> - one<T, false>:: - one (const T& x, container* c) - : x_ (0), container_ (c) - { - set (x); - } - - template<typename T> - one<T, false>:: - one (XSD_AUTO_PTR<T> x, container* c) - : x_ (0), container_ (c) - { -#ifdef XSD_CXX11 - set (std::move (x)); -#else - set (x); -#endif - } - - template<typename T> - one<T, false>:: - one (const one<T, false>& x, flags f, container* c) - : x_ (0), container_ (c) - { - if (x.present ()) - set (x.get (), f); - } - - template<typename T> - one<T, false>& one<T, false>:: - operator= (const one<T, false>& x) - { - if (this == &x) - return *this; - - if (x.present ()) - set (x.get ()); - else - { - delete x_; - x_ = 0; - } - - return *this; - } - - template<typename T> - void one<T, false>:: - set (const T& x, flags f) - { - // We always do a fresh copy because T may not be x's - // dynamic type. - // - T* r (x._clone (f, container_)); - - delete x_; - x_ = r; - } - - template<typename T> - void one<T, false>:: - set (XSD_AUTO_PTR<T> x) - { - T* r (0); - - if (x.get () != 0) - { - if (x->_container () != container_) - x->_container (container_); - - r = x.release (); - } - - delete x_; - x_ = r; - } - - // optional - // - template <typename T> - optional<T, false>:: - ~optional () - { - delete x_; - } - - template <typename T> - optional<T, false>:: - optional (container* c) - : x_ (0), container_ (c) - { - } - - template <typename T> - optional<T, false>:: - optional (const T& x, container* c) - : x_ (0), container_ (c) - { - set (x); - } - - template <typename T> - optional<T, false>:: - optional (XSD_AUTO_PTR<T> x, container* c) - : x_ (0), container_ (c) - { -#ifdef XSD_CXX11 - set (std::move (x)); -#else - set (x); -#endif - } - - template <typename T> - optional<T, false>:: - optional (const optional<T, false>& x, flags f, container* c) - : x_ (0), container_ (c) - { - if (x) - set (*x, f); - } - - template <typename T> - optional<T, false>& optional<T, false>:: - operator= (const T& x) - { - if (x_ == &x) - return *this; - - set (x); - - return *this; - } - - template <typename T> - optional<T, false>& optional<T, false>:: - operator= (const optional<T, false>& x) - { - if (this == &x) - return *this; - - if (x) - set (*x); - else - reset (); - - return *this; - } - - template <typename T> - void optional<T, false>:: - set (const T& x, flags f) - { - // We always do a fresh copy because T may not be x's - // dynamic type. - // - T* r (x._clone (f, container_)); - - delete x_; - x_ = r; - } - - template <typename T> - void optional<T, false>:: - set (XSD_AUTO_PTR<T> x) - { - T* r (0); - - if (x.get () != 0) - { - if (x->_container () != container_) - x->_container (container_); - - r = x.release (); - } - - delete x_; - x_ = r; - } - - template <typename T> - void optional<T, false>:: - reset () - { - delete x_; - x_ = 0; - } - - template <typename T> - void optional<T, false>:: - true_ () - { - } - - - // optional - // - template <typename T> - optional<T, true>:: - optional (const T& y, container*) - : present_ (false) - { - set (y); - } - - template <typename T> - optional<T, true>:: - optional (const optional<T, true>& y, flags, container*) - : present_ (false) - { - if (y) - set (*y); - } - - template <typename T> - optional<T, true>& optional<T, true>:: - operator= (const T& y) - { - if (&x_ == &y) - return *this; - - set (y); - - return *this; - } - - template <typename T> - optional<T, true>& optional<T, true>:: - operator= (const optional<T, true>& y) - { - if (this == &y) - return *this; - - if (y) - set (*y); - else - reset (); - - return *this; - } - - template <typename T> - void optional<T, true>:: - true_ () - { - } - - template <typename C, typename T, bool fund> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const optional<T, fund>& x) - { - if (x) - os << *x; - else - os << bits::not_present<C> (); - - return os; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/date-time-extraction.txx b/xsd/libxsd/xsd/cxx/tree/date-time-extraction.txx deleted file mode 100644 index 4ada1a0..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time-extraction.txx +++ /dev/null @@ -1,156 +0,0 @@ -// file : xsd/cxx/tree/date-time-extraction.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - template <typename S> - inline void time_zone:: - zone_extract (istream<S>& s) - { - s >> hours_ >> minutes_; - present_ = true; - } - - // gday - // - template <typename C, typename B> - template <typename S> - gday<C, B>:: - gday (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> day_ >> zp; - - if (zp) - zone_extract (s); - } - - // gmonth - // - template <typename C, typename B> - template <typename S> - gmonth<C, B>:: - gmonth (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> month_ >> zp; - - if (zp) - zone_extract (s); - } - - // gyear - // - template <typename C, typename B> - template <typename S> - gyear<C, B>:: - gyear (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> year_ >> zp; - - if (zp) - zone_extract (s); - } - - // gmonth_day - // - template <typename C, typename B> - template <typename S> - gmonth_day<C, B>:: - gmonth_day (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> month_ >> day_ >> zp; - - if (zp) - zone_extract (s); - } - - // gyear_month - // - template <typename C, typename B> - template <typename S> - gyear_month<C, B>:: - gyear_month (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> year_ >> month_ >> zp; - - if (zp) - zone_extract (s); - } - - // date - // - template <typename C, typename B> - template <typename S> - date<C, B>:: - date (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> year_ >> month_ >> day_ >> zp; - - if (zp) - zone_extract (s); - } - - // time - // - template <typename C, typename B> - template <typename S> - time<C, B>:: - time (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> hours_ >> minutes_ >> seconds_ >> zp; - - if (zp) - zone_extract (s); - } - - // date_time - // - template <typename C, typename B> - template <typename S> - date_time<C, B>:: - date_time (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - bool zp; - s >> year_ >> month_ >> day_ - >> hours_ >> minutes_ >> seconds_ >> zp; - - if (zp) - zone_extract (s); - } - - // duration - // - template <typename C, typename B> - template <typename S> - duration<C, B>:: - duration (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - s >> negative_ - >> years_ >> months_ >> days_ - >> hours_ >> minutes_ >> seconds_; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/date-time-insertion.txx b/xsd/libxsd/xsd/cxx/tree/date-time-insertion.txx deleted file mode 100644 index b41ffce..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time-insertion.txx +++ /dev/null @@ -1,187 +0,0 @@ -// file : xsd/cxx/tree/date-time-insertion.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, const time_zone& z) - { - return s << z.zone_hours () << z.zone_minutes (); - } - - // gday - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const gday<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.day () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // gmonth - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const gmonth<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.month () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // gyear - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const gyear<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.year () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // gmonth_day - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const gmonth_day<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.month () << x.day () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // gyear_month - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const gyear_month<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.year () << x.month () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // date - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const date<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.year () << x.month () << x.day () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // time - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const time<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.hours () << x.minutes () << x.seconds () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // date_time - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const date_time<C, B>& x) - { - bool zp (x.zone_present ()); - - s << x.year () << x.month () << x.day () - << x.hours () << x.minutes () << x.seconds () << zp; - - if (zp) - { - const time_zone& z (x); - s << z; - } - - return s; - } - - // duration - // - template <typename S, typename C, typename B> - ostream<S>& - operator<< (ostream<S>& s, const duration<C, B>& x) - { - s << x.negative () - << x.years () << x.months () << x.days () - << x.hours () << x.minutes () << x.seconds (); - - return s; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/date-time-ostream.txx b/xsd/libxsd/xsd/cxx/tree/date-time-ostream.txx deleted file mode 100644 index 830cd49..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time-ostream.txx +++ /dev/null @@ -1,323 +0,0 @@ -// file : xsd/cxx/tree/date-time-ostream.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <ostream> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - template <typename C> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const time_zone& z) - { - short h = z.zone_hours (); - short m = z.zone_minutes (); - - if (h == 0 && m == 0) - { - os << C ('Z'); - } - else - { - if (h < 0 || m < 0) - { - h = -h; - m = -m; - os << C ('-'); - } - else - os << C ('+'); - - C f (os.fill (C ('0'))); - - os.width (2); - os << h << C (':'); - os.width (2); - os << m; - - os.fill (f); - } - - return os; - } - - // gday - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const gday<C, B>& x) - { - C f (os.fill (C ('0'))); - os.width (2); - os << x.day (); - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // gmonth - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const gmonth<C, B>& x) - { - C f (os.fill (C ('0'))); - os.width (2); - os << x.month (); - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // gyear - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const gyear<C, B>& x) - { - C f (os.fill (C ('0'))); - os.width (4); - os << x.year (); - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // gmonth_day - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const gmonth_day<C, B>& x) - { - C f (os.fill (C ('0'))); - - os.width (2); - os << x.month () << C ('-'); - - os.width (2); - os << x.day (); - - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - - // gyear_month - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const gyear_month<C, B>& x) - { - C f (os.fill (C ('0'))); - - os.width (4); - os << x.year () << C ('-'); - - os.width (2); - os << x.month (); - - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // date - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const date<C, B>& x) - { - C f (os.fill (C ('0'))); - - os.width (4); - os << x.year () << C ('-'); - - os.width (2); - os << x.month () << C ('-'); - - os.width (2); - os << x.day (); - - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // time - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const time<C, B>& x) - { - C f (os.fill (C ('0'))); - - os.width (2); - os << x.hours () << C (':'); - - os.width (2); - os << x.minutes () << C (':'); - - os.width (9); - std::ios_base::fmtflags ff ( - os.setf (std::ios::fixed, std::ios::floatfield)); - os << x.seconds (); - os.setf (ff, std::ios::floatfield); - - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // date_time - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const date_time<C, B>& x) - { - C f (os.fill (C ('0'))); - - os.width (4); - os << x.year () << C ('-'); - - os.width (2); - os << x.month () << C ('-'); - - os.width (2); - os << x.day () << C ('T'); - - os.width (2); - os << x.hours () << C (':'); - - os.width (2); - os << x.minutes () << C (':'); - - os.width (9); - std::ios_base::fmtflags ff ( - os.setf (std::ios::fixed, std::ios::floatfield)); - os << x.seconds (); - os.setf (ff, std::ios::floatfield); - - os.fill (f); - - if (x.zone_present ()) - { - const time_zone& z (x); - os << z; - } - - return os; - } - - // duration - // - template <typename C, typename B> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const duration<C, B>& x) - { - if (x.negative ()) - os << C ('-'); - - os << C ('P'); - - // In case it is 0-duration, use the years field to handle - // this case. - // - if (x.years () != 0 || - (x.months () == 0 && - x.days () == 0 && - x.hours () == 0 && - x.minutes () == 0 && - x.seconds () == 0.0)) - { - os << x.years () << C ('Y'); - } - - if (x.months () != 0) - { - os << x.months () << C ('M'); - } - - if (x.days () != 0) - { - os << x.days () << C ('D'); - } - - // Figure out if we need the 'T' delimiter. - // - if (x.hours () != 0 || - x.minutes () != 0 || - x.seconds () != 0.0) - os << C ('T'); - - if (x.hours () != 0) - { - os << x.hours () << C ('H'); - } - - if (x.minutes () != 0) - { - os << x.minutes () << C ('M'); - } - - if (x.seconds () > 0.0) - { - std::ios_base::fmtflags ff ( - os.setf (std::ios::fixed, std::ios::floatfield)); - os << x.seconds () << C ('S'); - os.setf (ff, std::ios::floatfield); - } - - return os; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/date-time.hxx b/xsd/libxsd/xsd/cxx/tree/date-time.hxx deleted file mode 100644 index 9526f92..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time.hxx +++ /dev/null @@ -1,1950 +0,0 @@ -// file : xsd/cxx/tree/date-time.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -/** - * @file - * - * @brief Contains C++ class definitions for the XML Schema date/time types. - * - * This is an internal header and is included by the generated code. You - * normally should not include it directly. - * - */ - -#ifndef XSD_CXX_TREE_DATE_TIME_HXX -#define XSD_CXX_TREE_DATE_TIME_HXX - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/istream-fwd.hxx> - -namespace xsd -{ - namespace cxx - { - /** - * @brief C++/Tree mapping runtime namespace. - * - * This is an internal namespace and normally should not be referenced - * directly. Instead you should use the aliases for types in this - * namespaces that are created in the generated code. - * - */ - namespace tree - { - /** - * @brief Time zone representation - * - * The %time_zone class represents an optional %time zone and - * is used as a base class for date/time types. - * - * The %time zone can negative in which case both the hours and - * minutes components should be negative. - * - * @nosubgrouping - */ - class time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor. - * - * This constructor initializes the instance to the 'not specified' - * state. - */ - time_zone (); - - /** - * @brief Initialize an instance with the hours and minutes - * components. - * - * @param hours The %time zone hours component. - * @param minutes The %time zone minutes component. - */ - time_zone (short hours, short minutes); - - //@} - - /** - * @brief Determine if %time zone is specified. - * - * @return True if %time zone is specified, false otherwise. - */ - bool - zone_present () const; - - /** - * @brief Reset the %time zone to the 'not specified' state. - * - */ - void - zone_reset (); - - /** - * @brief Get the hours component of the %time zone. - * - * @return The hours component of the %time zone. - */ - short - zone_hours () const; - - /** - * @brief Set the hours component of the %time zone. - * - * @param h The new hours component. - */ - void - zone_hours (short h); - - - /** - * @brief Get the minutes component of the %time zone. - * - * @return The minutes component of the %time zone. - */ - short - zone_minutes () const; - - /** - * @brief Set the minutes component of the %time zone. - * - * @param m The new minutes component. - */ - void - zone_minutes (short m); - - protected: - //@cond - - template <typename C> - void - zone_parse (const C*, std::size_t); - - template <typename S> - void - zone_extract (istream<S>&); - - //@endcond - - private: - bool present_; - short hours_; - short minutes_; - }; - - /** - * @brief %time_zone comparison operator. - * - * @return True if both %time zones are either not specified or - * have equal hours and minutes components, false otherwise. - */ - bool - operator== (const time_zone&, const time_zone&); - - /** - * @brief %time_zone comparison operator. - * - * @return False if both %time zones are either not specified or - * have equal hours and minutes components, true otherwise. - */ - bool - operator!= (const time_zone&, const time_zone&); - - - /** - * @brief Class corresponding to the XML Schema gDay built-in type. - * - * The %gday class represents a day of the month with an optional - * %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class gday: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the day component. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param day The day component. - */ - explicit - gday (unsigned short day); - - /** - * @brief Initialize an instance with the day component and %time - * zone. - * - * @param day The day component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - gday (unsigned short day, short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - gday (const gday& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual gday* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - gday (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gday (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gday (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gday (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the day component. - * - * @return The day component. - */ - unsigned short - day () const; - - /** - * @brief Set the day component. - * - * @param d The new day component. - */ - void - day (unsigned short d); - - protected: - //@cond - - gday (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - unsigned short day_; - }; - - /** - * @brief %gday comparison operator. - * - * @return True if the day components and %time zones are equal, false - * otherwise. - */ - template <typename C, typename B> - bool - operator== (const gday<C, B>&, const gday<C, B>&); - - /** - * @brief %gday comparison operator. - * - * @return False if the day components and %time zones are equal, true - * otherwise. - */ - template <typename C, typename B> - bool - operator!= (const gday<C, B>&, const gday<C, B>&); - - /** - * @brief Class corresponding to the XML Schema gMonth built-in type. - * - * The %gmonth class represents a month of the year with an optional - * %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class gmonth: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the month component. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param month The month component. - */ - explicit - gmonth (unsigned short month); - - /** - * @brief Initialize an instance with the month component and %time - * zone. - * - * @param month The month component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - gmonth (unsigned short month, short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - gmonth (const gmonth& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual gmonth* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - gmonth (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the month component. - * - * @return The month component. - */ - unsigned short - month () const; - - /** - * @brief Set the month component. - * - * @param m The new month component. - */ - void - month (unsigned short m); - - protected: - //@cond - - gmonth (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - unsigned short month_; - }; - - /** - * @brief %gmonth comparison operator. - * - * @return True if the month components and %time zones are equal, false - * otherwise. - */ - template <typename C, typename B> - bool - operator== (const gmonth<C, B>&, const gmonth<C, B>&); - - /** - * @brief %gmonth comparison operator. - * - * @return False if the month components and %time zones are equal, true - * otherwise. - */ - template <typename C, typename B> - bool - operator!= (const gmonth<C, B>&, const gmonth<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema gYear built-in type. - * - * The %gyear class represents a year with an optional %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class gyear: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the year component. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param year The year component. - */ - explicit - gyear (int year); - - /** - * @brief Initialize an instance with the year component and %time - * zone. - * - * @param year The year component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - gyear (int year, short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - gyear (const gyear& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual gyear* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - gyear (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the year component. - * - * @return The year component. - */ - int - year () const; - - /** - * @brief Set the year component. - * - * @param y The new year component. - */ - void - year (int y); - - protected: - //@cond - - gyear (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - int year_; - }; - - /** - * @brief %gyear comparison operator. - * - * @return True if the year components and %time zones are equal, false - * otherwise. - */ - template <typename C, typename B> - bool - operator== (const gyear<C, B>&, const gyear<C, B>&); - - /** - * @brief %gyear comparison operator. - * - * @return False if the year components and %time zones are equal, true - * otherwise. - */ - template <typename C, typename B> - bool - operator!= (const gyear<C, B>&, const gyear<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema gMonthDay built-in type. - * - * The %gmonth_day class represents day and month of the year with an - * optional %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class gmonth_day: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the month and day components. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param month The month component. - * @param day The day component. - */ - gmonth_day (unsigned short month, unsigned short day); - - /** - * @brief Initialize an instance with the month and day components - * as well as %time zone. - * - * @param month The month component. - * @param day The day component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - gmonth_day (unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - gmonth_day (const gmonth_day& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual gmonth_day* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - gmonth_day (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth_day (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth_day (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gmonth_day (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the month component. - * - * @return The month component. - */ - unsigned short - month () const; - - /** - * @brief Set the month component. - * - * @param m The new month component. - */ - void - month (unsigned short m); - - /** - * @brief Get the day component. - * - * @return The day component. - */ - unsigned short - day () const; - - /** - * @brief Set the day component. - * - * @param d The new day component. - */ - void - day (unsigned short d); - - protected: - //@cond - - gmonth_day (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - unsigned short month_; - unsigned short day_; - }; - - /** - * @brief %gmonth_day comparison operator. - * - * @return True if the month and day components as well as %time zones - * are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const gmonth_day<C, B>&, const gmonth_day<C, B>&); - - /** - * @brief %gmonth_day comparison operator. - * - * @return False if the month and day components as well as %time zones - * are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const gmonth_day<C, B>&, const gmonth_day<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema gYearMonth built-in - * type. - * - * The %gyear_month class represents year and month with an optional - * %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class gyear_month: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the year and month components. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param year The year component. - * @param month The month component. - */ - gyear_month (int year, unsigned short month); - - /** - * @brief Initialize an instance with the year and month components - * as well as %time zone. - * - * @param year The year component. - * @param month The month component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - gyear_month (int year, unsigned short month, - short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - gyear_month (const gyear_month& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual gyear_month* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - gyear_month (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear_month (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear_month (const xercesc::DOMAttr& a, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - gyear_month (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the year component. - * - * @return The year component. - */ - int - year () const; - - /** - * @brief Set the year component. - * - * @param y The new year component. - */ - void - year (int y); - - /** - * @brief Get the month component. - * - * @return The month component. - */ - unsigned short - month () const; - - /** - * @brief Set the month component. - * - * @param m The new month component. - */ - void - month (unsigned short m); - - protected: - //@cond - - gyear_month (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - int year_; - unsigned short month_; - }; - - /** - * @brief %gyear_month comparison operator. - * - * @return True if the year and month components as well as %time zones - * are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const gyear_month<C, B>&, const gyear_month<C, B>&); - - /** - * @brief %gyear_month comparison operator. - * - * @return False if the year and month components as well as %time zones - * are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const gyear_month<C, B>&, const gyear_month<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema %date built-in type. - * - * The %date class represents day, month, and year with an optional - * %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class date: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the year, month, and day - * components. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param year The year component. - * @param month The month component. - * @param day The day component. - */ - date (int year, unsigned short month, unsigned short day); - - /** - * @brief Initialize an instance with the year, month, and day - * components as well as %time zone. - * - * @param year The year component. - * @param month The month component. - * @param day The day component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - date (int year, unsigned short month, unsigned short day, - short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - date (const date& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual date* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - date (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the year component. - * - * @return The year component. - */ - int - year () const; - - /** - * @brief Set the year component. - * - * @param y The new year component. - */ - void - year (int y); - - /** - * @brief Get the month component. - * - * @return The month component. - */ - unsigned short - month () const; - - /** - * @brief Set the month component. - * - * @param m The new month component. - */ - void - month (unsigned short m); - - /** - * @brief Get the day component. - * - * @return The day component. - */ - unsigned short - day () const; - - /** - * @brief Set the day component. - * - * @param d The new day component. - */ - void - day (unsigned short d); - - protected: - //@cond - - date (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - int year_; - unsigned short month_; - unsigned short day_; - }; - - /** - * @brief %date comparison operator. - * - * @return True if the year, month, and day components as well as %time - * zones are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const date<C, B>&, const date<C, B>&); - - /** - * @brief %date comparison operator. - * - * @return False if the year, month, and day components as well as %time - * zones are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const date<C, B>&, const date<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema %time built-in type. - * - * The %time class represents hours, minutes, and seconds with an - * optional %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class time: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the hours, minutes, and - * seconds components. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param hours The hours component. - * @param minutes The minutes component. - * @param seconds The seconds component. - */ - time (unsigned short hours, unsigned short minutes, double seconds); - - /** - * @brief Initialize an instance with the hours, minutes, and - * seconds components as well as %time zone. - * - * @param hours The hours component. - * @param minutes The minutes component. - * @param seconds The seconds component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - time (unsigned short hours, unsigned short minutes, double seconds, - short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - time (const time& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual time* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - time (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - time (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - time (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - time (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the hours component. - * - * @return The hours component. - */ - unsigned short - hours () const; - - /** - * @brief Set the hours component. - * - * @param h The new hours component. - */ - void - hours (unsigned short h); - - /** - * @brief Get the minutes component. - * - * @return The minutes component. - */ - unsigned short - minutes () const; - - /** - * @brief Set the minutes component. - * - * @param m The new minutes component. - */ - void - minutes (unsigned short m); - - /** - * @brief Get the seconds component. - * - * @return The seconds component. - */ - double - seconds () const; - - /** - * @brief Set the seconds component. - * - * @param s The new seconds component. - */ - void - seconds (double s); - - protected: - //@cond - - time (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - unsigned short hours_; - unsigned short minutes_; - double seconds_; - }; - - /** - * @brief %time comparison operator. - * - * @return True if the hours, seconds, and minutes components as well - * as %time zones are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const time<C, B>&, const time<C, B>&); - - /** - * @brief %time comparison operator. - * - * @return False if the hours, seconds, and minutes components as well - * as %time zones are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const time<C, B>&, const time<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema dateTime built-in type. - * - * The %date_time class represents year, month, day, hours, minutes, - * and seconds with an optional %time zone. - * - * @nosubgrouping - */ - template <typename C, typename B> - class date_time: public B, public time_zone - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with the year, month, day, hours, - * minutes, and seconds components. - * - * When this constructor is used, the %time zone is left - * unspecified. - * - * @param year The year component. - * @param month The month component. - * @param day The day component. - * @param hours The hours component. - * @param minutes The minutes component. - * @param seconds The seconds component. - */ - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds); - - /** - * @brief Initialize an instance with the year, month, day, hours, - * minutes, and seconds components as well as %time zone. - * - * @param year The year component. - * @param month The month component. - * @param day The day component. - * @param hours The hours component. - * @param minutes The minutes component. - * @param seconds The seconds component. - * @param zone_hours The %time zone hours component. - * @param zone_minutes The %time zone minutes component. - */ - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, - double seconds, short zone_hours, short zone_minutes); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - date_time (const date_time& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual date_time* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - date_time (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date_time (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date_time (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - date_time (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Get the year component. - * - * @return The year component. - */ - int - year () const; - - /** - * @brief Set the year component. - * - * @param y The new year component. - */ - void - year (int y); - - /** - * @brief Get the month component. - * - * @return The month component. - */ - unsigned short - month () const; - - /** - * @brief Set the month component. - * - * @param m The new month component. - */ - void - month (unsigned short m); - - /** - * @brief Get the day component. - * - * @return The day component. - */ - unsigned short - day () const; - - /** - * @brief Set the day component. - * - * @param d The new day component. - */ - void - day (unsigned short d); - - /** - * @brief Get the hours component. - * - * @return The hours component. - */ - unsigned short - hours () const; - - /** - * @brief Set the hours component. - * - * @param h The new hours component. - */ - void - hours (unsigned short h); - - /** - * @brief Get the minutes component. - * - * @return The minutes component. - */ - unsigned short - minutes () const; - - /** - * @brief Set the minutes component. - * - * @param m The new minutes component. - */ - void - minutes (unsigned short m); - - /** - * @brief Get the seconds component. - * - * @return The seconds component. - */ - double - seconds () const; - - /** - * @brief Set the seconds component. - * - * @param s The new seconds component. - */ - void - seconds (double s); - - protected: - //@cond - - date_time (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - int year_; - unsigned short month_; - unsigned short day_; - unsigned short hours_; - unsigned short minutes_; - double seconds_; - }; - - /** - * @brief %date_time comparison operator. - * - * @return True if the year, month, day, hours, seconds, and minutes - * components as well as %time zones are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const date_time<C, B>&, const date_time<C, B>&); - - /** - * @brief %date_time comparison operator. - * - * @return False if the year, month, day, hours, seconds, and minutes - * components as well as %time zones are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const date_time<C, B>&, const date_time<C, B>&); - - - /** - * @brief Class corresponding to the XML Schema %duration built-in type. - * - * The %duration class represents a potentially negative %duration in - * the form of years, months, days, hours, minutes, and seconds. - * - * @nosubgrouping - */ - template <typename C, typename B> - class duration: public B - { - public: - /** - * @name Constructors - */ - //@{ - /** - * @brief Initialize a potentially negative instance with the years, - * months, days, hours, minutes, and seconds components. - * - * @param negative A boolean value indicating whether the %duration - * is negative (true) or positive (false). - * @param years The years component. - * @param months The months component. - * @param days The days component. - * @param hours The hours component. - * @param minutes The minutes component. - * @param seconds The seconds component. - */ - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds); - - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the _clone function instead. - */ - duration (const duration& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual duration* - _clone (flags f = 0, container* c = 0) const; - - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - duration (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - duration (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - duration (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - duration (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Determine if %duration is negative. - * - * @return True if %duration is negative, false otherwise. - */ - bool - negative () const; - - /** - * @brief Change %duration sign. - * - * @param n A boolean value indicating whether %duration is - * negative (true) or positive (false). - */ - void - negative (bool n); - - /** - * @brief Get the years component. - * - * @return The years component. - */ - unsigned int - years () const; - - /** - * @brief Set the years component. - * - * @param y The new years component. - */ - void - years (unsigned int y); - - /** - * @brief Get the months component. - * - * @return The months component. - */ - unsigned int - months () const; - - /** - * @brief Set the months component. - * - * @param m The new months component. - */ - void - months (unsigned int m); - - /** - * @brief Get the days component. - * - * @return The days component. - */ - unsigned int - days () const; - - /** - * @brief Set the days component. - * - * @param d The new days component. - */ - void - days (unsigned int d); - - /** - * @brief Get the hours component. - * - * @return The hours component. - */ - unsigned int - hours () const; - - /** - * @brief Set the hours component. - * - * @param h The new hours component. - */ - void - hours (unsigned int h); - - /** - * @brief Get the minutes component. - * - * @return The minutes component. - */ - unsigned int - minutes () const; - - /** - * @brief Set the minutes component. - * - * @param m The new minutes component. - */ - void - minutes (unsigned int m); - - /** - * @brief Get the seconds component. - * - * @return The seconds component. - */ - double - seconds () const; - - /** - * @brief Set the seconds component. - * - * @param s The new seconds component. - */ - void - seconds (double s); - - protected: - //@cond - - duration (); - - void - parse (const std::basic_string<C>&); - - //@endcond - - private: - bool negative_; - unsigned int years_; - unsigned int months_; - unsigned int days_; - unsigned int hours_; - unsigned int minutes_; - double seconds_; - }; - - /** - * @brief %duration comparison operator. - * - * @return True if the sings as well as years, months, days, hours, - * seconds, and minutes components are equal, false otherwise. - */ - template <typename C, typename B> - bool - operator== (const duration<C, B>&, const duration<C, B>&); - - /** - * @brief %duration comparison operator. - * - * @return False if the sings as well as years, months, days, hours, - * seconds, and minutes components are equal, true otherwise. - */ - template <typename C, typename B> - bool - operator!= (const duration<C, B>&, const duration<C, B>&); - } - } -} - -#include <xsd/cxx/tree/date-time.ixx> -#include <xsd/cxx/tree/date-time.txx> - -#endif // XSD_CXX_TREE_DATE_TIME_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/date-time.ixx b/xsd/libxsd/xsd/cxx/tree/date-time.ixx deleted file mode 100644 index 00d7f8c..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time.ixx +++ /dev/null @@ -1,892 +0,0 @@ -// file : xsd/cxx/tree/date-time.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - inline time_zone:: - time_zone () - : present_ (false) - { - } - - inline time_zone:: - time_zone (short h, short m) - : present_ (true), hours_ (h), minutes_ (m) - { - } - - inline bool time_zone:: - zone_present () const - { - return present_; - } - - inline void time_zone:: - zone_reset () - { - present_ = false; - } - - inline short time_zone:: - zone_hours () const - { - return hours_; - } - - inline void time_zone:: - zone_hours (short h) - { - hours_ = h; - present_ = true; - } - - inline short time_zone:: - zone_minutes () const - { - return minutes_; - } - - inline void time_zone:: - zone_minutes (short m) - { - minutes_ = m; - present_ = true; - } - - inline bool - operator== (const time_zone& x, const time_zone& y) - { - return x.zone_present () - ? y.zone_present () && - x.zone_hours () == y.zone_hours () && - x.zone_minutes () == y.zone_minutes () - : !y.zone_present (); - } - - inline bool - operator!= (const time_zone& x, const time_zone& y) - { - return !(x == y); - } - - // gday - // - template <typename C, typename B> - inline gday<C, B>:: - gday () - { - } - - template <typename C, typename B> - inline gday<C, B>:: - gday (unsigned short day) - : day_ (day) - { - } - - template <typename C, typename B> - inline gday<C, B>:: - gday (unsigned short day, short zone_h, short zone_m) - : time_zone (zone_h, zone_m), day_ (day) - { - } - - template <typename C, typename B> - inline gday<C, B>:: - gday (const gday& x, flags f, container* c) - : B (x, f, c), time_zone (x), day_ (x.day_) - { - } - - template <typename C, typename B> - inline unsigned short gday<C, B>:: - day () const - { - return day_; - } - - template <typename C, typename B> - inline void gday<C, B>:: - day (unsigned short day) - { - day_ = day; - } - - template <typename C, typename B> - inline bool - operator== (const gday<C, B>& x, const gday<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.day () == y.day () && xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const gday<C, B>& x, const gday<C, B>& y) - { - return !(x == y); - } - - // gmonth - // - template <typename C, typename B> - inline gmonth<C, B>:: - gmonth () - { - } - - template <typename C, typename B> - inline gmonth<C, B>:: - gmonth (unsigned short month) - : month_ (month) - { - } - - template <typename C, typename B> - inline gmonth<C, B>:: - gmonth (unsigned short month, short zone_h, short zone_m) - : time_zone (zone_h, zone_m), month_ (month) - { - } - - template <typename C, typename B> - inline gmonth<C, B>:: - gmonth (const gmonth& x, flags f, container* c) - : B (x, f, c), time_zone (x), month_ (x.month_) - { - } - - template <typename C, typename B> - inline unsigned short gmonth<C, B>:: - month () const - { - return month_; - } - - template <typename C, typename B> - inline void gmonth<C, B>:: - month (unsigned short month) - { - month_ = month; - } - - template <typename C, typename B> - inline bool - operator== (const gmonth<C, B>& x, const gmonth<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.month () == y.month () && xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const gmonth<C, B>& x, const gmonth<C, B>& y) - { - return !(x == y); - } - - // gyear - // - template <typename C, typename B> - inline gyear<C, B>:: - gyear () - { - } - - template <typename C, typename B> - inline gyear<C, B>:: - gyear (int year) - : year_ (year) - { - } - - template <typename C, typename B> - inline gyear<C, B>:: - gyear (int year, short zone_h, short zone_m) - : time_zone (zone_h, zone_m), year_ (year) - { - } - - template <typename C, typename B> - inline gyear<C, B>:: - gyear (const gyear& x, flags f, container* c) - : B (x, f, c), time_zone (x), year_ (x.year_) - { - } - - template <typename C, typename B> - inline int gyear<C, B>:: - year () const - { - return year_; - } - - template <typename C, typename B> - inline void gyear<C, B>:: - year (int year) - { - year_ = year; - } - - template <typename C, typename B> - inline bool - operator== (const gyear<C, B>& x, const gyear<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.year () == y.year () && xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const gyear<C, B>& x, const gyear<C, B>& y) - { - return !(x == y); - } - - // gmonth_day - // - template <typename C, typename B> - inline gmonth_day<C, B>:: - gmonth_day () - { - } - - template <typename C, typename B> - inline gmonth_day<C, B>:: - gmonth_day (unsigned short month, unsigned short day) - : month_ (month), day_ (day) - { - } - - template <typename C, typename B> - inline gmonth_day<C, B>:: - gmonth_day (unsigned short month, unsigned short day, - short zone_h, short zone_m) - : time_zone (zone_h, zone_m), month_ (month), day_ (day) - { - } - - template <typename C, typename B> - inline gmonth_day<C, B>:: - gmonth_day (const gmonth_day& x, flags f, container* c) - : B (x, f, c), time_zone (x), month_ (x.month_), day_ (x.day_) - { - } - - template <typename C, typename B> - inline unsigned short gmonth_day<C, B>:: - month () const - { - return month_; - } - - template <typename C, typename B> - inline void gmonth_day<C, B>:: - month (unsigned short month) - { - month_ = month; - } - - template <typename C, typename B> - inline unsigned short gmonth_day<C, B>:: - day () const - { - return day_; - } - - template <typename C, typename B> - inline void gmonth_day<C, B>:: - day (unsigned short day) - { - day_ = day; - } - - template <typename C, typename B> - inline bool - operator== (const gmonth_day<C, B>& x, const gmonth_day<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.month () == y.month () && - x.day () == y.day () && - xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const gmonth_day<C, B>& x, const gmonth_day<C, B>& y) - { - return !(x == y); - } - - // gyear_month - // - template <typename C, typename B> - inline gyear_month<C, B>:: - gyear_month () - { - } - - template <typename C, typename B> - inline gyear_month<C, B>:: - gyear_month (int year, unsigned short month) - : year_ (year), month_ (month) - { - } - - template <typename C, typename B> - inline gyear_month<C, B>:: - gyear_month (int year, unsigned short month, - short zone_h, short zone_m) - : time_zone (zone_h, zone_m), year_ (year), month_ (month) - { - } - - template <typename C, typename B> - inline gyear_month<C, B>:: - gyear_month (const gyear_month& x, flags f, container* c) - : B (x, f, c), time_zone (x), year_ (x.year_), month_ (x.month_) - { - } - - template <typename C, typename B> - inline int gyear_month<C, B>:: - year () const - { - return year_; - } - - template <typename C, typename B> - inline void gyear_month<C, B>:: - year (int year) - { - year_ = year; - } - - template <typename C, typename B> - inline unsigned short gyear_month<C, B>:: - month () const - { - return month_; - } - - template <typename C, typename B> - inline void gyear_month<C, B>:: - month (unsigned short month) - { - month_ = month; - } - - template <typename C, typename B> - inline bool - operator== (const gyear_month<C, B>& x, const gyear_month<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.year () == y.year () && - x.month () == y.month () && - xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const gyear_month<C, B>& x, const gyear_month<C, B>& y) - { - return !(x == y); - } - - // date - // - template <typename C, typename B> - inline date<C, B>:: - date () - { - } - - template <typename C, typename B> - inline date<C, B>:: - date (int year, unsigned short month, unsigned short day) - : year_ (year), month_ (month), day_ (day) - { - } - - template <typename C, typename B> - inline date<C, B>:: - date (int year, unsigned short month, unsigned short day, - short zone_h, short zone_m) - : time_zone (zone_h, zone_m), - year_ (year), month_ (month), day_ (day) - { - } - - template <typename C, typename B> - inline date<C, B>:: - date (const date& x, flags f, container* c) - : B (x, f, c), time_zone (x), - year_ (x.year_), month_ (x.month_), day_ (x.day_) - { - } - - template <typename C, typename B> - inline int date<C, B>:: - year () const - { - return year_; - } - - template <typename C, typename B> - inline void date<C, B>:: - year (int year) - { - year_ = year; - } - - template <typename C, typename B> - inline unsigned short date<C, B>:: - month () const - { - return month_; - } - - template <typename C, typename B> - inline void date<C, B>:: - month (unsigned short month) - { - month_ = month; - } - - template <typename C, typename B> - inline unsigned short date<C, B>:: - day () const - { - return day_; - } - - template <typename C, typename B> - inline void date<C, B>:: - day (unsigned short day) - { - day_ = day; - } - - template <typename C, typename B> - inline bool - operator== (const date<C, B>& x, const date<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.year () == y.year () && - x.month () == y.month () && - x.day () == y.day () && - xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const date<C, B>& x, const date<C, B>& y) - { - return !(x == y); - } - - // time - // - template <typename C, typename B> - inline time<C, B>:: - time () - { - } - - template <typename C, typename B> - inline time<C, B>:: - time (unsigned short hours, unsigned short minutes, double seconds) - : hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - template <typename C, typename B> - inline time<C, B>:: - time (unsigned short hours, unsigned short minutes, double seconds, - short zone_h, short zone_m) - : time_zone (zone_h, zone_m), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - template <typename C, typename B> - inline time<C, B>:: - time (const time& x, flags f, container* c) - : B (x, f, c), time_zone (x), - hours_ (x.hours_), minutes_ (x.minutes_), seconds_ (x.seconds_) - { - } - - template <typename C, typename B> - inline unsigned short time<C, B>:: - hours () const - { - return hours_; - } - - template <typename C, typename B> - inline void time<C, B>:: - hours (unsigned short hours) - { - hours_ = hours; - } - - template <typename C, typename B> - inline unsigned short time<C, B>:: - minutes () const - { - return minutes_; - } - - template <typename C, typename B> - inline void time<C, B>:: - minutes (unsigned short minutes) - { - minutes_ = minutes; - } - - template <typename C, typename B> - inline double time<C, B>:: - seconds () const - { - return seconds_; - } - - template <typename C, typename B> - inline void time<C, B>:: - seconds (double seconds) - { - seconds_ = seconds; - } - - template <typename C, typename B> - inline bool - operator== (const time<C, B>& x, const time<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.hours () == y.hours () && - x.minutes () == y.minutes () && - x.seconds () == y.seconds () && - xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const time<C, B>& x, const time<C, B>& y) - { - return !(x == y); - } - - // date_time - // - template <typename C, typename B> - inline date_time<C, B>:: - date_time () - { - } - - template <typename C, typename B> - inline date_time<C, B>:: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds) - : year_ (year), month_ (month), day_ (day), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - template <typename C, typename B> - inline date_time<C, B>:: - date_time (int year, unsigned short month, unsigned short day, - unsigned short hours, unsigned short minutes, double seconds, - short zone_h, short zone_m) - : time_zone (zone_h, zone_m), - year_ (year), month_ (month), day_ (day), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - template <typename C, typename B> - inline date_time<C, B>:: - date_time (const date_time& x, flags f, container* c) - : B (x, f, c), time_zone (x), - year_ (x.year_), month_ (x.month_), day_ (x.day_), - hours_ (x.hours_), minutes_ (x.minutes_), seconds_ (x.seconds_) - { - } - - template <typename C, typename B> - inline int date_time<C, B>:: - year () const - { - return year_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - year (int year) - { - year_ = year; - } - - template <typename C, typename B> - inline unsigned short date_time<C, B>:: - month () const - { - return month_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - month (unsigned short month) - { - month_ = month; - } - - template <typename C, typename B> - inline unsigned short date_time<C, B>:: - day () const - { - return day_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - day (unsigned short day) - { - day_ = day; - } - - template <typename C, typename B> - inline unsigned short date_time<C, B>:: - hours () const - { - return hours_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - hours (unsigned short hours) - { - hours_ = hours; - } - - template <typename C, typename B> - inline unsigned short date_time<C, B>:: - minutes () const - { - return minutes_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - minutes (unsigned short minutes) - { - minutes_ = minutes; - } - - template <typename C, typename B> - inline double date_time<C, B>:: - seconds () const - { - return seconds_; - } - - template <typename C, typename B> - inline void date_time<C, B>:: - seconds (double seconds) - { - seconds_ = seconds; - } - - template <typename C, typename B> - inline bool - operator== (const date_time<C, B>& x, const date_time<C, B>& y) - { - const time_zone& xz = x; - const time_zone& yz = y; - - return x.year () == y.year () && - x.month () == y.month () && - x.day () == y.day () && - x.hours () == y.hours () && - x.minutes () == y.minutes () && - x.seconds () == y.seconds () && - xz == yz; - } - - template <typename C, typename B> - inline bool - operator!= (const date_time<C, B>& x, const date_time<C, B>& y) - { - return !(x == y); - } - - // duration - // - template <typename C, typename B> - inline duration<C, B>:: - duration () - { - } - - template <typename C, typename B> - inline duration<C, B>:: - duration (bool negative, - unsigned int years, unsigned int months, unsigned int days, - unsigned int hours, unsigned int minutes, double seconds) - : negative_ (negative), - years_ (years), months_ (months), days_ (days), - hours_ (hours), minutes_ (minutes), seconds_ (seconds) - { - } - - template <typename C, typename B> - inline duration<C, B>:: - duration (const duration& x, flags f, container* c) - : B (x, f, c), negative_ (x.negative_), - years_ (x.years_), months_ (x.months_), days_ (x.days_), - hours_ (x.hours_), minutes_ (x.minutes_), seconds_ (x.seconds_) - { - } - - template <typename C, typename B> - inline bool duration<C, B>:: - negative () const - { - return negative_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - negative (bool negative) - { - negative_ = negative; - } - - template <typename C, typename B> - inline unsigned int duration<C, B>:: - years () const - { - return years_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - years (unsigned int years) - { - years_ = years; - } - - template <typename C, typename B> - inline unsigned int duration<C, B>:: - months () const - { - return months_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - months (unsigned int months) - { - months_ = months; - } - - template <typename C, typename B> - inline unsigned int duration<C, B>:: - days () const - { - return days_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - days (unsigned int days) - { - days_ = days; - } - - template <typename C, typename B> - inline unsigned int duration<C, B>:: - hours () const - { - return hours_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - hours (unsigned int hours) - { - hours_ = hours; - } - - template <typename C, typename B> - inline unsigned int duration<C, B>:: - minutes () const - { - return minutes_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - minutes (unsigned int minutes) - { - minutes_ = minutes; - } - - template <typename C, typename B> - inline double duration<C, B>:: - seconds () const - { - return seconds_; - } - - template <typename C, typename B> - inline void duration<C, B>:: - seconds (double seconds) - { - seconds_ = seconds; - } - - template <typename C, typename B> - inline bool - operator== (const duration<C, B>& x, const duration<C, B>& y) - { - return x.negative () == y.negative () && - x.years () == y.years () && - x.months () == y.months () && - x.days () == y.days () && - x.hours () == y.hours () && - x.minutes () == y.minutes () && - x.seconds () == y.seconds (); - } - - template <typename C, typename B> - inline bool - operator!= (const duration<C, B>& x, const duration<C, B>& y) - { - return !(x == y); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/date-time.txx b/xsd/libxsd/xsd/cxx/tree/date-time.txx deleted file mode 100644 index f5b9b8e..0000000 --- a/xsd/libxsd/xsd/cxx/tree/date-time.txx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd/cxx/tree/date-time.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // gday - // - template <typename C, typename B> - gday<C, B>* gday<C, B>:: - _clone (flags f, container* c) const - { - return new gday (*this, f, c); - } - - // gmonth - // - template <typename C, typename B> - gmonth<C, B>* gmonth<C, B>:: - _clone (flags f, container* c) const - { - return new gmonth (*this, f, c); - } - - // gyear - // - template <typename C, typename B> - gyear<C, B>* gyear<C, B>:: - _clone (flags f, container* c) const - { - return new gyear (*this, f, c); - } - - // gmonth_day - // - template <typename C, typename B> - gmonth_day<C, B>* gmonth_day<C, B>:: - _clone (flags f, container* c) const - { - return new gmonth_day (*this, f, c); - } - - // gyear_month - // - template <typename C, typename B> - gyear_month<C, B>* gyear_month<C, B>:: - _clone (flags f, container* c) const - { - return new gyear_month (*this, f, c); - } - - // date - // - template <typename C, typename B> - date<C, B>* date<C, B>:: - _clone (flags f, container* c) const - { - return new date (*this, f, c); - } - - // time - // - template <typename C, typename B> - time<C, B>* time<C, B>:: - _clone (flags f, container* c) const - { - return new time (*this, f, c); - } - - // date_time - // - template <typename C, typename B> - date_time<C, B>* date_time<C, B>:: - _clone (flags f, container* c) const - { - return new date_time (*this, f, c); - } - - // duration - // - template <typename C, typename B> - duration<C, B>* duration<C, B>:: - _clone (flags f, container* c) const - { - return new duration (*this, f, c); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/element-map.hxx b/xsd/libxsd/xsd/cxx/tree/element-map.hxx deleted file mode 100644 index 0f4883d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/element-map.hxx +++ /dev/null @@ -1,147 +0,0 @@ -// file : xsd/cxx/tree/element-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ELEMENT_MAP_HXX -#define XSD_CXX_TREE_ELEMENT_MAP_HXX - -#include <map> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t -#include <string> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/xml/qualified-name.hxx> -#include <xsd/cxx/tree/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - /** - * @brief Root element map. - * - * This class allows uniform parsing/serialization of multiple - * root elements via the element_type base class. - * - * @nosubgrouping - */ - template <typename C, typename T> - class element_map - { - public: - /** - * @brief Common base class for all element types. - */ - typedef tree::element_type<C, T> element_type; - - /** - * @brief Parse a DOM element. - * - * @param e A DOM element to parse. - * @param f Flags to create the new element object with. - * @return An automatic pointer to the new element object. - */ - static XSD_AUTO_PTR<element_type> - parse (const xercesc::DOMElement& e, flags f = 0); - - /** - * @brief Serialize an element object to a DOM element. - * - * @param e A DOM element to serialize to. - * @param x An element object to serialize. - */ - static void - serialize (xercesc::DOMElement& e, const element_type& x); - - public: - //@cond - - typedef xml::qualified_name<C> qualified_name; - - typedef XSD_AUTO_PTR<element_type> - (*parser) (const xercesc::DOMElement&, flags f); - - typedef void - (*serializer) (xercesc::DOMElement&, const element_type&); - - static void - register_parser (const qualified_name&, parser); - - static void - register_serializer (const qualified_name&, serializer); - - public: - struct map_entry - { - map_entry () : parser_ (0), serializer_ (0) {} - - parser parser_; - serializer serializer_; - }; - - typedef - std::map<qualified_name, map_entry> - map; - - static map* map_; - static std::size_t count_; - - private: - element_map (); - - //@endcond - }; - - //@cond - - template <typename C, typename T> - typename element_map<C, T>::map* element_map<C, T>::map_ = 0; - - template <typename C, typename T> - std::size_t element_map<C, T>::count_ = 0; - - template <typename C, typename T> - struct element_map_init - { - element_map_init (); - ~element_map_init (); - }; - - // - // - template<typename T, typename C, typename B> - XSD_AUTO_PTR<element_type<C, B> > - parser_impl (const xercesc::DOMElement&, flags); - - template<typename T, typename C, typename B> - struct parser_init - { - parser_init (const std::basic_string<C>& name, - const std::basic_string<C>& ns); - }; - - // - // - template<typename T, typename C, typename B> - void - serializer_impl (xercesc::DOMElement&, const element_type<C, B>&); - - template<typename T, typename C, typename B> - struct serializer_init - { - serializer_init (const std::basic_string<C>& name, - const std::basic_string<C>& ns); - }; - - //@endcond - } - } -} - -#include <xsd/cxx/tree/element-map.txx> - -#endif // XSD_CXX_TREE_ELEMENT_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/element-map.txx b/xsd/libxsd/xsd/cxx/tree/element-map.txx deleted file mode 100644 index 32fe873..0000000 --- a/xsd/libxsd/xsd/cxx/tree/element-map.txx +++ /dev/null @@ -1,70 +0,0 @@ -// file : xsd/cxx/tree/element-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // element_map - // - template <typename C, typename T> - void element_map<C, T>:: - register_parser (const qualified_name& n, parser p) - { - (*map_)[n].parser_ = p; - } - - template <typename C, typename T> - void element_map<C, T>:: - register_serializer (const qualified_name& n, serializer s) - { - (*map_)[n].serializer_ = s; - } - - // element_map_init - // - template <typename C, typename T> - element_map_init<C, T>:: - element_map_init () - { - if (element_map<C, T>::count_ == 0) - element_map<C, T>::map_ = new typename element_map<C, T>::map; - - ++element_map<C, T>::count_; - } - - template <typename C, typename T> - element_map_init<C, T>:: - ~element_map_init () - { - if (--element_map<C, T>::count_ == 0) - delete element_map<C, T>::map_; - } - - // parser_init - // - template<typename T, typename C, typename B> - parser_init<T, C, B>:: - parser_init (const std::basic_string<C>& name, - const std::basic_string<C>& ns) - { - element_map<C, B>::register_parser ( - xml::qualified_name<C> (name, ns), &parser_impl<T, C, B>); - } - - // serializer_init - // - template<typename T, typename C, typename B> - serializer_init<T, C, B>:: - serializer_init (const std::basic_string<C>& name, - const std::basic_string<C>& ns) - { - element_map<C, B>::register_serializer ( - xml::qualified_name<C> (name, ns), &serializer_impl<T, C, B>); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/elements.hxx b/xsd/libxsd/xsd/cxx/tree/elements.hxx deleted file mode 100644 index a3bbea4..0000000 --- a/xsd/libxsd/xsd/cxx/tree/elements.hxx +++ /dev/null @@ -1,1858 +0,0 @@ -// file : xsd/cxx/tree/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -/** - * @file - * - * @brief Contains C++ class definitions for XML Schema anyType and - * anySimpleType types as well as supporting code. - * - * This is an internal header and is included by the generated code. You - * normally should not include it directly. - * - */ - -#ifndef XSD_CXX_TREE_ELEMENTS_HXX -#define XSD_CXX_TREE_ELEMENTS_HXX - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR, XSD_CXX11 - -#include <map> -#include <string> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t -#include <istream> -#include <sstream> -#include <cassert> - -#ifdef XSD_CXX11 -# include <utility> // std::move -#endif - -#include <xercesc/dom/DOMNode.hpp> -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMNamedNodeMap.hpp> - -#include <xercesc/util/XercesVersion.hpp> - -#include <xsd/cxx/xml/elements.hxx> // xml::properties -#include <xsd/cxx/xml/dom/auto-ptr.hxx> // dom::auto_ptr/unique_ptr -#include <xsd/cxx/xml/dom/wildcard-source.hxx> // dom::create_document() - -#include <xsd/cxx/tree/facet.hxx> -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/istream-fwd.hxx> -#include <xsd/cxx/tree/containers-wildcard.hxx> - -#if _XERCES_VERSION < 30000 -# error Xerces-C++ 2-series is not supported -#endif - -namespace xsd -{ - namespace cxx - { - /** - * @brief C++/Tree mapping runtime namespace. - * - * This is an internal namespace and normally should not be referenced - * directly. Instead you should use the aliases for types in this - * namespaces that are created in the generated code. - * - */ - namespace tree - { - /** - * @brief Parsing and %serialization %flags. - * - * Flags are used to modify the default behavior of %parsing and - * %serialization functions as well as %parsing constructors. - * - * @nosubgrouping - */ - class flags - { - public: - /** - * @name Flag constants - */ - //@{ - - /** - * @brief Keep DOM association in the resulting tree. - */ - static const unsigned long keep_dom = 0x00000100UL; - - /** - * @brief Assume ownership of the DOM document. - * - * This flag only makes sense together with the @c keep_dom - * flag in the call to the %parsing function with the - * @c dom::auto_ptr/unique_ptr<DOMDocument> argument. - * - */ - static const unsigned long own_dom = 0x00000200UL; - - /** - * @brief Turn off XML Schema validation in the underlying XML - * parser. - */ - static const unsigned long dont_validate = 0x00000400UL; - - /** - * @brief Extract XML content for anyType or anySimpleType. - * Normally you don't need to specify this flag explicitly. - */ - static const unsigned long extract_content = 0x00000800UL; - - /** - * @brief Do not initialize the Xerces-C++ runtime. - */ - static const unsigned long dont_initialize = 0x00000001UL; - - /** - * @brief Do not write XML declaration during %serialization. - */ - static const unsigned long no_xml_declaration = 0x00010000UL; - - /** - * @brief Do not add extra spaces or new lines that make the - * resulting XML easier to read. - */ - static const unsigned long dont_pretty_print = 0x00020000UL; - - //@cond - - // The following flags are for internal use. - // - static const unsigned long base = 0x01000000UL; - - //@endcond - - // Notes on flag blocks: - // - // 0x000000FF - common (applicable to both parsing and serialization) - // 0x0000FF00 - parsing (values aligned with XML parsing) - // 0x00FF0000 - serialization (values aligned with XML serialization) - // 0xFF000000 - internal - - //@} - - public: - /** - * @brief Initialize an instance with an integer value. - * - * @param x A %flags value as an integer. - */ - flags (unsigned long x = 0) - : x_ (x) - { - } - - /** - * @brief Convert an instance to an integer value. - * - * @return An integer %flags value. - */ - operator unsigned long () const - { - return x_; - } - - /** - * @brief Combine two %flags. - * - * @return A %flags object that is a combination of the arguments. - */ - friend flags - operator| (const flags& a, const flags& b) - { - return flags (a.x_ | b.x_); - } - - /** - * @brief Combine two %flags. - * - * @return A %flags object that is a combination of the arguments. - */ - friend flags - operator| (const flags& a, unsigned long b) - { - return flags (a.x_ | b); - } - - /** - * @brief Combine two %flags. - * - * @return A %flags object that is a combination of the arguments. - */ - friend flags - operator| (unsigned long a, const flags& b) - { - return flags (a | b.x_); - } - - private: - unsigned long x_; - }; - - // Parsing properties. Refer to xsd/cxx/xml/elements.hxx for XML- - // related properties. - // - template <typename C> - class properties: public xml::properties<C> - { - }; - - /** - * @brief Content order sequence entry. - * - * @nosubgrouping - */ - struct content_order - { - /** - * @brief Initialize an instance with passed id and index. - * - * @param id Content id. - * @param index Content index in the corresponding sequence. - */ - content_order (std::size_t id, std::size_t index = 0) - : id (id), index (index) - { - } - - /** - * @brief Content id. - */ - std::size_t id; - - /** - * @brief Content index. - */ - std::size_t index; - }; - - bool - operator== (const content_order&, const content_order&); - - bool - operator!= (const content_order&, const content_order&); - - bool - operator< (const content_order&, const content_order&); - - //@cond - - // DOM user data keys. - // - template <int dummy> - struct user_data_keys_template - { - // Back pointers to tree nodes. - // - static const XMLCh node[21]; - }; - - typedef user_data_keys_template<0> user_data_keys; - - // - // - struct identity - { - virtual - ~identity () - { - } - - identity () - { - } - - virtual bool - before (const identity&) const = 0; - - virtual void - throw_duplicate_id () const = 0; - - private: - identity (const identity&); - - identity& - operator= (const identity&); - }; - - //@endcond - - - // anyType. VC++ has a name injection bug that makes it impossible - // to have a member with the same name as a base type. To address - // that we will have to choose some unique name for the definition - // and typedef it to 'type'. - // - class _type; - - /** - * @brief Class corresponding to the XML Schema anyType built-in type. - * - */ - typedef _type type; - - /** - * @brief Container type. - * - */ - typedef _type container; - - /** - * @brief Class corresponding to the XML Schema anyType built-in type. - * - * This class is a base for every generated and built-in type in the - * C++/Tree mapping. - * - * @nosubgrouping - */ - class _type - { - public: - virtual - ~_type () - { - // Everything should have been unregistered by now. - // - assert (map_.get () == 0 || map_->size () == 0); - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor. - */ - _type (); - - /** - * @brief Create an instance from a C string. - * - * @param s A string to initialize the instance with. - * - * Note that this constructor ignores the string and creates an - * empty anyType instance. In particular, it will not convert the - * string into DOM content. The purpose of such a strange constructor - * is to allow statically-initialized default values of anyType type. - */ - template <typename C> - _type (const C* s); - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - _type (const type& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual type* - _clone (flags f = 0, container* c = 0) const - { - return new type (*this, f, c); - } - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - _type (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - _type (const xercesc::DOMElement& e, - flags f = flags::extract_content, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - _type (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename C> - _type (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - type& - operator= (const type& x) - { - if (this != &x) - { - if (x.content_.get () == 0) - content_.reset (); - else - content_ = x.content_->clone (); - - // Drop DOM association. - // - dom_info_.reset (); - } - - return *this; - } - - // anyType content API. - // - public: - typedef element_optional dom_content_optional; - - /** - * @brief Return a read-only (constant) reference to the anyType - * DOM content. - * - * @return A constant reference to the optional container. - * - * The DOM content is returned as an optional element container, - * the same container as used for optional element wildcards. - */ - const dom_content_optional& - dom_content () const; - - /** - * @brief Return a read-write reference to the anyType DOM content. - * - * @return A reference to the optional container. - * - * The DOM content is returned as an optional element container, - * the same container as used for optional element wildcards. - */ - dom_content_optional& - dom_content (); - - /** - * @brief Set the anyType DOM content. - * - * @param e A new element to set. - * - * This function makes a copy of its argument and sets it as the - * new DOM content. - */ - void - dom_content (const xercesc::DOMElement& e); - - /** - * @brief Set the anyType DOM content. - * - * @param e A new element to use. - * - * This function will use the passed element directly instead - * of making a copy. For this to work the element should belong - * to the DOM document associated with this anyType instance. - * - * @see dom_content_document - */ - void - dom_content (xercesc::DOMElement* e); - - /** - * @brief Set the anyType DOM content. - * - * @param d An optional container with the new element to set. - * - * If the element is present in @a d then this function makes a - * copy of this element and sets it as the new wildcard content. - * Otherwise the element container is set the 'not present' state. - */ - void - dom_content (const dom_content_optional& d); - - /** - * @brief Return a read-only (constant) reference to the DOM - * document associated with this anyType instance. - * - * @return A constant reference to the DOM document. - * - * The DOM document returned by this function is used to store - * the raw XML content corresponding to the anyType instance. - */ - const xercesc::DOMDocument& - dom_content_document () const; - - /** - * @brief Return a read-write reference to the DOM document - * associated with this anyType instance. - * - * @return A reference to the DOM document. - * - * The DOM document returned by this function is used to store - * the raw XML content corresponding to the anyType instance. - */ - xercesc::DOMDocument& - dom_content_document (); - - /** - * @brief Check for absence of DOM (anyType) and text (anySimpleType) - * content. - * - * @return True if there is no content and false otherwise. - * - * This is an optimization function that allows us to check for the - * lack of content without actually creating its empty representation - * (that is, empty DOM document for DOM or empty string for text). - */ - bool - null_content () const; - - // - // - public: - /** - * @brief Comparison operator. It uses DOM (anyType) or text - * (anySimpleType) content if present. If the content is missing - * then the types are assumed unequal. - * - * @return True if the instances are equal, false otherwise. - */ - friend bool - operator== (const type& x, const type& y) - { - return x.content_.get () != 0 && - x.content_->compare (y.content_.get ()); - } - - /** - * @brief Comparison operator. It uses DOM (anyType) or text - * (anySimpleType) content if present. If the content is missing - * then the types are assumed unequal. - * - * @return True if the instances are not equal, false otherwise. - */ - friend bool - operator!= (const type& x, const type& y) {return !(x == y);} - - // Container API. - // - public: - /** - * @brief Get a constant pointer to container, an object model - * node that contains this instance. - * - * @return A constant pointer to container, or 0 if this instance - * is not contained. - */ - const container* - _container () const - { - return container_; - } - - /** - * @brief Get a pointer to container, an object model node that - * contains this instance. - * - * @return A pointer to container, or 0 if this instance is not - * contained. - */ - container* - _container () - { - return container_; - } - - /** - * @brief Set this instance's new container, an object model node - * that contains this instance. - * - * @param c A pointer to container. - */ - virtual void - _container (container* c) - { - container* dr (0); - - if (c != 0) - { - dr = c->_root (); - - if (dr == 0) - dr = c; - } - - XSD_AUTO_PTR<map>& m (dr ? dr->map_ : map_); - - if (container_ == 0) - { - if (c != 0 && map_.get () != 0) - { - // Transfer our IDs to the new root. - // - if (m.get () != 0) - { - m->insert (map_->begin (), map_->end ()); - map_.reset (); - } - else - { -#ifdef XSD_CXX11 - m = std::move (map_); -#else - m = map_; -#endif - } - } - } - else - { - container* sr (_root ()); - - if (sr->map_.get () != 0) - { - // Transfer IDs that belong to this subtree. - // - for (map::iterator i (sr->map_->begin ()), e (sr->map_->end ()); - i != e;) - { - type* x (i->second); - for (; x != this && x != sr; x = x->_container ()) ; - - if (x != sr) - { - // Part of our subtree. - // - if (m.get () == 0) - m.reset (new map); - - m->insert (*i); - sr->map_->erase (i++); - } - else - ++i; - } - } - } - - container_ = c; - } - - /** - * @brief Get a constant pointer to object model's root node. - * - * @return A constant pointer to root node, or 0 if this instance - * is not contained. - */ - const container* - _root () const - { - const container* r (container_); - - for (const container* c (r); c != 0; c = c->container_) - r = c; - - return r; - } - - /** - * @brief Get a pointer to object model's root node. - * - * @return A pointer to root node, or 0 if this instance is not - * contained. - */ - container* - _root () - { - container* r (container_); - - for (container* c (r); c != 0; c = c->container_) - r = c; - - return r; - } - - // DOM association. - // - public: - /** - * @brief Get a constant pointer to a DOM node associated with - * this object model node. - * - * @return A constant pointer to DOM node, or 0 if none associated. - */ - const xercesc::DOMNode* - _node () const - { - return dom_info_.get () ? dom_info_->node() : 0; - } - - /** - * @brief Get a pointer to a DOM node associated with this object - * model node. - * - * @return A pointer to DOM node, or 0 if none associated. - */ - xercesc::DOMNode* - _node () - { - return dom_info_.get () ? dom_info_->node () : 0; - } - - /** - * @brief Exception indicating that a DOM node cannot be associated - * with an object model node. - */ - class bad_dom_node_type: public std::exception //@@ Inherit exception<C>. - { - public: - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw () - { - return "DOM node is not an attribute node or element node"; - } - }; - - /** - * @brief Manually set a DOM node associated with this object - * model node. - * - * The DOM node should be a child of the parent's DOM node. If - * this object model node is a root of the tree, then it will - * assume the ownership of the whole DOM document to which this - * DOM node belongs. - * - * @param n A pointer to DOM node (should be either an element or - * an attribute). - */ - void - _node (xercesc::DOMNode* n) - { - switch (n->getNodeType ()) - { - case xercesc::DOMNode::ELEMENT_NODE: - { - if (container_ != 0) - { - assert (_root ()->_node () != 0); - assert (_root ()->_node ()->getOwnerDocument () == - n->getOwnerDocument ()); - } - - dom_info_ = - dom_info_factory::create ( - *static_cast<xercesc::DOMElement*> (n), - *this, - container_ == 0); - - break; - } - case xercesc::DOMNode::ATTRIBUTE_NODE: - { - assert (container_ != 0); - assert (_root ()->_node () != 0); - assert (_root ()->_node ()->getOwnerDocument () == - n->getOwnerDocument ()); - - dom_info_ = - dom_info_factory::create ( - *static_cast<xercesc::DOMAttr*> (n), - *this); - - break; - } - default: - { - throw bad_dom_node_type (); - } - } - } - - public: - //@cond - - void - _register_id (const identity& i, type* t) - { - // We should be the root. - // - assert (container_ == 0); - - if (map_.get () == 0) - map_.reset (new map); - - if (!map_->insert ( - std::pair<const identity*, type*> (&i, t)).second) - { - i.throw_duplicate_id (); - } - } - - //@@ Does not inherit from exception<C>. - // - struct not_registered: std::exception - { - virtual const char* - what () const throw () - { - return "attempt to unregister non-existent id"; - } - }; - - void - _unregister_id (const identity& id) - { - // We should be the root. - // - assert (container_ == 0); - - if (map_.get () == 0 || map_->erase (&id) == 0) - throw not_registered (); - } - - type* - _lookup_id (const identity& id) const - { - if (map_.get ()) - { - map::const_iterator it (map_->find (&id)); - - if (it != map_->end ()) - return it->second; - } - - return 0; - } - - //@endcond - - private: - //@cond - - struct dom_info - { - virtual - ~dom_info () {} - - dom_info () {} - - virtual XSD_AUTO_PTR<dom_info> - clone (type& tree_node, container*) const = 0; - - virtual xercesc::DOMNode* - node () = 0; - - private: - dom_info (const dom_info&); - dom_info& operator= (const dom_info&); - }; - - struct dom_element_info: public dom_info - { - dom_element_info (xercesc::DOMElement& e, type& n, bool root) - : e_ (e) - { - e_.setUserData (user_data_keys::node, &n, 0); - - if (root) - { - // The caller should have associated a dom::auto/unique_ptr - // object that owns this document with the document node - // using the xml_schema::dom::tree_node_key key. - // - XSD_DOM_AUTO_PTR<xercesc::DOMDocument>* pd ( - reinterpret_cast<XSD_DOM_AUTO_PTR<xercesc::DOMDocument>*> ( - e.getOwnerDocument ()->getUserData (user_data_keys::node))); - - assert (pd != 0); - assert (pd->get () == e.getOwnerDocument ()); - - // Transfer ownership. -#ifdef XSD_CXX11 - doc_ = std::move (*pd); -#else - doc_ = *pd; -#endif - } - } - - virtual XSD_AUTO_PTR<dom_info> - clone (type& tree_node, container* c) const - { - // Check if we are a document root. - // - if (c == 0) - { - // We preserver DOM associations only in complete - // copies from root. - // - return XSD_AUTO_PTR<dom_info> ( - doc_.get () == 0 - ? 0 - : new dom_element_info (*doc_, tree_node)); - } - - // Check if our container does not have DOM association (e.g., - // because it wasn't a complete copy of the tree). - // - using xercesc::DOMNode; - - DOMNode* cn (c->_node ()); - - if (cn == 0) - return XSD_AUTO_PTR<dom_info> (); - - // Now we are going to find the corresponding element in - // the new tree. - // - { - using xercesc::DOMElement; - - DOMNode& pn (*e_.getParentNode ()); - assert (pn.getNodeType () == DOMNode::ELEMENT_NODE); - - DOMNode* sn (pn.getFirstChild ()); // Source. - DOMNode* dn (cn->getFirstChild ()); // Destination. - - // We should have at least one child. - // - assert (sn != 0); - - // Move in parallel until we get to the needed node. - // - for (; sn != 0 && !e_.isSameNode (sn);) - { - sn = sn->getNextSibling (); - dn = dn->getNextSibling (); - } - - // e_ should be on the list. - // - assert (sn != 0); - - assert (dn->getNodeType () == DOMNode::ELEMENT_NODE); - - return XSD_AUTO_PTR<dom_info> ( - new dom_element_info (static_cast<DOMElement&> (*dn), - tree_node, - false)); - } - } - - virtual xercesc::DOMNode* - node () - { - return &e_; - } - - private: - dom_element_info (const xercesc::DOMDocument& d, type& n) - : doc_ (static_cast<xercesc::DOMDocument*> ( - d.cloneNode (true))), - e_ (*doc_->getDocumentElement ()) - { - e_.setUserData (user_data_keys::node, &n, 0); - } - - private: - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> doc_; - xercesc::DOMElement& e_; - }; - - - struct dom_attribute_info: public dom_info - { - dom_attribute_info (xercesc::DOMAttr& a, type& n) - : a_ (a) - { - a_.setUserData (user_data_keys::node, &n, 0); - } - - virtual XSD_AUTO_PTR<dom_info> - clone (type& tree_node, container* c) const - { - // Check if we are a document root. - // - if (c == 0) - { - // We preserver DOM associations only in complete - // copies from root. - // - return XSD_AUTO_PTR<dom_info> (); - } - - // Check if our container does not have DOM association (e.g., - // because it wasn't a complete copy of the tree). - // - using xercesc::DOMNode; - - DOMNode* cn (c->_node ()); - - if (cn == 0) - return XSD_AUTO_PTR<dom_info> (); - - // We are going to find the corresponding attribute in - // the new tree. - // - using xercesc::DOMAttr; - using xercesc::DOMElement; - using xercesc::DOMNamedNodeMap; - - DOMElement& p (*a_.getOwnerElement ()); - DOMNamedNodeMap& nl (*p.getAttributes ()); - - XMLSize_t size (nl.getLength ()), i (0); - - // We should have at least one child. - // - assert (size != 0); - - for ( ;i < size && !a_.isSameNode (nl.item (i)); ++i)/*noop*/; - - // a_ should be in the list. - // - assert (i < size); - - DOMNode& n (*cn->getAttributes ()->item (i)); - assert (n.getNodeType () == DOMNode::ATTRIBUTE_NODE); - - return XSD_AUTO_PTR<dom_info> ( - new dom_attribute_info (static_cast<DOMAttr&> (n), tree_node)); - } - - virtual xercesc::DOMNode* - node () - { - return &a_; - } - - private: - xercesc::DOMAttr& a_; - }; - - // For Sun C++ 5.6. - // - struct dom_info_factory; - friend struct _type::dom_info_factory; - - struct dom_info_factory - { - static XSD_AUTO_PTR<dom_info> - create (const xercesc::DOMElement& e, type& n, bool root) - { - return XSD_AUTO_PTR<dom_info> ( - new dom_element_info ( - const_cast<xercesc::DOMElement&> (e), n, root)); - } - - static XSD_AUTO_PTR<dom_info> - create (const xercesc::DOMAttr& a, type& n) - { - return XSD_AUTO_PTR<dom_info> ( - new dom_attribute_info ( - const_cast<xercesc::DOMAttr&> (a), n)); - } - }; - - //@endcond - - XSD_AUTO_PTR<dom_info> dom_info_; - - - // ID/IDREF map. - // - private: - - //@cond - - struct identity_comparator - { - bool operator () (const identity* x, const identity* y) const - { - return x->before (*y); - } - }; - - //@endcond - - typedef - std::map<const identity*, type*, identity_comparator> - map; - - XSD_AUTO_PTR<map> map_; - - // anyType and anySimpleType content. - // - protected: - - //@cond - - struct content_type - { - virtual - ~content_type () {} - - content_type () {} - - virtual XSD_AUTO_PTR<content_type> - clone () const = 0; - - virtual bool - compare (const content_type*) const = 0; - - private: - content_type (const content_type&); - content_type& operator= (const content_type&); - }; - - struct dom_content_type: content_type - { - dom_content_type () - : doc (xml::dom::create_document<char> ()), dom (*doc) {} - - explicit - dom_content_type (const xercesc::DOMElement& e) - : doc (xml::dom::create_document<char> ()), dom (e, *doc) {} - - explicit - dom_content_type (xercesc::DOMElement* e) - : doc (xml::dom::create_document<char> ()), dom (e, *doc) {} - - explicit - dom_content_type (const dom_content_optional& d) - : doc (xml::dom::create_document<char> ()), dom (d, *doc) {} - - virtual XSD_AUTO_PTR<content_type> - clone () const - { - return XSD_AUTO_PTR<content_type> (new dom_content_type (dom)); - } - - virtual bool - compare (const content_type* c) const - { - if (const dom_content_type* dc = - dynamic_cast<const dom_content_type*> (c)) - return dom == dc->dom; - - return false; - } - - public: - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> doc; - dom_content_optional dom; - }; - - //@endcond - - mutable XSD_AUTO_PTR<content_type> content_; - - private: - container* container_; - }; - - /** - * @brief Class corresponding to the XML Schema anySimpleType built-in - * type. - * - * @nosubgrouping - */ - template <typename C, typename B> - class simple_type: public B - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor. - */ - simple_type (); - - /** - * @brief Create an instance from a C string. - * - * @param s A string to initialize the instance with. - */ - simple_type (const C* s); - - /** - * @brief Create an instance from a string. - * - * @param s A string to initialize the instance with. - */ - simple_type (const std::basic_string<C>& s); - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - simple_type (const simple_type& x, flags f = 0, container* c = 0); - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual simple_type* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - simple_type (istream<S>& s, - flags f = flags::extract_content, - container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - simple_type (const xercesc::DOMElement& e, - flags f = flags::extract_content, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - simple_type (const xercesc::DOMAttr& a, - flags f = flags::extract_content, - container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - simple_type (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = flags::extract_content, - container* c = 0); - //@} - - // anySimpleType content API. - // - public: - /** - * @brief Return a read-only (constant) reference to the anySimpleType - * text content. - * - * @return A constant reference to the text string. - */ - const std::basic_string<C>& - text_content () const; - - /** - * @brief Return a read-write reference to the anySimpleType text - * content. - * - * @return A reference to the text string. - */ - std::basic_string<C>& - text_content (); - - /** - * @brief Set the anySimpleType text content. - * - * @param e A new text string to set. - */ - void - text_content (const std::basic_string<C>& t); - - protected: - //@cond - - typedef typename B::content_type content_type; - - struct text_content_type: content_type - { - text_content_type () {} - - explicit - text_content_type (const std::basic_string<C>& t): text (t) {} - - explicit - text_content_type (const C* t): text (t) {} - - virtual XSD_AUTO_PTR<content_type> - clone () const - { - return XSD_AUTO_PTR<content_type> (new text_content_type (text)); - } - - virtual bool - compare (const content_type* c) const - { - if (const text_content_type* tc = - dynamic_cast<const text_content_type*> (c)) - return text == tc->text; - - return false; - } - - public: - // It would have been more elegant to store text content as DOMText. - // However, that would require Xerces-C++ initialization. Also - // having a separate DOMDocument for each text node seems like - // an overkill. - // - std::basic_string<C> text; - }; - - //@endcond - }; - - - /** - * @brief Base class for element types. - * - * This class is a base for every generated element type. - * - * @nosubgrouping - */ - template <typename C, typename T> - class element_type - { - public: - virtual - ~element_type () - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual element_type* - _clone (flags f = 0) const = 0; - - /** - * @brief Return the element name. - * - * @return A read-only string reference containing the element - * name. - */ - virtual const std::basic_string<C>& - _name () const = 0; - - /** - * @brief Return the element namespace. - * - * @return A read-only string reference containing the element - * namespace. Empty string is returned if the element is - * unqualified. - */ - virtual const std::basic_string<C>& - _namespace () const = 0; - - /** - * @brief Return the element value. - * - * @return A pointer to the element value or 0 if the element - * is of a fundamental type. - */ - virtual T* - _value () = 0; - - /** - * @brief Return the element value. - * - * @return A read-only pointer to the element value or 0 if the - * element is of a fundamental type. - */ - virtual const T* - _value () const = 0; - }; - - - //@cond - - // Extra schema type id to disambiguate certain cases where - // different XML Schema types (e.g., double and decimal) are - // mapped to the same fundamental C++ type (e.g., double). - // - struct schema_type - { - enum value - { - other, - double_, - decimal - }; - }; - - //@endcond - - - //@cond - template <typename T, - typename C, - schema_type::value ST = schema_type::other> - struct traits - { - typedef T type; - - static XSD_AUTO_PTR<T> - create (const xercesc::DOMElement& e, flags f, container* c) - { - return XSD_AUTO_PTR<T> (new T (e, f, c)); - } - - static XSD_AUTO_PTR<T> - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return XSD_AUTO_PTR<T> (new T (a, f, c)); - } - - static XSD_AUTO_PTR<T> - create (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - { - return XSD_AUTO_PTR<T> (new T (s, e, f, c)); - } - - // For now for istream we only go through traits for non- - // fundamental types. - // - template <typename S> - static XSD_AUTO_PTR<T> - create (istream<S>& s, flags f, container* c) - { - return XSD_AUTO_PTR<T> (new T (s, f, c)); - } - }; - - template <typename B, - typename C, - schema_type::value ST> - struct traits<simple_type<C, B>, C, ST> - { - typedef simple_type<C, B> type; - - static XSD_AUTO_PTR<type> - create (const xercesc::DOMElement& e, flags f, container* c) - { - return XSD_AUTO_PTR<type> ( - new type (e, f | flags::extract_content, c)); - } - - static XSD_AUTO_PTR<type> - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return XSD_AUTO_PTR<type> ( - new type (a, f | flags::extract_content, c)); - } - - static XSD_AUTO_PTR<type> - create (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - { - return XSD_AUTO_PTR<type> ( - new type (s, e, f | flags::extract_content, c)); - } - - template <typename S> - static XSD_AUTO_PTR<type> - create (istream<S>& s, flags f, container* c) - { - return XSD_AUTO_PTR<type> ( - new type (s, f | flags::extract_content, c)); - } - }; - //@endcond - - - /** - * @brief Class template that emulates inheritance from a - * fundamental C++ type. - * - * @nosubgrouping - */ - template <typename T, - typename C, - typename B, - schema_type::value ST = schema_type::other> - class fundamental_base: public B - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor. - */ - fundamental_base () - : facet_table_ (0), x_ () - { - } - - /** - * @brief Initialize an instance with an underlying type value. - * - * @param x An underlying type value. - */ - fundamental_base (T x) - : facet_table_ (0), x_ (x) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - fundamental_base (const fundamental_base& x, - flags f = 0, - container* c = 0) - : B (x, f, c), facet_table_ (0), x_ (x.x_) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual fundamental_base* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - fundamental_base (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - fundamental_base (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - fundamental_base (const xercesc::DOMAttr& a, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - fundamental_base (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign an underlying type value to the instance. - * - * @param x An underlying type value. - * @return A reference to the instance. - */ - fundamental_base& - operator= (const T& x) - { - if (&x_ != &x) - x_ = x; - - return *this; - } - - public: - /** - * @brief Implicitly convert the instance to constant reference to - * the underlying type. - * - * @return A constant reference to the underlying type. - */ - operator const T& () const - { - return x_; - } - - /** - * @brief Implicitly convert the instance to reference to the - * underlying type. - * - * @return A reference to the underlying type. - */ - operator T& () - { - return x_; - } - - // The following extra conversion operators causes problems on - // some compilers (notably VC 9.0) and are disabled by default. - // -#ifdef XSD_TREE_EXTRA_FUND_CONV - /** - * @brief Implicitly convert the instance to another type (const - * version). - * - * @return A value converted to the target type. - */ - template <typename T2> - operator T2 () const - { - return x_; - } - - /** - * @brief Implicitly convert the instance to another type. - * - * @return A value converted to the target type. - */ - template <typename T2> - operator T2 () - { - return x_; - } -#endif // XSD_TREE_EXTRA_FUND_CONV - - public: - /** - * @brief Get the facet table associated with this type. - * - * @return A pointer to read-only facet table or 0. - */ - const facet* - _facet_table () const - { - return facet_table_; - } - - protected: - /** - * @brief Set the facet table associated with this type. - * - * @param ft A pointer to read-only facet table. - */ - void - _facet_table (const facet* ft) - { - facet_table_ = ft; - } - - private: - const facet* facet_table_; - T x_; - }; - - // While thse operators are not normally necessary, they - // help resolve ambiguities between implicit conversion and - // construction. - // - - /** - * @brief %fundamental_base comparison operator. - * - * @return True if the underlying values are equal, false otherwise. - */ - template <typename T, typename C, typename B, schema_type::value ST> - inline bool - operator== (const fundamental_base<T, C, B, ST>& x, - const fundamental_base<T, C, B, ST>& y) - { - T x_ (x); - T y_ (y); - return x_ == y_; - } - - /** - * @brief %fundamental_base comparison operator. - * - * @return True if the underlying values are not equal, false otherwise. - */ - template <typename T, typename C, typename B, schema_type::value ST> - inline bool - operator!= (const fundamental_base<T, C, B, ST>& x, - const fundamental_base<T, C, B, ST>& y) - { - T x_ (x); - T y_ (y); - return x_ != y_; - } - - - //@cond - - // Comparator for enum tables. - // - template <typename C> - struct enum_comparator - { - enum_comparator (const C* const* table) - : table_ (table) - { - } - - bool - operator() (std::size_t i, const std::basic_string<C>& s) const - { - return table_[i] < s; - } - - bool - operator() (const std::basic_string<C>& s, std::size_t i) const - { - return s < table_[i]; - } - - bool - operator() (std::size_t i, std::size_t j) const - { - return std::basic_string<C> (table_[i]) < table_[j]; - } - - private: - const C* const* table_; - }; - - //@endcond - } - } -} - -#include <xsd/cxx/tree/elements.ixx> -#include <xsd/cxx/tree/elements.txx> - -#endif // XSD_CXX_TREE_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/elements.ixx b/xsd/libxsd/xsd/cxx/tree/elements.ixx deleted file mode 100644 index 844ccf7..0000000 --- a/xsd/libxsd/xsd/cxx/tree/elements.ixx +++ /dev/null @@ -1,266 +0,0 @@ -// file : xsd/cxx/tree/elements.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // content_order_type - // - - inline bool - operator== (const content_order& x, const content_order& y) - { - return x.id == y.id && x.index == y.index; - } - - inline bool - operator!= (const content_order& x, const content_order& y) - { - return !(x == y); - } - - inline bool - operator< (const content_order& x, const content_order& y) - { - return x.id < y.id || (x.id == y.id && x.index < y.index); - } - - // type - // - - inline _type:: - _type () - : container_ (0) - { - } - - template <typename C> - inline _type:: - _type (const C*) - : container_ (0) - { - } - - inline _type:: - _type (const type& x, flags f, container* c) - : container_ (c) - { - if (x.content_.get () != 0) - content_ = x.content_->clone (); - - if (x.dom_info_.get () != 0 && (f & flags::keep_dom)) - { - dom_info_ = x.dom_info_->clone (*this, c); - } - } - - inline const _type::dom_content_optional& _type:: - dom_content () const - { - const content_type* c (content_.get ()); - - if (c == 0) - { - content_.reset (new dom_content_type); - c = content_.get (); - } - - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<const dom_content_type*> (c) != 0); - - return static_cast<const dom_content_type*> (c)->dom; - } - - inline _type::dom_content_optional& _type:: - dom_content () - { - content_type* c (content_.get ()); - - if (c == 0) - { - content_.reset (new dom_content_type); - c = content_.get (); - } - - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<dom_content_type*> (c) != 0); - - return static_cast<dom_content_type*> (c)->dom; - } - - inline void _type:: - dom_content (const xercesc::DOMElement& e) - { - content_type* c (content_.get ()); - - if (c == 0) - content_.reset (new dom_content_type (e)); - else - { - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<dom_content_type*> (c) != 0); - static_cast<dom_content_type*> (c)->dom.set (e); - } - } - - inline void _type:: - dom_content (xercesc::DOMElement* e) - { - content_type* c (content_.get ()); - - if (c == 0) - content_.reset (new dom_content_type (e)); - else - { - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<dom_content_type*> (c) != 0); - static_cast<dom_content_type*> (c)->dom.set (e); - } - } - - inline void _type:: - dom_content (const dom_content_optional& d) - { - content_type* c (content_.get ()); - - if (c == 0) - content_.reset (new dom_content_type (d)); - else - { - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<dom_content_type*> (c) != 0); - static_cast<dom_content_type*> (c)->dom = d; - } - } - - inline const xercesc::DOMDocument& _type:: - dom_content_document () const - { - const content_type* c (content_.get ()); - - if (c == 0) - { - content_.reset (new dom_content_type); - c = content_.get (); - } - - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<const dom_content_type*> (c) != 0); - - return *static_cast<const dom_content_type*> (c)->doc; - } - - inline xercesc::DOMDocument& _type:: - dom_content_document () - { - content_type* c (content_.get ()); - - if (c == 0) - { - content_.reset (new dom_content_type); - c = content_.get (); - } - - // Accessing non-DOM content via the DOM API. - // - assert (dynamic_cast<dom_content_type*> (c) != 0); - - return *static_cast<dom_content_type*> (c)->doc; - } - - inline bool _type:: - null_content () const - { - return content_.get () == 0; - } - - // simple_type - // - - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type () - { - } - - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type (const C* s) - { - this->content_.reset (new text_content_type (s)); - } - - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type (const std::basic_string<C>& s) - { - this->content_.reset (new text_content_type (s)); - } - - template <typename C, typename B> - inline const std::basic_string<C>& simple_type<C, B>:: - text_content () const - { - const content_type* c (this->content_.get ()); - - if (c == 0) - { - this->content_.reset (new text_content_type); - c = this->content_.get (); - } - - // Accessing non-text content via the text API. - // - assert (dynamic_cast<const text_content_type*> (c) != 0); - - return static_cast<const text_content_type*> (c)->text; - } - - template <typename C, typename B> - inline std::basic_string<C>& simple_type<C, B>:: - text_content () - { - content_type* c (this->content_.get ()); - - if (c == 0) - { - this->content_.reset (new text_content_type); - c = this->content_.get (); - } - - // Accessing non-text content via the text API. - // - assert (dynamic_cast<text_content_type*> (c) != 0); - - return static_cast<text_content_type*> (c)->text; - } - - template <typename C, typename B> - inline void simple_type<C, B>:: - text_content (const std::basic_string<C>& t) - { - content_type* c (this->content_.get ()); - - if (c == 0) - this->content_.reset (new text_content_type (t)); - else - { - // Accessing non-text content via the text API. - // - assert (dynamic_cast<text_content_type*> (c) != 0); - static_cast<text_content_type*> (c)->text = t; - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/elements.txx b/xsd/libxsd/xsd/cxx/tree/elements.txx deleted file mode 100644 index 4a8ca6e..0000000 --- a/xsd/libxsd/xsd/cxx/tree/elements.txx +++ /dev/null @@ -1,56 +0,0 @@ -// file : xsd/cxx/tree/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/util/XMLUniDefs.hpp> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // user_data_keys_template - // - template <int dummy> - const XMLCh user_data_keys_template<dummy>::node[21] = - {xercesc::chLatin_x, xercesc::chLatin_s, xercesc::chLatin_d, // xsd - xercesc::chColon, xercesc::chColon, // :: - xercesc::chLatin_c, xercesc::chLatin_x, xercesc::chLatin_x, // cxx - xercesc::chColon, xercesc::chColon, // :: - xercesc::chLatin_t, xercesc::chLatin_r, xercesc::chLatin_e, // tre - xercesc::chLatin_e, xercesc::chColon, xercesc::chColon, // e:: - xercesc::chLatin_n, xercesc::chLatin_o, xercesc::chLatin_d, // nod - xercesc::chLatin_e, xercesc::chNull // e\0 - }; - - - // simple_type - // - template <typename C, typename B> - simple_type<C, B>:: - simple_type (const simple_type& other, - flags f, - container* c) - : B (other, f, c) - { - } - - template <typename C, typename B> - simple_type<C, B>* simple_type<C, B>:: - _clone (flags f, container* c) const - { - return new simple_type (*this, f, c); - } - - // fundamental_base - // - template <typename T, typename C, typename B, schema_type::value ST> - fundamental_base<T, C, B, ST>* fundamental_base<T, C, B, ST>:: - _clone (flags f, container* c) const - { - return new fundamental_base (*this, f, c); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/error-handler.hxx b/xsd/libxsd/xsd/cxx/tree/error-handler.hxx deleted file mode 100644 index e520cce..0000000 --- a/xsd/libxsd/xsd/cxx/tree/error-handler.hxx +++ /dev/null @@ -1,61 +0,0 @@ -// file : xsd/cxx/tree/error-handler.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ERROR_HANDLER_HXX -#define XSD_CXX_TREE_ERROR_HANDLER_HXX - -#include <xsd/cxx/xml/error-handler.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - class error_handler: public xml::error_handler<C> - { - public: - typedef typename xml::error_handler<C>::severity severity; - - error_handler () - : failed_ (false) - { - } - - virtual bool - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity, - const std::basic_string<C>& message); - - template <typename E> - void - throw_if_failed () const - { - if (failed_) - throw E (diagnostics_); - } - - void - reset () - { - failed_ = false; - diagnostics_.clear (); - } - - private: - bool failed_; - diagnostics<C> diagnostics_; - }; - } - } -} - -#include <xsd/cxx/tree/error-handler.txx> - -#endif // XSD_CXX_TREE_ERROR_HANDLER_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/error-handler.txx b/xsd/libxsd/xsd/cxx/tree/error-handler.txx deleted file mode 100644 index 8520856..0000000 --- a/xsd/libxsd/xsd/cxx/tree/error-handler.txx +++ /dev/null @@ -1,31 +0,0 @@ -// file : xsd/cxx/tree/error-handler.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - bool error_handler<C>:: - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity s, - const std::basic_string<C>& message) - { - diagnostics_.push_back ( - error<C> (s == severity::warning - ? tree::severity::warning - : tree::severity::error, id, line, column, message)); - - if (!failed_ && s != severity::warning) - failed_ = true; - - return true; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/exceptions.hxx b/xsd/libxsd/xsd/cxx/tree/exceptions.hxx deleted file mode 100644 index d871416..0000000 --- a/xsd/libxsd/xsd/cxx/tree/exceptions.hxx +++ /dev/null @@ -1,1033 +0,0 @@ -// file : xsd/cxx/tree/exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -/** - * @file - * - * @brief Contains exception definitions for the C++/Tree mapping. - * - * This is an internal header and is included by the generated code. - * You normally should not include it directly. - * - */ - -#ifndef XSD_CXX_TREE_EXCEPTIONS_HXX -#define XSD_CXX_TREE_EXCEPTIONS_HXX - -#include <string> -#include <vector> -#include <ostream> - -#include <xsd/cxx/exceptions.hxx> // xsd::cxx::exception - -namespace xsd -{ - namespace cxx - { - /** - * @brief C++/Tree mapping runtime namespace. - * - * This is an internal namespace and normally should not be referenced - * directly. Instead you should use the aliases for types in this - * namespaces that are created in the generated code. - * - */ - namespace tree - { - /** - * @brief Root of the C++/Tree %exception hierarchy. - * - * You can catch this %exception in order to handle all C++/Tree - * errors. - * - * @nosubgrouping - */ - template <typename C> - class exception: public xsd::cxx::exception - { - public: - /** - * @brief Stream insertion operator for %exception. - */ - friend - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const exception& e) - { - e.print (os); - return os; - } - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const = 0; - - //@endcond - }; - - - /** - * @brief Error %severity. - * - * @nosubgrouping - */ - class severity - { - public: - /** - * @brief Underlying enum type. - */ - enum value - { - /** - * @brief Indicates the warning condition. - */ - warning, - - /** - * @brief Indicates the %error condition. - */ - error - }; - - /** - * @brief Initialize an instance with the underlying enum value. - * - * @param v An underlying enum value. - */ - severity (value v) : v_ (v) {} - - /** - * @brief Implicitly convert the instance to the underlying enum - * value. - * - * @return The underlying enum value. - */ - operator value () const { return v_; } - - private: - value v_; - }; - - /** - * @brief Error condition. - * - * @nosubgrouping - */ - template <typename C> - class error - { - public: - /** - * @brief Initialize an instance with %error description. - * - * @param s An %error %severity. - * @param res_id A resource %id where the %error occurred. - * @param line A line number where the %error occurred. - * @param column A column number where the %error occurred. - * @param message A message describing the %error. - */ - error (tree::severity s, - const std::basic_string<C>& res_id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message); - - /** - * @brief Get %error %severity. - * - * @return The %severity of this %error. - */ - tree::severity - severity () const - { - return severity_; - } - - /** - * @brief Get resource %id. - * - * @return The %id of the resource where this %error occurred. - */ - const std::basic_string<C>& - id () const - { - return id_; - } - - /** - * @brief Get %error line. - * - * @return The line number where this %error occurred. - */ - unsigned long - line () const - { - return line_; - } - - /** - * @brief Get %error column. - * - * @return The column number where this %error occurred. - */ - unsigned long - column () const - { - return column_; - } - - /** - * @brief Get %error message. - * - * @return The message for this %error. - */ - const std::basic_string<C>& - message () const - { - return message_; - } - - //@cond - - // Default c-tor that shouldn't be. Needed when we completely - // instantiate std::vector in diagnostics below. - // - error (); - - //@endcond - - - private: - tree::severity severity_; - std::basic_string<C> id_; - unsigned long line_; - unsigned long column_; - std::basic_string<C> message_; - }; - - // See exceptions.ixx for operator<< (error). - - - /** - * @brief List of %error conditions. - * - * @nosubgrouping - */ - template <typename C> - class diagnostics: public std::vector<error<C> > - { - }; - - // See exceptions.ixx for operator<< (diagnostics). - - /** - * @brief Exception indicating a %parsing failure. - * - * @nosubgrouping - */ - template <typename C> - class parsing: public exception<C> - { - public: - virtual - ~parsing () throw (); - - /** - * @brief Default constructor. - */ - parsing (); - - /** - * @brief Initialize an instance with a %list of %error conditions. - * - * @param d A %list of %error conditions. - */ - parsing (const tree::diagnostics<C>& d); - - public: - /** - * @brief Get the %list of %error conditions. - * - * @return The %list of %error conditions. - */ - const tree::diagnostics<C>& - diagnostics () const - { - return diagnostics_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - tree::diagnostics<C> diagnostics_; - }; - - - /** - * @brief Exception indicating that an expected element was not - * encountered. - * - * @nosubgrouping - */ - template <typename C> - class expected_element: public exception<C> - { - public: - virtual - ~expected_element () throw (); - - /** - * @brief Initialize an instance with the expected element - * description. - * - * @param name A name of the expected element. - * @param ns A namespace of the expected element. - */ - expected_element (const std::basic_string<C>& name, - const std::basic_string<C>& ns); - - - public: - /** - * @brief Get the name of the expected element. - * - * @return The name of the expected element. - */ - const std::basic_string<C>& - name () const - { - return name_; - } - - /** - * @brief Get the namespace of the expected element. - * - * @return The namespace of the expected element. - */ - const std::basic_string<C>& - namespace_ () const - { - return namespace__; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> name_; - std::basic_string<C> namespace__; - }; - - - /** - * @brief Exception indicating that an unexpected element was - * encountered. - * - * @nosubgrouping - */ - template <typename C> - class unexpected_element: public exception<C> - { - public: - virtual - ~unexpected_element () throw (); - - /** - * @brief Initialize an instance with the encountered and expected - * element descriptions. - * - * @param encountered_name A name of the encountered element. - * @param encountered_ns A namespace of the encountered element. - * @param expected_name A name of the expected element. - * @param expected_ns A namespace of the expected element. - */ - unexpected_element (const std::basic_string<C>& encountered_name, - const std::basic_string<C>& encountered_ns, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& expected_ns); - - public: - /** - * @brief Get the name of the encountered element. - * - * @return The name of the encountered element. - */ - const std::basic_string<C>& - encountered_name () const - { - return encountered_name_; - } - - /** - * @brief Get the namespace of the encountered element. - * - * @return The namespace of the encountered element. - */ - const std::basic_string<C>& - encountered_namespace () const - { - return encountered_namespace_; - } - - /** - * @brief Get the name of the expected element. - * - * @return The name of the expected element. - */ - const std::basic_string<C>& - expected_name () const - { - return expected_name_; - } - - /** - * @brief Get the namespace of the expected element. - * - * @return The namespace of the expected element. - */ - const std::basic_string<C>& - expected_namespace () const - { - return expected_namespace_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> encountered_name_; - std::basic_string<C> encountered_namespace_; - std::basic_string<C> expected_name_; - std::basic_string<C> expected_namespace_; - }; - - - /** - * @brief Exception indicating that an expected attribute was not - * encountered. - * - * @nosubgrouping - */ - template <typename C> - class expected_attribute: public exception<C> - { - public: - virtual - ~expected_attribute () throw (); - - /** - * @brief Initialize an instance with the expected attribute - * description. - * - * @param name A name of the expected attribute. - * @param ns A namespace of the expected attribute. - */ - expected_attribute (const std::basic_string<C>& name, - const std::basic_string<C>& ns); - - public: - /** - * @brief Get the name of the expected attribute. - * - * @return The name of the expected attribute. - */ - const std::basic_string<C>& - name () const - { - return name_; - } - - /** - * @brief Get the namespace of the expected attribute. - * - * @return The namespace of the expected attribute. - */ - const std::basic_string<C>& - namespace_ () const - { - return namespace__; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> name_; - std::basic_string<C> namespace__; - }; - - - /** - * @brief Exception indicating that an unexpected enumerator was - * encountered. - * - * @nosubgrouping - */ - template <typename C> - class unexpected_enumerator: public exception<C> - { - public: - virtual - ~unexpected_enumerator () throw (); - - /** - * @brief Initialize an instance with the encountered enumerator. - * - * @param e A value of the encountered enumerator. - */ - unexpected_enumerator (const std::basic_string<C>& e); - - public: - /** - * @brief Get the value of the encountered enumerator. - * - * @return The value of the encountered enumerator. - */ - const std::basic_string<C>& - enumerator () const - { - return enumerator_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> enumerator_; - }; - - - /** - * @brief Exception indicating that the text content was expected - * for an element. - * - * @nosubgrouping - */ - template <typename C> - class expected_text_content: public exception<C> - { - public: - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - }; - - - /** - * @brief Exception indicating that the type information is not - * available for a type. - * - * @nosubgrouping - */ - template <typename C> - class no_type_info: public exception<C> - { - public: - virtual - ~no_type_info () throw (); - - /** - * @brief Initialize an instance with the type description. - * - * @param type_name A name of the type. - * @param type_ns A namespace of the type. - */ - no_type_info (const std::basic_string<C>& type_name, - const std::basic_string<C>& type_ns); - - public: - /** - * @brief Get the type name. - * - * @return The type name. - */ - const std::basic_string<C>& - type_name () const - { - return type_name_; - } - - /** - * @brief Get the type namespace. - * - * @return The type namespace. - */ - const std::basic_string<C>& - type_namespace () const - { - return type_namespace_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> type_name_; - std::basic_string<C> type_namespace_; - }; - - /** - * @brief Exception indicating that %parsing or %serialization - * information is not available for an element. - * - * @nosubgrouping - */ - template <typename C> - class no_element_info: public exception<C> - { - public: - virtual - ~no_element_info () throw (); - - /** - * @brief Initialize an instance with the element description. - * - * @param element_name An element name. - * @param element_ns An element namespace. - */ - no_element_info (const std::basic_string<C>& element_name, - const std::basic_string<C>& element_ns); - - public: - /** - * @brief Get the element name. - * - * @return The element name. - */ - const std::basic_string<C>& - element_name () const - { - return element_name_; - } - - /** - * @brief Get the element namespace. - * - * @return The element namespace. - */ - const std::basic_string<C>& - element_namespace () const - { - return element_namespace_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> element_name_; - std::basic_string<C> element_namespace_; - }; - - /** - * @brief Exception indicating that the types are not related by - * inheritance. - * - * @nosubgrouping - */ - template <typename C> - class not_derived: public exception<C> - { - public: - virtual - ~not_derived () throw (); - - //@cond - - // @@ tmp - // - not_derived () - { - } - - //@endcond - - /** - * @brief Initialize an instance with the type descriptions. - * - * @param base_type_name A name of the base type. - * @param base_type_ns A namespace of the base type. - * @param derived_type_name A name of the derived type. - * @param derived_type_ns A namespace of the derived type. - */ - not_derived (const std::basic_string<C>& base_type_name, - const std::basic_string<C>& base_type_ns, - const std::basic_string<C>& derived_type_name, - const std::basic_string<C>& derived_type_ns); - - public: - /** - * @brief Get the base type name. - * - * @return The base type name. - */ - const std::basic_string<C>& - base_type_name () const - { - return base_type_name_; - } - - /** - * @brief Get the base type namespace. - * - * @return The base type namespace. - */ - const std::basic_string<C>& - base_type_namespace () const - { - return base_type_namespace_; - } - - /** - * @brief Get the derived type name. - * - * @return The derived type name. - */ - const std::basic_string<C>& - derived_type_name () const - { - return derived_type_name_; - } - - /** - * @brief Get the derived type namespace. - * - * @return The derived type namespace. - */ - const std::basic_string<C>& - derived_type_namespace () const - { - return derived_type_namespace_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> base_type_name_; - std::basic_string<C> base_type_namespace_; - std::basic_string<C> derived_type_name_; - std::basic_string<C> derived_type_namespace_; - }; - - - /** - * @brief Exception indicating that a duplicate ID value was - * encountered in the object model. - * - * @nosubgrouping - */ - template <typename C> - class duplicate_id: public exception<C> - { - public: - virtual - ~duplicate_id () throw (); - - /** - * @brief Initialize an instance with the offending ID value. - * - * @param id An offending ID value. - */ - duplicate_id (const std::basic_string<C>& id); - - public: - /** - * @brief Get the offending ID value. - * - * @return The offending ID value. - */ - const std::basic_string<C>& - id () const - { - return id_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> id_; - }; - - - /** - * @brief Exception indicating a %serialization failure. - * - * @nosubgrouping - */ - template <typename C> - class serialization: public exception<C> - { - public: - virtual - ~serialization () throw (); - - /** - * @brief Default constructor. - */ - serialization (); - - /** - * @brief Initialize an instance with a %list of %error conditions. - * - * @param d A %list of %error conditions. - */ - serialization (const tree::diagnostics<C>& d); - - public: - /** - * @brief Get the %list of %error conditions. - * - * @return The %list of %error conditions. - */ - const tree::diagnostics<C>& - diagnostics () const - { - return diagnostics_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - tree::diagnostics<C> diagnostics_; - }; - - - /** - * @brief Exception indicating that a prefix-namespace mapping was - * not provided. - * - * @nosubgrouping - */ - template <typename C> - class no_prefix_mapping: public exception<C> - { - public: - virtual - ~no_prefix_mapping () throw (); - - /** - * @brief Initialize an instance with the prefix for which the - * prefix-namespace mapping was not provided. - * - * @param prefix A prefix. - */ - no_prefix_mapping (const std::basic_string<C>& prefix); - - public: - /** - * @brief Get the prefix for which the prefix-namespace mapping was - * not provided. - * - * @return The prefix. - */ - const std::basic_string<C>& - prefix () const - { - return prefix_; - } - - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - - private: - std::basic_string<C> prefix_; - }; - - - /** - * @brief Exception indicating that the size argument exceeds - * the capacity argument. - * - * See the buffer class for details. - * - * @nosubgrouping - */ - template <typename C> - class bounds: public exception<C> - { - public: - /** - * @brief Get %exception description. - * - * @return A C %string describing the %exception. - */ - virtual const char* - what () const throw (); - - protected: - //@cond - - virtual void - print (std::basic_ostream<C>&) const; - - //@endcond - }; - } - } -} - -#include <xsd/cxx/tree/exceptions.txx> - -#endif // XSD_CXX_TREE_EXCEPTIONS_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/exceptions.txx b/xsd/libxsd/xsd/cxx/tree/exceptions.txx deleted file mode 100644 index 2544f42..0000000 --- a/xsd/libxsd/xsd/cxx/tree/exceptions.txx +++ /dev/null @@ -1,509 +0,0 @@ -// file : xsd/cxx/tree/exceptions.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // error - // - template <typename C> - error<C>:: - error (tree::severity s, - const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - const std::basic_string<C>& message) - : severity_ (s), - id_ (id), - line_ (line), - column_ (column), - message_ (message) - { - } - - template <typename C> - error<C>:: - error () - : severity_ (tree::severity::error), line_ (0), column_ (0) - { - } - - template <typename C> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const error<C>& e) - { - return os << e.id () << C (':') << e.line () << C (':') << e.column () - << (e.severity () == severity::error - ? bits::ex_error_error<C> () - : bits::ex_error_warning<C> ()) << e.message (); - } - - // diagnostics - // - template <typename C> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const diagnostics<C>& d) - { - for (typename diagnostics<C>::const_iterator b (d.begin ()), i (b); - i != d.end (); - ++i) - { - if (i != b) - os << C ('\n'); - - os << *i; - } - - return os; - } - - // parsing - // - template <typename C> - parsing<C>:: - ~parsing () throw () - { - } - - template <typename C> - parsing<C>:: - parsing () - { - } - - template <typename C> - parsing<C>:: - parsing (const tree::diagnostics<C>& diagnostics) - : diagnostics_ (diagnostics) - { - } - - template <typename C> - const char* parsing<C>:: - what () const throw () - { - return "instance document parsing failed"; - } - - template <typename C> - void parsing<C>:: - print (std::basic_ostream<C>& os) const - { - if (diagnostics_.empty ()) - os << bits::ex_parsing_msg<C> (); - else - os << diagnostics_; - } - - // expected_element - // - template <typename C> - expected_element<C>:: - ~expected_element () throw () - { - } - - template <typename C> - expected_element<C>:: - expected_element (const std::basic_string<C>& name, - const std::basic_string<C>& namespace_) - : name_ (name), namespace__ (namespace_) - { - } - - template <typename C> - const char* expected_element<C>:: - what () const throw () - { - return "expected element not encountered"; - } - - template <typename C> - void expected_element<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_eel_expected<C> (); - - if (!namespace_ ().empty ()) - os << namespace_ () << C ('#'); - - os << name () << C ('\''); - } - - // unexpected_element - // - template <typename C> - unexpected_element<C>:: - ~unexpected_element () throw () - { - } - - template <typename C> - unexpected_element<C>:: - unexpected_element (const std::basic_string<C>& encountered_name, - const std::basic_string<C>& encountered_namespace, - const std::basic_string<C>& expected_name, - const std::basic_string<C>& expected_namespace) - : encountered_name_ (encountered_name), - encountered_namespace_ (encountered_namespace), - expected_name_ (expected_name), - expected_namespace_ (expected_namespace) - { - } - - template <typename C> - const char* unexpected_element<C>:: - what () const throw () - { - return "unexpected element encountered"; - } - - template <typename C> - void unexpected_element<C>:: - print (std::basic_ostream<C>& os) const - { - if (!expected_name ().empty ()) - { - os << bits::ex_uel_expected<C> (); - - if (!expected_namespace ().empty ()) - os << expected_namespace () << C ('#'); - - os << expected_name () << bits::ex_uel_instead<C> (); - - if (!encountered_namespace ().empty ()) - os << encountered_namespace () << C ('#'); - - os << encountered_name () << C ('\''); - } - else - { - os << bits::ex_uel_unexpected<C> (); - - if (!encountered_namespace ().empty ()) - os << encountered_namespace () << C ('#'); - - os << encountered_name () << C ('\''); - } - } - - // expected_attribute - // - template <typename C> - expected_attribute<C>:: - ~expected_attribute () throw () - { - } - - template <typename C> - expected_attribute<C>:: - expected_attribute (const std::basic_string<C>& name, - const std::basic_string<C>& namespace_) - : name_ (name), namespace__ (namespace_) - { - } - - template <typename C> - const char* expected_attribute<C>:: - what () const throw () - { - return "expected attribute not encountered"; - } - - template <typename C> - void expected_attribute<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_eat_expected<C> (); - - if (!namespace_ ().empty ()) - os << namespace_ () << C ('#'); - - os << name () << C ('\''); - } - - // unexpected_enumerator - // - template <typename C> - unexpected_enumerator<C>:: - ~unexpected_enumerator () throw () - { - } - - template <typename C> - unexpected_enumerator<C>:: - unexpected_enumerator (const std::basic_string<C>& enumerator) - : enumerator_ (enumerator) - { - } - - template <typename C> - const char* unexpected_enumerator<C>:: - what () const throw () - { - return "unexpected enumerator encountered"; - } - - template <typename C> - void unexpected_enumerator<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_uen_unexpected<C> () << enumerator () << C ('\''); - } - - // expected_text_content - // - template <typename C> - const char* expected_text_content<C>:: - what () const throw () - { - return "expected text content"; - } - - template <typename C> - void expected_text_content<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_etc_msg<C> (); - } - - // no_type_info - // - template <typename C> - no_type_info<C>:: - ~no_type_info () throw () - { - } - - template <typename C> - no_type_info<C>:: - no_type_info (const std::basic_string<C>& type_name, - const std::basic_string<C>& type_namespace) - : type_name_ (type_name), - type_namespace_ (type_namespace) - { - } - - template <typename C> - const char* no_type_info<C>:: - what () const throw () - { - return "no type information available for a type"; - } - - template <typename C> - void no_type_info<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_nti_no_type_info<C> (); - - if (!type_namespace ().empty ()) - os << type_namespace () << C ('#'); - - os << type_name () << C ('\''); - } - - // no_element_info - // - template <typename C> - no_element_info<C>:: - ~no_element_info () throw () - { - } - - template <typename C> - no_element_info<C>:: - no_element_info (const std::basic_string<C>& element_name, - const std::basic_string<C>& element_namespace) - : element_name_ (element_name), - element_namespace_ (element_namespace) - { - } - - template <typename C> - const char* no_element_info<C>:: - what () const throw () - { - return "no parsing or serialization information available for " - "an element"; - } - - template <typename C> - void no_element_info<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_nei_no_element_info<C> (); - - if (!element_namespace ().empty ()) - os << element_namespace () << C ('#'); - - os << element_name () << C ('\''); - } - - // not_derived - // - template <typename C> - not_derived<C>:: - ~not_derived () throw () - { - } - - template <typename C> - not_derived<C>:: - not_derived (const std::basic_string<C>& base_type_name, - const std::basic_string<C>& base_type_namespace, - const std::basic_string<C>& derived_type_name, - const std::basic_string<C>& derived_type_namespace) - : base_type_name_ (base_type_name), - base_type_namespace_ (base_type_namespace), - derived_type_name_ (derived_type_name), - derived_type_namespace_ (derived_type_namespace) - { - } - - template <typename C> - const char* not_derived<C>:: - what () const throw () - { - return "type is not derived"; - } - - template <typename C> - void not_derived<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_nd_type<C> (); - - if (!derived_type_namespace ().empty ()) - os << derived_type_namespace () << C ('#'); - - os << derived_type_name () << bits::ex_nd_not_derived<C> (); - - if (!base_type_namespace ().empty ()) - os << base_type_namespace () << C ('#'); - - os << base_type_name () << C ('\''); - } - - // duplicate_id - // - template <typename C> - duplicate_id<C>:: - ~duplicate_id () throw () - { - } - - template <typename C> - duplicate_id<C>:: - duplicate_id (const std::basic_string<C>& id) - : id_ (id) - { - } - - template <typename C> - const char* duplicate_id<C>:: - what () const throw () - { - return "ID already exist"; - } - - template <typename C> - void duplicate_id<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_di_id<C> () << id () << bits::ex_di_already_exist<C> (); - } - - // serialization - // - template <typename C> - serialization<C>:: - ~serialization () throw () - { - } - - template <typename C> - serialization<C>:: - serialization () - { - } - - template <typename C> - serialization<C>:: - serialization (const tree::diagnostics<C>& diagnostics) - : diagnostics_ (diagnostics) - { - } - - template <typename C> - const char* serialization<C>:: - what () const throw () - { - return "serialization failed"; - } - - template <typename C> - void serialization<C>:: - print (std::basic_ostream<C>& os) const - { - if (diagnostics_.empty ()) - os << bits::ex_serialization_msg<C> (); - else - os << diagnostics_; - } - - - // no_prefix_mapping - // - template <typename C> - no_prefix_mapping<C>:: - ~no_prefix_mapping () throw () - { - } - - template <typename C> - no_prefix_mapping<C>:: - no_prefix_mapping (const std::basic_string<C>& prefix) - : prefix_ (prefix) - { - } - - template <typename C> - const char* no_prefix_mapping<C>:: - what () const throw () - { - return "no mapping provided for a namespace prefix"; - } - - template <typename C> - void no_prefix_mapping<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_npm_no_mapping<C> () << prefix () << C ('\''); - } - - - // bounds - // - template <typename C> - const char* bounds<C>:: - what () const throw () - { - return "buffer boundary rules have been violated"; - } - - template <typename C> - void bounds<C>:: - print (std::basic_ostream<C>& os) const - { - os << bits::ex_bounds_msg<C> (); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/facet.hxx b/xsd/libxsd/xsd/cxx/tree/facet.hxx deleted file mode 100644 index e17ead1..0000000 --- a/xsd/libxsd/xsd/cxx/tree/facet.hxx +++ /dev/null @@ -1,42 +0,0 @@ -// file : xsd/cxx/tree/facet.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_FACET_HXX -#define XSD_CXX_TREE_FACET_HXX - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // We need to keep this type POD in order to be able to create a - // static array. - // - struct facet - { - enum id_type - { - none, - total_digits, - fraction_digits - }; - - id_type id; - unsigned long value; - - static const facet* - find (const facet* facets, facet::id_type id) - { - while (facets->id != id && facets->id != none) - ++facets; - - return facets->id != none ? facets : 0; - } - }; - } - } -} - -#endif // XSD_CXX_TREE_FACET_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/istream-fwd.hxx b/xsd/libxsd/xsd/cxx/tree/istream-fwd.hxx deleted file mode 100644 index bd20fff..0000000 --- a/xsd/libxsd/xsd/cxx/tree/istream-fwd.hxx +++ /dev/null @@ -1,20 +0,0 @@ -// file : xsd/cxx/tree/istream-fwd.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ISTREAM_FWD_HXX -#define XSD_CXX_TREE_ISTREAM_FWD_HXX - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template<typename S> - class istream; - } - } -} - -#endif // XSD_CXX_TREE_ISTREAM_FWD_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/istream.hxx b/xsd/libxsd/xsd/cxx/tree/istream.hxx deleted file mode 100644 index 45e334b..0000000 --- a/xsd/libxsd/xsd/cxx/tree/istream.hxx +++ /dev/null @@ -1,454 +0,0 @@ -// file : xsd/cxx/tree/istream.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ISTREAM_HXX -#define XSD_CXX_TREE_ISTREAM_HXX - -#include <map> -#include <string> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/tree/istream-fwd.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - class istream_common - { - public: - template <typename T> - struct as_size - { - explicit as_size (T& x) : x_ (x) {} - T& x_; - }; - - - // 8-bit - // - template <typename T> - struct as_int8 - { - explicit as_int8 (T& x) : x_ (x) {} - T& x_; - }; - - template <typename T> - struct as_uint8 - { - explicit as_uint8 (T& x) : x_ (x) {} - T& x_; - }; - - - // 16-bit - // - template <typename T> - struct as_int16 - { - explicit as_int16 (T& x) : x_ (x) {} - T& x_; - }; - - template <typename T> - struct as_uint16 - { - explicit as_uint16 (T& x) : x_ (x) {} - T& x_; - }; - - - // 32-bit - // - template <typename T> - struct as_int32 - { - explicit as_int32 (T& x) : x_ (x) {} - T& x_; - }; - - template <typename T> - struct as_uint32 - { - explicit as_uint32 (T& x) : x_ (x) {} - T& x_; - }; - - - // 64-bit - // - template <typename T> - struct as_int64 - { - explicit as_int64 (T& x) : x_ (x) {} - T& x_; - }; - - template <typename T> - struct as_uint64 - { - explicit as_uint64 (T& x) : x_ (x) {} - T& x_; - }; - - - // Boolean - // - template <typename T> - struct as_bool - { - explicit as_bool (T& x) : x_ (x) {} - T& x_; - }; - - - // Floating-point - // - template <typename T> - struct as_float32 - { - explicit as_float32 (T& x) : x_ (x) {} - T& x_; - }; - - template <typename T> - struct as_float64 - { - explicit as_float64 (T& x) : x_ (x) {} - T& x_; - }; - }; - - template<typename S> - class istream: public istream_common - { - public: - explicit - istream (S& s) - : s_ (s) - { - } - - S& - impl () - { - return s_; - } - - // Add string to the pool. The application should add every - // potentially pooled string to correctly re-create the pool - // constructed during insertion. - // - template <typename C> - void - pool_add (const std::basic_string<C>& s) - { - typedef pool_impl<C> pool_type; - - if (pool_.get () == 0) - pool_.reset (new pool_type); - - pool_type& p (*static_cast<pool_type*> (pool_.get ())); - p.push_back (s); - } - - // Get string from pool id. We return the result via an argument - // instead of as a return type to avoid difficulties some compilers - // (e.g., GCC) experience with calls like istream<S>::pool_string<C>. - // - template <typename C> - void - pool_string (std::size_t id, std::basic_string<C>& out) - { - typedef pool_impl<C> pool_type; - pool_type& p (*static_cast<pool_type*> (pool_.get ())); - out = p[id - 1]; - } - - public: - // 8-bit - // - signed char - read_char (); - - unsigned char - read_uchar (); - - // 16-bit - // - unsigned short - read_short (); - - unsigned short - read_ushort (); - - // 32-bit - // - unsigned int - read_int (); - - unsigned int - read_uint (); - - // 64-bit - // - unsigned long long - read_ulonglong (); - - unsigned long long - read_longlong (); - - // Boolean - // - bool - read_bool (); - - // Floating-point - // - float - read_float (); - - double - read_double (); - - private: - istream (const istream&); - istream& - operator= (const istream&); - - private: - struct pool - { - virtual - ~pool () {} - }; - - template <typename C> - struct pool_impl: pool, std::vector<std::basic_string<C> > - { - }; - - S& s_; - std::size_t seq_; - XSD_AUTO_PTR<pool> pool_; - }; - - - // 8-bit - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, signed char& x) - { - istream_common::as_int8<signed char> as_int8 (x); - return s >> as_int8; - } - - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, unsigned char& x) - { - istream_common::as_uint8<unsigned char> as_uint8 (x); - return s >> as_uint8; - } - - - // 16-bit - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, short& x) - { - istream_common::as_int16<short> as_int16 (x); - return s >> as_int16; - } - - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, unsigned short& x) - { - istream_common::as_uint16<unsigned short> as_uint16 (x); - return s >> as_uint16; - } - - - // 32-bit - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, int& x) - { - istream_common::as_int32<int> as_int32 (x); - return s >> as_int32; - } - - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, unsigned int& x) - { - istream_common::as_uint32<unsigned int> as_uint32 (x); - return s >> as_uint32; - } - - - // 64-bit - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, long long& x) - { - istream_common::as_int64<long long> as_int64 (x); - return s >> as_int64; - } - - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, unsigned long long& x) - { - istream_common::as_uint64<unsigned long long> as_uint64 (x); - return s >> as_uint64; - } - - // Boolean - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, bool& x) - { - istream_common::as_bool<bool> as_bool (x); - return s >> as_bool; - } - - - // Floating-point - // - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, float& x) - { - istream_common::as_float32<float> as_float32 (x); - return s >> as_float32; - } - - template <typename S> - inline istream<S>& - operator>> (istream<S>& s, double& x) - { - istream_common::as_float64<double> as_float64 (x); - return s >> as_float64; - } - - // - // read_* functions. - // - - template <typename S> - inline signed char istream<S>:: - read_char () - { - signed char r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned char istream<S>:: - read_uchar () - { - unsigned char r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned short istream<S>:: - read_short () - { - short r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned short istream<S>:: - read_ushort () - { - unsigned short r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned int istream<S>:: - read_int () - { - int r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned int istream<S>:: - read_uint () - { - unsigned int r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned long long istream<S>:: - read_ulonglong () - { - long long r; - *this >> r; - return r; - } - - template <typename S> - inline unsigned long long istream<S>:: - read_longlong () - { - unsigned long long r; - *this >> r; - return r; - } - - template <typename S> - inline bool istream<S>:: - read_bool () - { - bool r; - *this >> r; - return r; - } - - template <typename S> - inline float istream<S>:: - read_float () - { - float r; - *this >> r; - return r; - } - - template <typename S> - inline double istream<S>:: - read_double () - { - double r; - *this >> r; - return r; - } - } - } -} - -#endif // XSD_CXX_TREE_ISTREAM_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/iterator-adapter.hxx b/xsd/libxsd/xsd/cxx/tree/iterator-adapter.hxx deleted file mode 100644 index 0a54604..0000000 --- a/xsd/libxsd/xsd/cxx/tree/iterator-adapter.hxx +++ /dev/null @@ -1,270 +0,0 @@ -// file : xsd/cxx/tree/iterator-adapter.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_ITERATOR_ADAPTER_HXX -#define XSD_CXX_TREE_ITERATOR_ADAPTER_HXX - -#include <cstddef> // std::ptrdiff_t -#include <iterator> // std::iterator_traits - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Sun CC's <iterator> does not have iterator_traits. To overcome - // this, we will wrap std::iterator_traits into our own and also - // specialize it for pointer types. Since Sun CC uses pointer - // for vector::iterator, it will use the specialization and won't - // notice the std::iterator_traits. - // -#ifndef _RWSTD_NO_CLASS_PARTIAL_SPEC - template <typename I> - struct iterator_traits - { - typedef - typename std::iterator_traits<I>::iterator_category - iterator_category; - - typedef - typename std::iterator_traits<I>::value_type - value_type; - - typedef - typename std::iterator_traits<I>::difference_type - difference_type; - }; -#else - // The Pointer specialization does not work for reverse and - // set iterators. But these iterators are user-dfined types - // and have suitable typedefs that we can use. - // - template <typename I> - struct iterator_traits - { - typedef typename I::iterator_category iterator_category; - typedef typename I::value_type value_type; - typedef typename I::difference_type difference_type; - }; - - template <typename T> - struct iterator_traits<T*> - { - typedef std::random_access_iterator_tag iterator_category; - typedef T value_type; - typedef std::ptrdiff_t difference_type; - }; -#endif - - // Iterator adapter for complex types. It expects I to point to - // a smart pointer-like object that has operator*() that returns - // a refernce to a type static_cast'able to T and get() that - // returns a pointer to a type static_cast'able to T. - // - - template <typename I, typename T> - struct iterator_adapter - { - typedef T value_type; - typedef value_type& reference; - typedef value_type* pointer; - - typedef - typename iterator_traits<I>::iterator_category - iterator_category; - - typedef - typename iterator_traits<I>::difference_type - difference_type; - - - public: - iterator_adapter () - : i_ () // i_ can be of a pointer type. - { - } - - // Allow iterator to const_iterator conversion. - // - template <typename J, typename T2> - iterator_adapter (const iterator_adapter<J, T2>& j) - : i_ (j.base ()) - { - } - - explicit - iterator_adapter (const I& i) - : i_ (i) - { - } - - public: - // Forward iterator requirements. - // - reference - operator* () const - { - return static_cast<reference> (**i_); - } - - pointer - operator-> () const - { - return static_cast<pointer> (i_->get ()); - } - - iterator_adapter& - operator++ () - { - ++i_; - return *this; - } - - iterator_adapter - operator++ (int) - { - iterator_adapter r (*this); - ++i_; - return r; - } - - // Bidirectional iterator requirements. - // - iterator_adapter& - operator-- () - { - --i_; - return *this; - } - - iterator_adapter - operator-- (int) - { - iterator_adapter r (*this); - --i_; - return r; - } - - // Random access iterator requirements. - // - reference - operator[] (difference_type n) const - { - return static_cast<reference> (*(i_[n])); - } - - iterator_adapter& - operator+= (difference_type n) - { - i_ += n; - return *this; - } - - iterator_adapter - operator+ (difference_type n) const - { - return iterator_adapter (i_ + n); - } - - iterator_adapter& - operator-= (difference_type n) - { - i_ -= n; - return *this; - } - - iterator_adapter - operator- (difference_type n) const - { - return iterator_adapter (i_ - n); - } - - public: - const I& - base () const - { - return i_; - } - - private: - I i_; - }; - - // Note: We use different types for left- and right-hand-side - // arguments to allow comparison between iterator and const_iterator. - // - - // Forward iterator requirements. - // - template <typename I, typename J, typename T1, typename T2> - inline bool - operator== (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () == j.base (); - } - - template <typename I, typename J, typename T1, typename T2> - inline bool - operator!= (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () != j.base (); - } - - // Random access iterator requirements - // - template <typename I, typename J, typename T1, typename T2> - inline bool - operator< (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () < j.base (); - } - - template <typename I, typename J, typename T1, typename T2> - inline bool - operator> (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () > j.base (); - } - - template <typename I, typename J, typename T1, typename T2> - inline bool - operator<= (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () <= j.base (); - } - - template <typename I, typename J, typename T1, typename T2> - inline bool - operator>= (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () >= j.base (); - } - - template <typename I, typename J, typename T1, typename T2> - inline typename iterator_adapter<I, T1>::difference_type - operator- (const iterator_adapter<I, T1>& i, - const iterator_adapter<J, T2>& j) - { - return i.base () - j.base (); - } - - template <typename I, typename T> - inline iterator_adapter<I, T> - operator+ (typename iterator_adapter<I, T>::difference_type n, - const iterator_adapter<I, T>& i) - { - return iterator_adapter<I, T> (i.base () + n); - } - } - } -} - -#endif // XSD_CXX_TREE_ITERATOR_ADAPTER_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/list.hxx b/xsd/libxsd/xsd/cxx/tree/list.hxx deleted file mode 100644 index d1fe907..0000000 --- a/xsd/libxsd/xsd/cxx/tree/list.hxx +++ /dev/null @@ -1,134 +0,0 @@ -// file : xsd/cxx/tree/list.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_LIST_HXX -#define XSD_CXX_TREE_LIST_HXX - -#include <string> - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/istream-fwd.hxx> // tree::istream -#include <xsd/cxx/tree/containers.hxx> // fundamental_p, sequence - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Class template for xsd:list mapping. Based on the sequence - // template. - // - template <typename T, - typename C, - schema_type::value ST = schema_type::other, - bool fund = fundamental_p<T>::r> - class list; - - - // - // - template <typename T, typename C, schema_type::value ST> - class list<T, C, ST, false>: public sequence<T> - { - public: - explicit - list (container* c = 0) - : sequence<T> (c) - { - } - - list (typename sequence<T>::size_type n, - const T& x, - container* c = 0) - : sequence<T> (n, x, c) - { - } - - template<typename I> - list (const I& b, const I& e, container* c = 0) - : sequence<T> (b, e, c) - { - } - - template <typename S> - list (istream<S>&, flags = 0, container* c = 0); - - list (const list<T, C, ST, false>& l, flags f = 0, container* c = 0) - : sequence<T> (l, f, c) - { - } - - public: - list (const xercesc::DOMElement&, flags = 0, container* c = 0); - - list (const xercesc::DOMAttr&, flags = 0, container* c = 0); - - list (const std::basic_string<C>&, - const xercesc::DOMElement*, - flags = 0, - container* c = 0); - - private: - void - init (const std::basic_string<C>&, - const xercesc::DOMElement*, - flags); - }; - - - // - // - template <typename T, typename C, schema_type::value ST> - class list<T, C, ST, true>: public sequence<T> - { - public: - explicit - list (container* c = 0) - : sequence<T> (c) - { - } - - explicit - list (typename sequence<T>::size_type n, const T& x, container* c = 0) - : sequence<T> (n, x, c) - { - } - - template<typename I> - list (const I& b, const I& e, container* c = 0) - : sequence<T> (b, e, c) - { - } - - template <typename S> - list (istream<S>&, flags = 0, container* c = 0); - - list (const list<T, C, ST, true>& l, flags f = 0, container* c = 0) - : sequence<T> (l, f, c) - { - } - - public: - list (const xercesc::DOMElement&, flags = 0, container* c = 0); - - list (const xercesc::DOMAttr&, flags = 0, container* c = 0); - - list (const std::basic_string<C>&, - const xercesc::DOMElement*, - flags = 0, - container* c = 0); - - private: - void - init (const std::basic_string<C>&, const xercesc::DOMElement*); - }; - } - } -} - -#endif // XSD_CXX_TREE_LIST_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/ostream.hxx b/xsd/libxsd/xsd/cxx/tree/ostream.hxx deleted file mode 100644 index ec15c51..0000000 --- a/xsd/libxsd/xsd/cxx/tree/ostream.hxx +++ /dev/null @@ -1,291 +0,0 @@ -// file : xsd/cxx/tree/ostream.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_OSTREAM_HXX -#define XSD_CXX_TREE_OSTREAM_HXX - -#include <map> -#include <string> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -namespace xsd -{ - namespace cxx - { - namespace tree - { - class ostream_common - { - public: - template <typename T> - struct as_size - { - explicit as_size (T x) : x_ (x) {} - T x_; - }; - - - // 8-bit - // - template <typename T> - struct as_int8 - { - explicit as_int8 (T x) : x_ (x) {} - T x_; - }; - - template <typename T> - struct as_uint8 - { - explicit as_uint8 (T x) : x_ (x) {} - T x_; - }; - - - // 16-bit - // - template <typename T> - struct as_int16 - { - explicit as_int16 (T x) : x_ (x) {} - T x_; - }; - - template <typename T> - struct as_uint16 - { - explicit as_uint16 (T x) : x_ (x) {} - T x_; - }; - - - // 32-bit - // - template <typename T> - struct as_int32 - { - explicit as_int32 (T x) : x_ (x) {} - T x_; - }; - - template <typename T> - struct as_uint32 - { - explicit as_uint32 (T x) : x_ (x) {} - T x_; - }; - - - // 64-bit - // - template <typename T> - struct as_int64 - { - explicit as_int64 (T x) : x_ (x) {} - T x_; - }; - - template <typename T> - struct as_uint64 - { - explicit as_uint64 (T x) : x_ (x) {} - T x_; - }; - - - // Boolean - // - template <typename T> - struct as_bool - { - explicit as_bool (T x) : x_ (x) {} - T x_; - }; - - - // Floating-point - // - template <typename T> - struct as_float32 - { - explicit as_float32 (T x) : x_ (x) {} - T x_; - }; - - template <typename T> - struct as_float64 - { - explicit as_float64 (T x) : x_ (x) {} - T x_; - }; - }; - - template<typename S> - class ostream: public ostream_common - { - public: - explicit - ostream (S& s) - : s_ (s), seq_ (1) - { - } - - S& - impl () - { - return s_; - } - - // If the string is not in the pool, add it and return 0. Otherwise - // return the string's pool id. In the former case the application - // should serialize the original string. - // - // The returned ids are sequential and start with 1. 0 is reserved - // as a special marker to be used by the application for the first - // encounter of the string. - // - template <typename C> - std::size_t - pool_string (const std::basic_string<C>& s) - { - typedef pool_impl<C> pool_type; - - if (pool_.get () == 0) - pool_.reset (new pool_type); - - pool_type& p (*static_cast<pool_type*> (pool_.get ())); - - std::pair<typename pool_type::iterator, bool> r ( - p.insert (std::pair<std::basic_string<C>, std::size_t> (s, seq_))); - - if (!r.second) - return r.first->second; - - seq_++; - return 0; - } - - private: - ostream (const ostream&); - ostream& - operator= (const ostream&); - - private: - struct pool - { - virtual - ~pool () {} - }; - - template <typename C> - struct pool_impl: pool, std::map<std::basic_string<C>, std::size_t> - { - }; - - S& s_; - std::size_t seq_; - XSD_AUTO_PTR<pool> pool_; - }; - - - // 8-bit - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, signed char x) - { - return s << ostream_common::as_int8<signed char> (x); - } - - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, unsigned char x) - { - return s << ostream_common::as_uint8<unsigned char> (x); - } - - - // 16-bit - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, short x) - { - return s << ostream_common::as_int16<short> (x); - } - - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, unsigned short x) - { - return s << ostream_common::as_uint16<unsigned short> (x); - } - - - // 32-bit - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, int x) - { - return s << ostream_common::as_int32<int> (x); - } - - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, unsigned int x) - { - return s << ostream_common::as_uint32<unsigned int> (x); - } - - - // 64-bit - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, long long x) - { - return s << ostream_common::as_int64<long long> (x); - } - - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, unsigned long long x) - { - return s << ostream_common::as_uint64<unsigned long long> (x); - } - - // Boolean - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, bool x) - { - return s << ostream_common::as_bool<bool> (x); - } - - - // Floating-point - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, float x) - { - return s << ostream_common::as_float32<float> (x); - } - - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, double x) - { - return s << ostream_common::as_float64<double> (x); - } - } - } -} - -#endif // XSD_CXX_TREE_OSTREAM_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing.hxx b/xsd/libxsd/xsd/cxx/tree/parsing.hxx deleted file mode 100644 index f811788..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing.hxx +++ /dev/null @@ -1,11 +0,0 @@ -// file : xsd/cxx/tree/parsing.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_HXX -#define XSD_CXX_TREE_PARSING_HXX - -#include <xsd/cxx/tree/parsing.txx> -#include <xsd/cxx/tree/parsing/date-time.txx> - -#endif // XSD_CXX_TREE_PARSING_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing.txx b/xsd/libxsd/xsd/cxx/tree/parsing.txx deleted file mode 100644 index 73e06f4..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing.txx +++ /dev/null @@ -1,919 +0,0 @@ -// file : xsd/cxx/tree/parsing.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <string> - -#include <xsd/cxx/ro-string.hxx> // trim - -#include <xsd/cxx/xml/string.hxx> // xml::{string, transcode} -#include <xsd/cxx/xml/elements.hxx> // xml::{prefix, uq_name} -#include <xsd/cxx/xml/bits/literals.hxx> // xml::bits::{xml_prefix, - // xml_namespace} - -#include <xsd/cxx/tree/exceptions.hxx> // no_prefix_mapping -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/list.hxx> -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Note that most of the types implemented here (except string, - // (normalizedString, and base64Binary) cannot have whitespaces - // in the value. As result we don't need to waste time collapsing - // whitespaces. All we need to do is trim the string representation - // which can be done without copying. - // - - // type - // - inline _type:: - _type (const xercesc::DOMElement& e, flags f, container* c) - : container_ (c) - { - if (f & flags::extract_content) - content_.reset (new dom_content_type (e)); - - if (f & flags::keep_dom) - dom_info_ = dom_info_factory::create (e, *this, c == 0); - } - - inline _type:: - _type (const xercesc::DOMAttr& a, flags f, container* c) - : container_ (c) - { - // anyType cannot be an attribute type so no content extraction. - - if (f & flags::keep_dom) - dom_info_ = dom_info_factory::create (a, *this); - } - - template <typename C> - inline _type:: - _type (const std::basic_string<C>&, - const xercesc::DOMElement*, - flags, - container* c) - : container_ (c) // List elements don't have associated DOM nodes. - { - // anyType cannot be a list element type so no content extraction. - } - - // simple_type - // - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type (const xercesc::DOMElement& e, flags f, container* c) - : B (e, (f & ~flags::extract_content), c) - { - if (f & flags::extract_content) - this->content_.reset ( - new text_content_type (tree::text_content<C> (e))); - } - - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, (f & ~flags::extract_content), c) - { - if (f & flags::extract_content) - this->content_.reset (new text_content_type ( - xml::transcode<C> (a.getValue ()))); - } - - template <typename C, typename B> - inline simple_type<C, B>:: - simple_type (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, (f & ~flags::extract_content), c) - { - if (f & flags::extract_content) - this->content_.reset (new text_content_type (s)); - } - - // fundamental_base - // - template <typename T, typename C, typename B, schema_type::value ST> - fundamental_base<T, C, B, ST>:: - fundamental_base (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), - facet_table_ (0), - x_ (traits<T, C, ST>::create (e, f, c)) - { - } - - template <typename T, typename C, typename B, schema_type::value ST> - fundamental_base<T, C, B, ST>:: - fundamental_base (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), - facet_table_ (0), - x_ (traits<T, C, ST>::create (a, f, c)) - { - } - - template <typename T, typename C, typename B, schema_type::value ST> - fundamental_base<T, C, B, ST>:: - fundamental_base (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), - facet_table_ (0), - x_ (traits<T, C, ST>::create (s, e, f, c)) - { - } - - - // Parsing c-tors for list. - // - - namespace bits - { - // Find first non-space character. - // - template <typename C> - typename std::basic_string<C>::size_type - find_ns (const C* s, - typename std::basic_string<C>::size_type size, - typename std::basic_string<C>::size_type pos) - { - while (pos < size && - (s[pos] == C (0x20) || // space - s[pos] == C (0x0D) || // carriage return - s[pos] == C (0x09) || // tab - s[pos] == C (0x0A))) - ++pos; - - return pos < size ? pos : std::basic_string<C>::npos; - } - - // Find first space character. - // - template <typename C> - typename std::basic_string<C>::size_type - find_s (const C* s, - typename std::basic_string<C>::size_type size, - typename std::basic_string<C>::size_type pos) - { - while (pos < size && - s[pos] != C (0x20) && // space - s[pos] != C (0x0D) && // carriage return - s[pos] != C (0x09) && // tab - s[pos] != C (0x0A)) - ++pos; - - return pos < size ? pos : std::basic_string<C>::npos; - } - } - - // Individual items of the list have no DOM association. Therefore - // we clear keep_dom from flags. - // - - template <typename T, typename C, schema_type::value ST> - list<T, C, ST, false>:: - list (const xercesc::DOMElement& e, flags f, container* c) - : sequence<T> (c) - { - init (tree::text_content<C> (e), &e, f & ~flags::keep_dom); - } - - template <typename T, typename C, schema_type::value ST> - list<T, C, ST, false>:: - list (const xercesc::DOMAttr& a, flags f, container* c) - : sequence<T> (c) - { - init (xml::transcode<C> (a.getValue ()), - a.getOwnerElement (), - f & ~flags::keep_dom); - } - - template <typename T, typename C, schema_type::value ST> - list<T, C, ST, false>:: - list (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : sequence<T> (c) - { - init (s, e, f & ~flags::keep_dom); - } - - template <typename T, typename C, schema_type::value ST> - void list<T, C, ST, false>:: - init (const std::basic_string<C>& s, - const xercesc::DOMElement* parent, - flags f) - { - if (s.size () == 0) - return; - - using std::basic_string; - typedef typename basic_string<C>::size_type size_type; - - const C* data (s.c_str ()); - size_type size (s.size ()); - - // Traverse the data while logically collapsing spaces. - // - for (size_type i (bits::find_ns<C> (data, size, 0)); - i != basic_string<C>::npos;) - { - size_type j (bits::find_s (data, size, i)); - - if (j != basic_string<C>::npos) - { - this->push_back ( - traits<T, C, ST>::create ( - basic_string<C> (data + i, j - i), - parent, - f, - this->container_)); - - i = bits::find_ns (data, size, j); - } - else - { - // Last element. - // - this->push_back ( - traits<T, C, ST>::create ( - basic_string<C> (data + i, size - i), - parent, - f, - this->container_)); - - break; - } - } - } - - template <typename T, typename C, schema_type::value ST> - list<T, C, ST, true>:: - list (const xercesc::DOMElement& e, flags, container* c) - : sequence<T> (c) - { - init (tree::text_content<C> (e), &e); - } - - template <typename T, typename C, schema_type::value ST> - inline list<T, C, ST, true>:: - list (const xercesc::DOMAttr& a, flags, container* c) - : sequence<T> (c) - { - init (xml::transcode<C> (a.getValue ()), a.getOwnerElement ()); - } - - template <typename T, typename C, schema_type::value ST> - inline list<T, C, ST, true>:: - list (const std::basic_string<C>& s, - const xercesc::DOMElement* parent, - flags, - container* c) - : sequence<T> (c) - { - init (s, parent); - } - - template <typename T, typename C, schema_type::value ST> - inline void list<T, C, ST, true>:: - init (const std::basic_string<C>& s, const xercesc::DOMElement* parent) - { - if (s.size () == 0) - return; - - using std::basic_string; - typedef typename basic_string<C>::size_type size_type; - - const C* data (s.c_str ()); - size_type size (s.size ()); - - // Traverse the data while logically collapsing spaces. - // - for (size_type i (bits::find_ns<C> (data, size, 0)); - i != basic_string<C>::npos;) - { - size_type j (bits::find_s (data, size, i)); - - if (j != basic_string<C>::npos) - { - this->push_back ( - traits<T, C, ST>::create ( - basic_string<C> (data + i, j - i), parent, 0, 0)); - - i = bits::find_ns (data, size, j); - } - else - { - // Last element. - // - this->push_back ( - traits<T, C, ST>::create ( - basic_string<C> (data + i, size - i), parent, 0, 0)); - - break; - } - } - } - - - // Parsing c-tors for built-in types. - // - - - // string - // - template <typename C, typename B> - string<C, B>:: - string (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), - base_type (tree::text_content<C> (e)) - { - } - - template <typename C, typename B> - string<C, B>:: - string (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), - base_type (xml::transcode<C> (a.getValue ())) - { - } - - template <typename C, typename B> - string<C, B>:: - string (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), base_type (s) - { - } - - - // normalized_string - // - template <typename C, typename B> - normalized_string<C, B>:: - normalized_string (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - normalize (); - } - - template <typename C, typename B> - normalized_string<C, B>:: - normalized_string (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - normalize (); - } - - template <typename C, typename B> - normalized_string<C, B>:: - normalized_string (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - normalize (); - } - - template <typename C, typename B> - void normalized_string<C, B>:: - normalize () - { - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (this->size ()); - - for (size_type i (0); i < size; ++i) - { - C& c ((*this)[i]); - - if (c == C (0x0D) || // carriage return - c == C (0x09) || // tab - c == C (0x0A)) - c = C (0x20); - } - } - - - // token - // - template <typename C, typename B> - token<C, B>:: - token (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - collapse (); - } - - template <typename C, typename B> - token<C, B>:: - token (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - collapse (); - } - - template <typename C, typename B> - token<C, B>:: - token (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - collapse (); - } - - template <typename C, typename B> - void token<C, B>:: - collapse () - { - // We have all whitespace normilized by our base. We just - // need to collapse them. - // - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (this->size ()), j (0); - bool subs (false), trim (true); - - for (size_type i (0); i < size; ++i) - { - C c ((*this)[i]); - - if (c == C (0x20)) - { - subs = true; - } - else - { - if (subs) - { - subs = false; - - if (!trim) - (*this)[j++] = C (0x20); - } - - if (trim) - trim = false; - - (*this)[j++] = c; - } - } - - this->resize (j); - } - - - // nmtoken - // - template <typename C, typename B> - nmtoken<C, B>:: - nmtoken (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - } - - template <typename C, typename B> - nmtoken<C, B>:: - nmtoken (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - } - - template <typename C, typename B> - nmtoken<C, B>:: - nmtoken (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - } - - - // nmtokens - // - template <typename C, typename B, typename nmtoken> - nmtokens<C, B, nmtoken>:: - nmtokens (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), base_type (e, f, this) - { - } - - template <typename C, typename B, typename nmtoken> - nmtokens<C, B, nmtoken>:: - nmtokens (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), base_type (a, f, this) - { - } - - template <typename C, typename B, typename nmtoken> - nmtokens<C, B, nmtoken>:: - nmtokens (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), base_type (s, e, f, this) - { - } - - - // name - // - template <typename C, typename B> - name<C, B>:: - name (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - } - - template <typename C, typename B> - name<C, B>:: - name (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - } - - template <typename C, typename B> - name<C, B>:: - name (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - } - - - // ncname - // - template <typename C, typename B> - ncname<C, B>:: - ncname (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - } - - template <typename C, typename B> - ncname<C, B>:: - ncname (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - } - - template <typename C, typename B> - ncname<C, B>:: - ncname (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - } - - - // language - // - template <typename C, typename B> - language<C, B>:: - language (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - } - - template <typename C, typename B> - language<C, B>:: - language (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - } - - template <typename C, typename B> - language<C, B>:: - language (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - } - - - // id - // - template <typename C, typename B> - id<C, B>:: - id (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c), identity_ (*this) - { - register_id (); - } - - template <typename C, typename B> - id<C, B>:: - id (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c), identity_ (*this) - { - register_id (); - } - - template <typename C, typename B> - id<C, B>:: - id (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c), identity_ (*this) - { - register_id (); - } - - - // idref - // - template <typename C, typename B, typename T> - idref<C, B, T>:: - idref (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c), identity_ (*this) - { - } - - template <typename C, typename B, typename T> - idref<C, B, T>:: - idref (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f , c), identity_ (*this) - { - } - - template <typename C, typename B, typename T> - idref<C, B, T>:: - idref (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c), identity_ (*this) - { - } - - - // idrefs - // - template <typename C, typename B, typename idref> - idrefs<C, B, idref>:: - idrefs (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), base_type (e, f, this) - { - } - - template <typename C, typename B, typename idref> - idrefs<C, B, idref>:: - idrefs (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), base_type (a, f, this) - { - } - - template <typename C, typename B, typename idref> - idrefs<C, B, idref>:: - idrefs (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), base_type (s, e, f, this) - { - } - - - // uri - // - template <typename C, typename B> - uri<C, B>:: - uri (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), - base_type (trim (tree::text_content<C> (e))) - { - } - - template <typename C, typename B> - uri<C, B>:: - uri (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), - base_type (trim (xml::transcode<C> (a.getValue ()))) - { - } - - template <typename C, typename B> - uri<C, B>:: - uri (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), base_type (trim (s)) - { - } - - - // qname - // - template <typename C, typename B, typename uri, typename ncname> - qname<C, B, uri, ncname>:: - qname (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - std::basic_string<C> v (trim (tree::text_content<C> (e))); - ns_ = resolve (v, &e); - name_ = xml::uq_name (v); - } - - template <typename C, typename B, typename uri, typename ncname> - qname<C, B, uri, ncname>:: - qname (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - std::basic_string<C> v (trim (xml::transcode<C> (a.getValue ()))); - ns_ = resolve (v, a.getOwnerElement ()); - name_ = xml::uq_name (v); - } - - template <typename C, typename B, typename uri, typename ncname> - qname<C, B, uri, ncname>:: - qname (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - std::basic_string<C> v (trim (s)); - ns_ = resolve (v, e); - name_ = xml::uq_name (v); - } - - template <typename C, typename B, typename uri, typename ncname> - uri qname<C, B, uri, ncname>:: - resolve (const std::basic_string<C>& s, const xercesc::DOMElement* e) - { - std::basic_string<C> p (xml::prefix (s)); - - if (e) - { - // This code is copied verbatim from xml/dom/elements.hxx. - // - - // 'xml' prefix requires special handling and Xerces folks refuse - // to handle this in DOM so I have to do it myself. - // - if (p == xml::bits::xml_prefix<C> ()) - return xml::bits::xml_namespace<C> (); - - const XMLCh* xns ( - e->lookupNamespaceURI ( - p.empty () ? 0 : xml::string (p).c_str ())); - - if (xns != 0) - return xml::transcode<C> (xns); - else if (p.empty ()) - return std::basic_string<C> (); - } - - throw no_prefix_mapping<C> (p); - } - - - // base64_binary - // - // We are not doing whitespace collapsing since the decode - // functions can handle it like this. - // - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - // This implementation is not optimal. - // - std::basic_string<C> str (trim (tree::text_content<C> (e))); - decode (xml::string (str).c_str ()); - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - std::basic_string<C> str (trim (xml::transcode<C> (a.getValue ()))); - decode (xml::string (str).c_str ()); - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - std::basic_string<C> str (trim (s)); - decode (xml::string (str).c_str ()); - } - - - // hex_binary - // - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - // This implementation is not optimal. - // - std::basic_string<C> str (trim (tree::text_content<C> (e))); - decode (xml::string (str).c_str ()); - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - std::basic_string<C> str (trim (xml::transcode<C> (a.getValue ()))); - decode (xml::string (str).c_str ()); - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - std::basic_string<C> str (trim (s)); - decode (xml::string (str).c_str ()); - } - - // entity - // - template <typename C, typename B> - entity<C, B>:: - entity (const xercesc::DOMElement& e, flags f, container* c) - : base_type (e, f, c) - { - } - - template <typename C, typename B> - entity<C, B>:: - entity (const xercesc::DOMAttr& a, flags f, container* c) - : base_type (a, f, c) - { - } - - template <typename C, typename B> - entity<C, B>:: - entity (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : base_type (s, e, f, c) - { - } - - - // entities - // - template <typename C, typename B, typename entity> - entities<C, B, entity>:: - entities (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c), base_type (e, f, this) - { - } - - template <typename C, typename B, typename entity> - entities<C, B, entity>:: - entities (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c), base_type (a, f, this) - { - } - - template <typename C, typename B, typename entity> - entities<C, B, entity>:: - entities (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c), base_type (s, e, f, this) - { - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/boolean.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/boolean.hxx deleted file mode 100644 index 8bbd3a8..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/boolean.hxx +++ /dev/null @@ -1,75 +0,0 @@ -// file : xsd/cxx/tree/parsing/boolean.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_BOOLEAN_HXX -#define XSD_CXX_TREE_PARSING_BOOLEAN_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<bool, C, schema_type::other> - { - typedef bool type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - bool traits<bool, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - bool traits<bool, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - bool traits<bool, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - return tmp == bits::true_<C> () || tmp == bits::one<C> (); - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_BOOLEAN_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/byte.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/byte.hxx deleted file mode 100644 index d6cf1d3..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/byte.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/byte.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_BYTE_HXX -#define XSD_CXX_TREE_PARSING_BYTE_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<signed char, C, schema_type::other> - { - typedef signed char type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - signed char traits<signed char, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - signed char traits<signed char, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - signed char traits<signed char, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - short t; - is >> t; - - return static_cast<type> (t); - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_BYTE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/date-time.txx b/xsd/libxsd/xsd/cxx/tree/parsing/date-time.txx deleted file mode 100644 index 29b12b6..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/date-time.txx +++ /dev/null @@ -1,701 +0,0 @@ -// file : xsd/cxx/tree/parsing/date-time.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - template <typename C> - void time_zone:: - zone_parse (const C* s, std::size_t n) - { - // time_zone := Z|(+|-)HH:MM - // - if (n == 0) - { - return; - } - else if (s[0] == C ('Z')) - { - hours_ = 0; - minutes_ = 0; - present_ = true; - } - else if (n == 6) - { - // Parse hours. - // - hours_ = 10 * (s[1] - C ('0')) + (s[2] - C ('0')); - - // Parse minutes. - // - minutes_ = 10 * (s[4] - C ('0')) + (s[5] - C ('0')); - - if (s[0] == C ('-')) - { - hours_ = -hours_; - minutes_ = -minutes_; - } - present_ = true; - } - } - - // gday - // - template <typename C, typename B> - gday<C, B>:: - gday (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - gday<C, B>:: - gday (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - gday<C, B>:: - gday (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void gday<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // gday := ---DD[Z|(+|-)HH:MM] - // - if (n >= 5) - { - day_ = 10 * (s[3] - C ('0')) + (s[4] - C ('0')); - - if (n > 5) - zone_parse (s + 5, n - 5); - } - } - - // gmonth - // - template <typename C, typename B> - gmonth<C, B>:: - gmonth (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - gmonth<C, B>:: - gmonth (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - gmonth<C, B>:: - gmonth (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void gmonth<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // gmonth := --MM[Z|(+|-)HH:MM] - // - if (n >= 4) - { - month_ = 10 * (s[2] - C ('0')) + (s[3] - C ('0')); - - if (n > 4) - zone_parse (s + 4, n - 4); - } - } - - // gyear - // - template <typename C, typename B> - gyear<C, B>:: - gyear (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - gyear<C, B>:: - gyear (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - gyear<C, B>:: - gyear (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void gyear<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // gyear := [-]CCYY[N]*[Z|(+|-)HH:MM] - // - if (n >= 4) - { - // Find the end of the year token. - // - size_type pos (4); - for (; pos < n; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> year_fragment (s, pos); - zc_istream<C> is (year_fragment); - is >> year_; - - if (pos < n) - zone_parse (s + pos, n - pos); - } - } - - // gmonth_day - // - template <typename C, typename B> - gmonth_day<C, B>:: - gmonth_day (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - gmonth_day<C, B>:: - gmonth_day (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - gmonth_day<C, B>:: - gmonth_day (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void gmonth_day<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // gmonth_day := --MM-DD[Z|(+|-)HH:MM] - // - if (n >= 7) - { - month_ = 10 * (s[2] - C ('0')) + (s[3] - C ('0')); - day_ = 10 * (s[5] - C ('0')) + (s[6] - C ('0')); - - if (n > 7) - zone_parse (s + 7, n - 7); - } - } - - // gyear_month - // - template <typename C, typename B> - gyear_month<C, B>:: - gyear_month (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - gyear_month<C, B>:: - gyear_month (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - gyear_month<C, B>:: - gyear_month (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void gyear_month<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // gyear_month := [-]CCYY[N]*-MM[Z|(+|-)HH:MM] - // - - if (n >= 7) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (n - pos - 1) >= 2) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> is (year_fragment); - is >> year_; - - month_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - - pos += 3; - - if (pos < n) - zone_parse (s + pos, n - pos); - } - } - } - - // date - // - template <typename C, typename B> - date<C, B>:: - date (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - date<C, B>:: - date (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - date<C, B>:: - date (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void date<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // date := [-]CCYY[N]*-MM-DD[Z|(+|-)HH:MM] - // - - if (n >= 10) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (n - pos - 1) >= 5) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> is (year_fragment); - is >> year_; - - month_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - day_ = 10 * (s[pos + 4] - C ('0')) + (s[pos + 5] - C ('0')); - - pos += 6; - - if (pos < n) - zone_parse (s + pos, n - pos); - } - } - } - - // time - // - template <typename C, typename B> - time<C, B>:: - time (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - time<C, B>:: - time (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - time<C, B>:: - time (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void time<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // time := HH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (n >= 8) - { - hours_ = 10 * (s[0] - '0') + (s[1] - '0'); - minutes_ = 10 * (s[3] - '0') + (s[4] - '0'); - - // Find the end of the seconds fragment. - // - size_type pos (8); - for (; pos < n; ++pos) - { - C c (s[pos]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> seconds_fragment (s + 6, pos - 6); - zc_istream<C> is (seconds_fragment); - is >> seconds_; - - if (pos < n) - zone_parse (s + pos, n - pos); - } - } - - // date_time - // - template <typename C, typename B> - date_time<C, B>:: - date_time (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - date_time<C, B>:: - date_time (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - date_time<C, B>:: - date_time (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - template <typename C, typename B> - void date_time<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // date_time := [-]CCYY[N]*-MM-DDTHH:MM:SS[.S+][Z|(+|-)HH:MM] - // - - if (n >= 19) - { - // Find the end of the year token. - // - size_type pos (tmp.find (C ('-'), 4)); - - if (pos != ro_string<C>::npos && (n - pos - 1) >= 14) - { - ro_string<C> year_fragment (s, pos); - zc_istream<C> yis (year_fragment); - yis >> year_; - - month_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - pos += 3; - - day_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - pos += 3; - - hours_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - pos += 3; - - minutes_ = 10 * (s[pos + 1] - C ('0')) + (s[pos + 2] - C ('0')); - pos += 4; // Point to the first S. - - // Find the end of the seconds fragment. - // - size_type sec_end (pos + 2); - for (; sec_end < n; ++sec_end) - { - C c (s[sec_end]); - - if (c == C ('Z') || c == C ('+') || c == C ('-')) - break; - } - - ro_string<C> seconds_fragment (s + pos, sec_end - pos); - zc_istream<C> sis (seconds_fragment); - sis >> seconds_; - - if (sec_end < n) - zone_parse (s + sec_end, n - sec_end); - } - } - } - - // duration - // - template <typename C, typename B> - duration<C, B>:: - duration (const xercesc::DOMElement& e, flags f, container* c) - : B (e, f, c) - { - parse (tree::text_content<C> (e)); - } - - template <typename C, typename B> - duration<C, B>:: - duration (const xercesc::DOMAttr& a, flags f, container* c) - : B (a, f, c) - { - parse (xml::transcode<C> (a.getValue ())); - } - - template <typename C, typename B> - duration<C, B>:: - duration (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f, - container* c) - : B (s, e, f, c) - { - parse (s); - } - - namespace bits - { - template <typename C> - inline typename ro_string<C>::size_type - duration_delim (const C* s, - typename ro_string<C>::size_type pos, - typename ro_string<C>::size_type size) - { - const C* p (s + pos); - for (; p < (s + size); ++p) - { - if (*p == C ('Y') || *p == C ('D') || *p == C ('M') || - *p == C ('H') || *p == C ('M') || *p == C ('S') || - *p == C ('T')) - break; - } - - return p - s; - } - } - - template <typename C, typename B> - void duration<C, B>:: - parse (const std::basic_string<C>& str) - { - typedef typename ro_string<C>::size_type size_type; - - ro_string<C> tmp (str); - size_type n (trim (tmp)); - const C* s (tmp.data ()); - - // Set all the fields since some of them may not be specified. - // - years_ = months_ = days_ = hours_ = minutes_ = 0; - seconds_ = 0.0; - - // duration := [-]P[nY][nM][nD][TnHnMn[.n+]S] - // - if (n >= 3) - { - size_type pos (0); - - if (s[0] == C ('-')) - { - negative_ = true; - pos++; - } - else - negative_ = false; - - pos++; // Skip 'P'. - - size_type del (bits::duration_delim (s, pos, n)); - - if (del != n && s[del] == C ('Y')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> years_; - - pos = del + 1; - del = bits::duration_delim (s, pos, n); - } - - if (del != n && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> months_; - - pos = del + 1; - del = bits::duration_delim (s, pos, n); - } - - if (del != n && s[del] == C ('D')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> days_; - - pos = del + 1; - del = bits::duration_delim (s, pos, n); - } - - if (del != n && s[del] == C ('T')) - { - pos = del + 1; - del = bits::duration_delim (s, pos, n); - - if (del != n && s[del] == C ('H')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> hours_; - - pos = del + 1; - del = bits::duration_delim (s, pos, n); - } - - if (del != n && s[del] == C ('M')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> minutes_; - - pos = del + 1; - del = bits::duration_delim (s, pos, n); - } - - if (del != n && s[del] == C ('S')) - { - ro_string<C> fragment (s + pos, del - pos); - zc_istream<C> is (fragment); - is >> seconds_; - } - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/decimal.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/decimal.hxx deleted file mode 100644 index b615d3c..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/decimal.hxx +++ /dev/null @@ -1,84 +0,0 @@ -// file : xsd/cxx/tree/parsing/decimal.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_DECIMAL_HXX -#define XSD_CXX_TREE_PARSING_DECIMAL_HXX - -#include <limits> -#include <locale> - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<double, C, schema_type::decimal> - { - typedef double type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - double traits<double, C, schema_type::decimal>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - double traits<double, C, schema_type::decimal>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - double traits<double, C, schema_type::decimal>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - is.imbue (std::locale::classic ()); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_DECIMAL_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/double.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/double.hxx deleted file mode 100644 index 4466f7d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/double.hxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd/cxx/tree/parsing/double.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_DOUBLE_HXX -#define XSD_CXX_TREE_PARSING_DOUBLE_HXX - -#include <limits> -#include <locale> - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<double, C, schema_type::double_> - { - typedef double type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - double traits<double, C, schema_type::double_>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - double traits<double, C, schema_type::double_>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - double traits<double, C, schema_type::double_>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - if (tmp == bits::positive_inf<C> ()) - return std::numeric_limits<double>::infinity (); - - if (tmp == bits::negative_inf<C> ()) - return -std::numeric_limits<double>::infinity (); - - if (tmp == bits::nan<C> ()) - return std::numeric_limits<double>::quiet_NaN (); - - zc_istream<C> is (tmp); - is.imbue (std::locale::classic ()); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_DOUBLE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/element-map.txx b/xsd/libxsd/xsd/cxx/tree/parsing/element-map.txx deleted file mode 100644 index 6ac9674..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/element-map.txx +++ /dev/null @@ -1,41 +0,0 @@ -// file : xsd/cxx/tree/parsing/element-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_ELEMENT_MAP_TXX -#define XSD_CXX_TREE_PARSING_ELEMENT_MAP_TXX - -#include <xsd/cxx/xml/dom/elements.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C, typename T> - XSD_AUTO_PTR<element_type<C, T> > element_map<C, T>:: - parse (const xercesc::DOMElement& e, flags f) - { - const qualified_name n (xml::dom::name<C> (e)); - typename map::const_iterator i (map_->find (n)); - - if (i != map_->end () && i->second.parser_ != 0) - return (i->second.parser_) (e, f); - else - throw no_element_info<C> (n.name (), n.namespace_ ()); - } - - template<typename T, typename C, typename B> - XSD_AUTO_PTR<element_type<C, B> > - parser_impl (const xercesc::DOMElement& e, flags f) - { - return XSD_AUTO_PTR<element_type<C, B> > (new T (e, f)); - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_ELEMENT_MAP_TXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/float.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/float.hxx deleted file mode 100644 index ee582e5..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/float.hxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd/cxx/tree/parsing/float.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_FLOAT_HXX -#define XSD_CXX_TREE_PARSING_FLOAT_HXX - -#include <limits> -#include <locale> - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<float, C, schema_type::other> - { - typedef float type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - float traits<float, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - float traits<float, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - float traits<float, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - if (tmp == bits::positive_inf<C> ()) - return std::numeric_limits<float>::infinity (); - - if (tmp == bits::negative_inf<C> ()) - return -std::numeric_limits<float>::infinity (); - - if (tmp == bits::nan<C> ()) - return std::numeric_limits<float>::quiet_NaN (); - - zc_istream<C> is (tmp); - is.imbue (std::locale::classic ()); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_FLOAT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/int.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/int.hxx deleted file mode 100644 index b4eec88..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/int.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/int.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_INT_HXX -#define XSD_CXX_TREE_PARSING_INT_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<int, C, schema_type::other> - { - typedef int type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - int traits<int, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - int traits<int, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - int traits<int, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_INT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/long.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/long.hxx deleted file mode 100644 index 070e66d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/long.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/long.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_LONG_HXX -#define XSD_CXX_TREE_PARSING_LONG_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<long long, C, schema_type::other> - { - typedef long long type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - long long traits<long long, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - long long traits<long long, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - long long traits<long long, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_LONG_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/short.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/short.hxx deleted file mode 100644 index 90d5144..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/short.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/short.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_SHORT_HXX -#define XSD_CXX_TREE_PARSING_SHORT_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<short, C, schema_type::other> - { - typedef short type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - short traits<short, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - short traits<short, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - short traits<short, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_SHORT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-byte.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-byte.hxx deleted file mode 100644 index c172e93..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-byte.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/unsigned-byte.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_UNSIGNED_BYTE_HXX -#define XSD_CXX_TREE_PARSING_UNSIGNED_BYTE_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<unsigned char, C, schema_type::other> - { - typedef unsigned char type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - unsigned char traits<unsigned char, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - unsigned char traits<unsigned char, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - unsigned char traits<unsigned char, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - unsigned short t; - is >> t; - - return static_cast<type> (t); - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_UNSIGNED_BYTE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-int.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-int.hxx deleted file mode 100644 index 07fb7f2..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-int.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/unsigned-int.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_UNSIGNED_INT_HXX -#define XSD_CXX_TREE_PARSING_UNSIGNED_INT_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<unsigned int, C, schema_type::other> - { - typedef unsigned int type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - unsigned int traits<unsigned int, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - unsigned int traits<unsigned int, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - unsigned int traits<unsigned int, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_UNSIGNED_INT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-long.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-long.hxx deleted file mode 100644 index 0036e0d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-long.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/unsigned-long.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_UNSIGNED_LONG_HXX -#define XSD_CXX_TREE_PARSING_UNSIGNED_LONG_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<unsigned long long, C, schema_type::other> - { - typedef unsigned long long type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - unsigned long long traits<unsigned long long, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - unsigned long long traits<unsigned long long, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - unsigned long long traits<unsigned long long, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_UNSIGNED_LONG_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-short.hxx b/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-short.hxx deleted file mode 100644 index 838a2a8..0000000 --- a/xsd/libxsd/xsd/cxx/tree/parsing/unsigned-short.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/tree/parsing/unsigned-short.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_PARSING_UNSIGNED_SHORT_HXX -#define XSD_CXX_TREE_PARSING_UNSIGNED_SHORT_HXX - -#include <xsd/cxx/ro-string.hxx> -#include <xsd/cxx/zc-istream.hxx> - -#include <xsd/cxx/xml/string.hxx> // xml::transcode - -#include <xsd/cxx/tree/text.hxx> // text_content - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct traits<unsigned short, C, schema_type::other> - { - typedef unsigned short type; - - static type - create (const xercesc::DOMElement& e, flags f, container* c); - - static type - create (const xercesc::DOMAttr& a, flags f, container* c); - - static type - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*); - }; - - template <typename C> - unsigned short traits<unsigned short, C, schema_type::other>:: - create (const xercesc::DOMElement& e, flags f, container* c) - { - return create (tree::text_content<C> (e), 0, f, c); - } - - template <typename C> - unsigned short traits<unsigned short, C, schema_type::other>:: - create (const xercesc::DOMAttr& a, flags f, container* c) - { - return create (xml::transcode<C> (a.getValue ()), 0, f, c); - } - - template <typename C> - unsigned short traits<unsigned short, C, schema_type::other>:: - create (const std::basic_string<C>& s, - const xercesc::DOMElement*, - flags, - container*) - { - // This type cannot have whitespaces in its values. As result we - // don't need to waste time collapsing whitespaces. All we need to - // do is trim the string representation which can be done without - // copying. - // - ro_string<C> tmp (s); - trim (tmp); - - zc_istream<C> is (tmp); - - type t; - is >> t; - - return t; - } - } - } -} - -#endif // XSD_CXX_TREE_PARSING_UNSIGNED_SHORT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization.hxx b/xsd/libxsd/xsd/cxx/tree/serialization.hxx deleted file mode 100644 index 24b26e2..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization.hxx +++ /dev/null @@ -1,65 +0,0 @@ -// file : xsd/cxx/tree/serialization.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_HXX -#define XSD_CXX_TREE_SERIALIZATION_HXX - -#include <sstream> - -#include <xercesc/dom/DOMElement.hpp> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // - // - template <typename C> - class list_stream - { - public: - list_stream (std::basic_ostringstream<C>& os, - xercesc::DOMElement& parent) - : os_ (os), parent_ (parent) - { - } - - std::basic_ostringstream<C>& os_; - xercesc::DOMElement& parent_; - }; - - template <typename T> - class as_double - { - public: - as_double (const T& v) - : x (v) - { - } - - const T& x; - }; - - template <typename T> - class as_decimal - { - public: - as_decimal (const T& v, const facet* f = 0) - : x (v), facets (f) - { - } - - const T& x; - const facet* facets; - }; - } - } -} - -#include <xsd/cxx/tree/serialization.txx> -#include <xsd/cxx/tree/serialization/date-time.txx> - -#endif // XSD_CXX_TREE_SERIALIZATION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization.txx b/xsd/libxsd/xsd/cxx/tree/serialization.txx deleted file mode 100644 index 055f603..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization.txx +++ /dev/null @@ -1,790 +0,0 @@ -// file : xsd/cxx/tree/serialization.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <string> -#include <sstream> - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::{string, transcode} -#include <xsd/cxx/xml/dom/serialization-header.hxx> // dom::{prefix, clear} - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/list.hxx> - -// The only way to make the following serialization operators -// for fundamental types work is to defined them in the xercesc -// namespace so that they can be found by ADL. Placing them into -// the global namespace does not work. -// - -namespace XERCES_CPP_NAMESPACE -{ - // Serialization of std::basic_string and C string. Used in other - // serializers. Also used to serialize enumerators. - // - template <typename C> - void - operator<< (xercesc::DOMElement& e, const C* s) - { - xsd::cxx::xml::dom::clear<char> (e); - - if (*s != C (0)) - e.setTextContent (xsd::cxx::xml::string (s).c_str ()); - } - - template <typename C> - void - operator<< (xercesc::DOMAttr& a, const C* s) - { - a.setValue (xsd::cxx::xml::string (s).c_str ()); - } - - // We duplicate the code above instead of delegating in order to - // allow the xml::string type to take advantage of cached string - // sizes. - // - template <typename C> - void - operator<< (xercesc::DOMElement& e, const std::basic_string<C>& s) - { - xsd::cxx::xml::dom::clear<char> (e); - - if (!s.empty ()) - e.setTextContent (xsd::cxx::xml::string (s).c_str ()); - } - - template <typename C> - void - operator<< (xercesc::DOMAttr& a, const std::basic_string<C>& s) - { - a.setValue (xsd::cxx::xml::string (s).c_str ()); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // List serialization operators for std::basic_string and C string. - // - - template <typename C> - void - operator<< (list_stream<C>& ls, const C* s) - { - ls.os_ << s; - } - - template <typename C> - void - operator<< (list_stream<C>& ls, const std::basic_string<C>& s) - { - ls.os_ << s; - } - - // Insertion operators for type. - // - inline void - operator<< (xercesc::DOMElement& e, const type& x) - { - xml::dom::clear<char> (e); - - if (!x.null_content () && x.dom_content ().present ()) - { - // Clone the contents of the element. - // - using namespace xercesc; - - DOMDocument& doc (*e.getOwnerDocument ()); - const DOMElement& se (x.dom_content ().get ()); - DOMNamedNodeMap& sa (*se.getAttributes ()); - - for (XMLSize_t i (0), n (sa.getLength ()); i != n; ++i) - e.setAttributeNode ( - static_cast<DOMAttr*> (doc.importNode (sa.item (i), true))); - - for (DOMNode* sn (se.getFirstChild ()); - sn != 0; - sn = sn->getNextSibling ()) - e.appendChild (doc.importNode (sn, true)); - } - } - - inline void - operator<< (xercesc::DOMAttr&, const type&) - { - } - - template <typename C> - inline void - operator<< (list_stream<C>&, const type&) - { - } - - // Insertion operators for simple_type. - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const simple_type<C, B>& x) - { - if (x.null_content ()) - xml::dom::clear<char> (e); - else - e << x.text_content (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const simple_type<C, B>& x) - { - if (!x.null_content ()) - a << x.text_content (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const simple_type<C, B>& x) - { - if (!x.null_content ()) - ls << x.text_content (); - } - - // Insertion operators for list. - // - template <typename C, typename T, schema_type::value ST, bool fund> - void - operator<< (xercesc::DOMElement& e, const list<T, C, ST, fund>& v) - { - std::basic_ostringstream<C> os; - list_stream<C> ls (os, e); - - ls << v; - - e << os.str (); - } - - template <typename C, typename T, schema_type::value ST, bool fund> - void - operator<< (xercesc::DOMAttr& a, const list<T, C, ST, fund>& v) - { - std::basic_ostringstream<C> os; - list_stream<C> ls (os, *a.getOwnerElement ()); - - ls << v; - - a << os.str (); - } - - template <typename C, typename T, schema_type::value ST, bool fund> - void - operator<< (list_stream<C>& ls, const list<T, C, ST, fund>& v) - { - for (typename list<T, C, ST, fund>::const_iterator - b (v.begin ()), e (v.end ()), i (b); i != e; ++i) - { - if (i != b) - ls.os_ << C (' '); - - ls << *i; - } - } - - // Specializations for double and decimal. - // - template <typename C, typename T, bool fund> - void - operator<< (list_stream<C>& ls, - const list<T, C, schema_type::double_, fund>& v) - { - for (typename list<T, C, schema_type::double_, fund>::const_iterator - b (v.begin ()), e (v.end ()), i (b); i != e; ++i) - { - if (i != b) - ls.os_ << C (' '); - - ls << as_double<T> (*i); - } - } - - template <typename C, typename T, bool fund> - void - operator<< (list_stream<C>& ls, - const list<T, C, schema_type::decimal, fund>& v) - { - for (typename list<T, C, schema_type::decimal, fund>::const_iterator - b (v.begin ()), e (v.end ()), i (b); i != e; ++i) - { - if (i != b) - ls.os_ << C (' '); - - ls << as_decimal<T> (*i); - } - } - - - // Insertion operators for fundamental_base. - // - template <typename T, typename C, typename B, schema_type::value ST> - void - operator<< (xercesc::DOMElement& e, - const fundamental_base<T, C, B, ST>& x) - { - const T& r (x); - e << r; - } - - template <typename T, typename C, typename B, schema_type::value ST> - void - operator<< (xercesc::DOMAttr& a, const fundamental_base<T, C, B, ST>& x) - { - const T& r (x); - a << r; - } - - template <typename T, typename C, typename B, schema_type::value ST> - void - operator<< (list_stream<C>& ls, const fundamental_base<T, C, B, ST>& x) - { - const T& r (x); - ls << r; - } - - // Specializations for double. - // - template <typename T, typename C, typename B> - void - operator<< ( - xercesc::DOMElement& e, - const fundamental_base<T, C, B, schema_type::double_>& x) - { - e << as_double<T> (x); - } - - template <typename T, typename C, typename B> - void - operator<< ( - xercesc::DOMAttr& a, - const fundamental_base<T, C, B, schema_type::double_>& x) - { - a << as_double<T> (x); - } - - template <typename T, typename C, typename B> - void - operator<< ( - list_stream<C>& ls, - const fundamental_base<T, C, B, schema_type::double_>& x) - { - ls << as_double<T> (x); - } - - // Specializations for decimal. - // - template <typename T, typename C, typename B> - void - operator<< ( - xercesc::DOMElement& e, - const fundamental_base<T, C, B, schema_type::decimal>& x) - { - e << as_decimal<T> (x, x._facet_table ()); - } - - template <typename T, typename C, typename B> - void - operator<< ( - xercesc::DOMAttr& a, - const fundamental_base<T, C, B, schema_type::decimal>& x) - { - a << as_decimal<T> (x, x._facet_table ()); - } - - template <typename T, typename C, typename B> - void - operator<< ( - list_stream<C>& ls, - const fundamental_base<T, C, B, schema_type::decimal>& x) - { - ls << as_decimal<T> (x, x._facet_table ()); - } - - // Insertion operators for built-in types. - // - - namespace bits - { - template <typename C, typename T> - void - insert (xercesc::DOMElement& e, const T& x) - { - std::basic_ostringstream<C> os; - os << x; - e << os.str (); - } - - template <typename C, typename T> - void - insert (xercesc::DOMAttr& a, const T& x) - { - std::basic_ostringstream<C> os; - os << x; - a << os.str (); - } - } - - - // string - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const string<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const string<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const string<C, B>& x) - { - ls.os_ << x; - } - - - // normalized_string - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const normalized_string<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const normalized_string<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const normalized_string<C, B>& x) - { - ls.os_ << x; - } - - - // token - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const token<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const token<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const token<C, B>& x) - { - ls.os_ << x; - } - - - // nmtoken - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const nmtoken<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const nmtoken<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const nmtoken<C, B>& x) - { - ls.os_ << x; - } - - - // nmtokens - // - template <typename C, typename B, typename nmtoken> - inline void - operator<< (xercesc::DOMElement& e, const nmtokens<C, B, nmtoken>& v) - { - const list<nmtoken, C>& r (v); - e << r; - } - - template <typename C, typename B, typename nmtoken> - inline void - operator<< (xercesc::DOMAttr& a, const nmtokens<C, B, nmtoken>& v) - { - const list<nmtoken, C>& r (v); - a << r; - } - - template <typename C, typename B, typename nmtoken> - inline void - operator<< (list_stream<C>& ls, const nmtokens<C, B, nmtoken>& v) - { - const list<nmtoken, C>& r (v); - ls << r; - } - - - // name - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const name<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const name<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const name<C, B>& x) - { - ls.os_ << x; - } - - - // ncname - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const ncname<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const ncname<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const ncname<C, B>& x) - { - ls.os_ << x; - } - - - // language - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const language<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const language<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const language<C, B>& x) - { - ls.os_ << x; - } - - - // id - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const id<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const id<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const id<C, B>& x) - { - ls.os_ << x; - } - - - // idref - // - template <typename C, typename B, typename T> - inline void - operator<< (xercesc::DOMElement& e, const idref<C, B, T>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B, typename T> - inline void - operator<< (xercesc::DOMAttr& a, const idref<C, B, T>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B, typename T> - inline void - operator<< (list_stream<C>& ls, const idref<C, B, T>& x) - { - ls.os_ << x; - } - - - // idrefs - // - template <typename C, typename B, typename idref> - inline void - operator<< (xercesc::DOMElement& e, const idrefs<C, B, idref>& v) - { - const list<idref, C>& r (v); - e << r; - } - - template <typename C, typename B, typename idref> - inline void - operator<< (xercesc::DOMAttr& a, const idrefs<C, B, idref>& v) - { - const list<idref, C>& r (v); - a << r; - } - - template <typename C, typename B, typename idref> - inline void - operator<< (list_stream<C>& ls, const idrefs<C, B, idref>& v) - { - const list<idref, C>& r (v); - ls << r; - } - - - // uri - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const uri<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const uri<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const uri<C, B>& x) - { - ls.os_ << x; - } - - - // qname - // - template <typename C, typename B, typename uri, typename ncname> - void - operator<< (xercesc::DOMElement& e, const qname<C, B, uri, ncname>& x) - { - std::basic_ostringstream<C> os; - - if (x.qualified ()) - { - std::basic_string<C> p (xml::dom::prefix (x.namespace_ (), e)); - - if (!p.empty ()) - os << p << C (':'); - } - - os << x.name (); - e << os.str (); - } - - template <typename C, typename B, typename uri, typename ncname> - void - operator<< (xercesc::DOMAttr& a, const qname<C, B, uri, ncname>& x) - { - std::basic_ostringstream<C> os; - - if (x.qualified ()) - { - std::basic_string<C> p ( - xml::dom::prefix (x.namespace_ (), *a.getOwnerElement ())); - - if (!p.empty ()) - os << p << C (':'); - } - - os << x.name (); - a << os.str (); - } - - template <typename C, typename B, typename uri, typename ncname> - void - operator<< (list_stream<C>& ls, const qname<C, B, uri, ncname>& x) - { - if (x.qualified ()) - { - std::basic_string<C> p ( - xml::dom::prefix (x.namespace_ (), ls.parent_)); - - if (!p.empty ()) - ls.os_ << p << C (':'); - } - - ls.os_ << x.name (); - } - - - // base64_binary - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const base64_binary<C, B>& x) - { - e << x.encode (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const base64_binary<C, B>& x) - { - a << x.encode (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const base64_binary<C, B>& x) - { - ls.os_ << x.encode (); - } - - - // hex_binary - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const hex_binary<C, B>& x) - { - e << x.encode (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const hex_binary<C, B>& x) - { - a << x.encode (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const hex_binary<C, B>& x) - { - ls.os_ << x.encode (); - } - - - // entity - // - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const entity<C, B>& x) - { - bits::insert<C> (e, x); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const entity<C, B>& x) - { - bits::insert<C> (a, x); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const entity<C, B>& x) - { - ls.os_ << x; - } - - - // entities - // - template <typename C, typename B, typename entity> - inline void - operator<< (xercesc::DOMElement& e, const entities<C, B, entity>& v) - { - const list<entity, C>& r (v); - e << r; - } - - template <typename C, typename B, typename entity> - inline void - operator<< (xercesc::DOMAttr& a, const entities<C, B, entity>& v) - { - const list<entity, C>& r (v); - a << r; - } - - template <typename C, typename B, typename entity> - inline void - operator<< (list_stream<C>& ls, const entities<C, B, entity>& v) - { - const list<entity, C>& r (v); - ls << r; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/boolean.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/boolean.hxx deleted file mode 100644 index 90978c4..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/boolean.hxx +++ /dev/null @@ -1,51 +0,0 @@ -// file : xsd/cxx/tree/serialization/boolean.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_BOOLEAN_HXX -#define XSD_CXX_TREE_SERIALIZATION_BOOLEAN_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, bool b) - { - std::basic_ostringstream<char> os; - os.setf (std::ios_base::boolalpha); - os << b; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, bool b) - { - std::basic_ostringstream<char> os; - os.setf (std::ios_base::boolalpha); - os << b; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, bool b) - { - // We don't need to restore the original bool format flag - // since items in the list are all of the same type. - // - ls.os_.setf (std::ios_base::boolalpha); - ls.os_ << b; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_BOOLEAN_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/byte.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/byte.hxx deleted file mode 100644 index bd7bceb..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/byte.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/byte.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_BYTE_HXX -#define XSD_CXX_TREE_SERIALIZATION_BYTE_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, signed char c) - { - std::basic_ostringstream<char> os; - os << static_cast<short> (c); - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, signed char c) - { - std::basic_ostringstream<char> os; - os << static_cast<short> (c); - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, signed char c) - { - ls.os_ << static_cast<short> (c); - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_BYTE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/date-time.txx b/xsd/libxsd/xsd/cxx/tree/serialization/date-time.txx deleted file mode 100644 index c2a02d6..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/date-time.txx +++ /dev/null @@ -1,619 +0,0 @@ -// file : xsd/cxx/tree/serialization/date-time.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <locale> -#include <string> -#include <ostream> -#include <sstream> - -#include <xsd/cxx/tree/bits/literals.hxx> // bits::{gday_prefix,gmonth_prefix} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // time_zone - // - namespace bits - { - // Assumes the fill character is set to '0'. - // - template <typename C> - void - zone_insert (std::basic_ostream<C>& os, const time_zone& z) - { - // time-zone := Z|(+|-)HH:MM - // - short h = z.zone_hours (); - short m = z.zone_minutes (); - - if (h == 0 && m == 0) - { - os << C ('Z'); - } - else - { - if (h < 0 || m < 0) - { - h = -h; - m = -m; - os << C ('-'); - } - else - os << C ('+'); - - if (h >= 0 && h <= 14 && m >= 0 && m <= 59) - { - os.width (2); - os << h << C (':'); - os.width (2); - os << m; - } - } - } - } - - // gday - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::gday<C, B>& x) - { - if (x.day () < 32) - { - // Save some time and space by not restoring the fill character - // since it is the same in case of a list. - // - os.fill (C ('0')); - os << bits::gday_prefix<C> (); - os.width (2); - os << x.day (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const gday<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const gday<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const gday<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // gmonth - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::gmonth<C, B>& x) - { - if (x.month () < 13) - { - os.fill (C ('0')); - os << bits::gmonth_prefix<C> (); - os.width (2); - os << x.month (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const gmonth<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const gmonth<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const gmonth<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // gyear - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::gyear<C, B>& x) - { - os.fill (C ('0')); - os.width (4); - os << x.year (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const gyear<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const gyear<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const gyear<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // gmonth_day - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::gmonth_day<C, B>& x) - { - if (x.month () < 13 && x.day () < 32) - { - os.fill (C ('0')); - os << bits::gmonth_prefix<C> (); - os.width (2); - os << x.month () << C ('-'); - os.width (2); - os << x.day (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const gmonth_day<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const gmonth_day<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const gmonth_day<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // gyear_month - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::gyear_month<C, B>& x) - { - if (x.month () < 13) - { - os.fill (C ('0')); - os.width (4); - os << x.year () << C ('-'); - os.width (2); - os << x.month (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const gyear_month<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const gyear_month<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const gyear_month<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // date - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::date<C, B>& x) - { - if (x.month () < 13 && x.day () < 32) - { - os.fill (C ('0')); - os.width (4); - os << x.year () << C ('-'); - os.width (2); - os << x.month () << C ('-'); - os.width (2); - os << x.day (); - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const date<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const date<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const date<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // time - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::time<C, B>& x) - { - if (x.hours () <= 24 && - x.minutes () <= 59 && - x.seconds () >= 0.0 && - x.seconds () < 60.0) - { - os.fill (C ('0')); - os.width (2); - os << x.hours () << C (':'); - - os.width (2); - os << x.minutes () << C (':'); - - std::basic_ostringstream<C> ostr; - ostr.imbue (std::locale::classic ()); - ostr.width (9); - ostr.fill (C ('0')); - ostr << std::fixed << x.seconds (); - - std::basic_string<C> s (ostr.str ()); - - // Remove the trailing zeros and the decimal point if necessary. - // - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (s.size ()), n (size); - - for (; n > 0 && s[n - 1] == C ('0'); --n)/*noop*/; - - if (n > 0 && s[n - 1] == C ('.')) - --n; - - if (n != size) - s.resize (n); - - os << s; - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const time<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const time<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const time<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // date_time - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::date_time<C, B>& x) - { - if (x.month () <= 12 && - x.day () <= 31 && - x.hours () <= 24 && - x.minutes () <= 59 && - x.seconds () >= 0.0 && - x.seconds () < 60.0) - { - os.fill (C ('0')); - os.width (4); - os << x.year () << C ('-'); - - os.width (2); - os << x.month () << C ('-'); - - os.width (2); - os << x.day () << C ('T'); - - os.width (2); - os << x.hours () << C (':'); - - os.width (2); - os << x.minutes () << C (':'); - - std::basic_ostringstream<C> ostr; - ostr.imbue (std::locale::classic ()); - ostr.width (9); - ostr.fill (C ('0')); - ostr << std::fixed << x.seconds (); - - std::basic_string<C> s (ostr.str ()); - - // Remove the trailing zeros and the decimal point if necessary. - // - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (s.size ()), n (size); - - for (; n > 0 && s[n - 1] == C ('0'); --n)/*noop*/; - - if (n > 0 && s[n - 1] == C ('.')) - --n; - - if (n != size) - s.resize (n); - - os << s; - - if (x.zone_present ()) - zone_insert (os, x); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const date_time<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const date_time<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const date_time<C, B>& x) - { - bits::insert (ls.os_, x); - } - - // duration - // - namespace bits - { - template <typename C, typename B> - void - insert (std::basic_ostream<C>& os, const tree::duration<C, B>& x) - { - if (x.negative ()) - os << C ('-'); - - os << C ('P'); - - // years - // - // In case it is 0-duration, use the years field to handle - // this case. - // - if (x.years () != 0 || - (x.months () == 0 && - x.days () == 0 && - x.hours () == 0 && - x.minutes () == 0 && - x.seconds () == 0.0)) - { - os << x.years () << C ('Y'); - } - - // months - // - if (x.months () != 0) - { - os << x.months () << C ('M'); - } - - // days - // - if (x.days () != 0) - { - os << x.days () << C ('D'); - } - - // Figure out if we need the 'T' delimiter. - // - if (x.hours () != 0 || - x.minutes () != 0 || - x.seconds () != 0.0) - os << C ('T'); - - // hours - // - if (x.hours () != 0) - { - os << x.hours () << C ('H'); - } - - // minutes - // - if (x.minutes () != 0) - { - os << x.minutes () << C ('M'); - } - - // seconds - // - if (x.seconds () > 0.0) - { - std::basic_ostringstream<C> ostr; - ostr.imbue (std::locale::classic ()); - ostr << std::fixed << x.seconds (); - - std::basic_string<C> s (ostr.str ()); - - // Remove the trailing zeros and the decimal point if necessary. - // - typedef typename std::basic_string<C>::size_type size_type; - - size_type size (s.size ()), n (size); - - for (; n > 0 && s[n - 1] == C ('0'); --n)/*noop*/; - - if (n > 0 && s[n - 1] == C ('.')) - --n; - - if (n != size) - s.resize (n); - - os << s << C ('S'); - } - } - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMElement& e, const duration<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - e << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (xercesc::DOMAttr& a, const duration<C, B>& x) - { - std::basic_ostringstream<C> os; - bits::insert (os, x); - a << os.str (); - } - - template <typename C, typename B> - inline void - operator<< (list_stream<C>& ls, const duration<C, B>& x) - { - bits::insert (ls.os_, x); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/decimal.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/decimal.hxx deleted file mode 100644 index 6e48809..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/decimal.hxx +++ /dev/null @@ -1,125 +0,0 @@ -// file : xsd/cxx/tree/serialization/decimal.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_DECIMAL_HXX -#define XSD_CXX_TREE_SERIALIZATION_DECIMAL_HXX - -#include <limits> // std::numeric_limits -#include <locale> -#include <sstream> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // The formula for the number of decimla digits required is given in: - // - // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf - // - template <typename C> - std::basic_string<C> - insert (const as_decimal<double>& d) - { - std::basic_ostringstream<C> os; - os.imbue (std::locale::classic ()); - std::streamsize prec; - - const facet* f = d.facets ? - facet::find (d.facets, facet::fraction_digits) : 0; - - if (f) - prec = static_cast<std::streamsize> (f->value); - else - { - // Precision. - // -#if defined (XSD_CXX_TREE_DECIMAL_PRECISION_MAX) - prec = 2 + std::numeric_limits<double>::digits * 301/1000; -#elif defined (XSD_CXX_TREE_DECIMAL_PRECISION) - prec = XSD_CXX_TREE_DECIMAL_PRECISION; -#else - prec = std::numeric_limits<double>::digits10; -#endif - } - - os.precision (prec); - os << std::fixed << d.x; - std::basic_string<C> r (os.str ()); - const C* cr (r.c_str ()); - - // Remove the trailing zeros and the decimal point if necessary. - // - typename std::basic_string<C>::size_type size (r.size ()), n (size); - - if (prec != 0) - { - for (; n > 0 && cr[n - 1] == '0'; --n)/*noop*/; - - if (n > 0 && cr[n - 1] == '.') - --n; - } - - // See if we have a restriction on total digits. - // - f = d.facets ? facet::find (d.facets, facet::total_digits) : 0; - - if (f && n > f->value) - { - // Point and sign do not count so figure out if we have them. - // - typename std::basic_string<C>::size_type extra ( - cr[0] == '-' ? 1 : 0); - - if (r.find ('.') < n) - extra++; - - // Unless we have a point and the size difference is one, - // remove some digits. - // - if ((n - extra) > f->value) - n -= (n - extra - f->value); - - if (n > 0 && cr[n - 1] == '.') - --n; - } - - if (n != size) - r.resize (n); - - return r; - } - } - - template <typename C> - inline void - operator<< (list_stream<C>& ls, const as_decimal<double>& d) - { - ls.os_ << bits::insert<C> (d); - } - } - } -} - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, - const xsd::cxx::tree::as_decimal<double>& d) - { - e << xsd::cxx::tree::bits::insert<char> (d); - } - - inline void - operator<< (xercesc::DOMAttr& a, - const xsd::cxx::tree::as_decimal<double>& d) - { - a << xsd::cxx::tree::bits::insert<char> (d); - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_DECIMAL_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/double.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/double.hxx deleted file mode 100644 index bc4d5c4..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/double.hxx +++ /dev/null @@ -1,95 +0,0 @@ -// file : xsd/cxx/tree/serialization/double.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_DOUBLE_HXX -#define XSD_CXX_TREE_SERIALIZATION_DOUBLE_HXX - -#include <limits> // std::numeric_limits -#include <locale> -#include <sstream> - -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // The formula for the number of decimla digits required is given in: - // - // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf - // - template <typename C> - std::basic_string<C> - insert (const as_double<double>& d) - { - std::basic_string<C> r; - - if (d.x == std::numeric_limits<double>::infinity ()) - r = bits::positive_inf<C> (); - else if (d.x == -std::numeric_limits<double>::infinity ()) - r = bits::negative_inf<C> (); - else if (!(d.x == d.x)) - r = bits::nan<C> (); - else - { - std::basic_ostringstream<C> os; - os.imbue (std::locale::classic ()); - - // Precision. - // -#if defined (XSD_CXX_TREE_DOUBLE_PRECISION_MAX) - os.precision (2 + std::numeric_limits<double>::digits * 301/1000); -#elif defined (XSD_CXX_TREE_DOUBLE_PRECISION) - os.precision (XSD_CXX_TREE_DOUBLE_PRECISION); -#else - os.precision (std::numeric_limits<double>::digits10); -#endif - // Format. - // -#if defined (XSD_CXX_TREE_DOUBLE_FIXED) - os << std::fixed << d.x; -#elif defined (XSD_CXX_TREE_DOUBLE_SCIENTIFIC) - os << std::scientific << d.x; -#else - os << d.x; -#endif - r = os.str (); - } - - return r; - } - } - - template <typename C> - inline void - operator<< (list_stream<C>& ls, const as_double<double>& d) - { - ls.os_ << bits::insert<C> (d); - } - } - } -} - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, - const xsd::cxx::tree::as_double<double>& d) - { - e << xsd::cxx::tree::bits::insert<char> (d); - } - - inline void - operator<< (xercesc::DOMAttr& a, - const xsd::cxx::tree::as_double<double>& d) - { - a << xsd::cxx::tree::bits::insert<char> (d); - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_DOUBLE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/element-map.txx b/xsd/libxsd/xsd/cxx/tree/serialization/element-map.txx deleted file mode 100644 index 63149f4..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/element-map.txx +++ /dev/null @@ -1,39 +0,0 @@ -// file : xsd/cxx/tree/serialization/element-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_ELEMENT_MAP_TXX -#define XSD_CXX_TREE_SERIALIZATION_ELEMENT_MAP_TXX - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C, typename T> - void element_map<C, T>:: - serialize (xercesc::DOMElement& e, const element_type& x) - { - const qualified_name n (x._name (), x._namespace ()); - typename map::const_iterator i (map_->find (n)); - - if (i != map_->end () && i->second.serializer_ != 0) - return (i->second.serializer_) (e, x); - else - throw no_element_info<C> (n.name (), n.namespace_ ()); - } - - template<typename T, typename C, typename B> - void - serializer_impl (xercesc::DOMElement& e, const element_type<C, B>& x) - { - e << static_cast<const T&> (x); - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_ELEMENT_MAP_TXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/float.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/float.hxx deleted file mode 100644 index 9aa79b0..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/float.hxx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd/cxx/tree/serialization/float.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_FLOAT_HXX -#define XSD_CXX_TREE_SERIALIZATION_FLOAT_HXX - -#include <limits> // std::numeric_limits -#include <locale> -#include <sstream> - -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - namespace bits - { - // The formula for the number of decimla digits required is given in: - // - // http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2005/n1822.pdf - // - template <typename C> - std::basic_string<C> - insert (float f) - { - std::basic_string<C> r; - - if (f == std::numeric_limits<float>::infinity ()) - r = bits::positive_inf<C> (); - else if (f == -std::numeric_limits<float>::infinity ()) - r = bits::negative_inf<C> (); - else if (!(f == f)) - r = bits::nan<C> (); - else - { - std::basic_ostringstream<C> os; - os.imbue (std::locale::classic ()); - - // Precision. - // -#if defined (XSD_CXX_TREE_FLOAT_PRECISION_MAX) - os.precision (2 + std::numeric_limits<float>::digits * 301/1000); -#elif defined (XSD_CXX_TREE_FLOAT_PRECISION) - os.precision (XSD_CXX_TREE_FLOAT_PRECISION); -#else - os.precision (std::numeric_limits<float>::digits10); -#endif - // Format. - // -#if defined (XSD_CXX_TREE_FLOAT_FIXED) - os << std::fixed << f; -#elif defined (XSD_CXX_TREE_FLOAT_SCIENTIFIC) - os << std::scientific << f; -#else - os << f; -#endif - r = os.str (); - } - - return r; - } - } - - template <typename C> - inline void - operator<< (list_stream<C>& ls, float f) - { - ls.os_ << bits::insert<C> (f); - } - } - } -} - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, float f) - { - e << xsd::cxx::tree::bits::insert<char> (f); - } - - inline void - operator<< (xercesc::DOMAttr& a, float f) - { - a << xsd::cxx::tree::bits::insert<char> (f); - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_FLOAT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/int.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/int.hxx deleted file mode 100644 index f96124a..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/int.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/int.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_INT_HXX -#define XSD_CXX_TREE_SERIALIZATION_INT_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, int i) - { - std::basic_ostringstream<char> os; - os << i; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, int i) - { - std::basic_ostringstream<char> os; - os << i; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, int i) - { - ls.os_ << i; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_INT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/long.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/long.hxx deleted file mode 100644 index 98a4632..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/long.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/long.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_LONG_HXX -#define XSD_CXX_TREE_SERIALIZATION_LONG_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, long long l) - { - std::basic_ostringstream<char> os; - os << l; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, long long l) - { - std::basic_ostringstream<char> os; - os << l; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, long long l) - { - ls.os_ << l; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_LONG_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/short.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/short.hxx deleted file mode 100644 index f8a9b94..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/short.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/short.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_SHORT_HXX -#define XSD_CXX_TREE_SERIALIZATION_SHORT_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, short s) - { - std::basic_ostringstream<char> os; - os << s; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, short s) - { - std::basic_ostringstream<char> os; - os << s; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, short s) - { - ls.os_ << s; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_SHORT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-byte.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-byte.hxx deleted file mode 100644 index f30c575..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-byte.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/unsigned-byte.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_UNSIGNED_BYTE_HXX -#define XSD_CXX_TREE_SERIALIZATION_UNSIGNED_BYTE_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, unsigned char c) - { - std::basic_ostringstream<char> os; - os << static_cast<unsigned short> (c); - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, unsigned char c) - { - std::basic_ostringstream<char> os; - os << static_cast<unsigned short> (c); - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, unsigned char c) - { - ls.os_ << static_cast<unsigned short> (c); - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_UNSIGNED_BYTE_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-int.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-int.hxx deleted file mode 100644 index 7dbb3a8..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-int.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/unsigned-int.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_UNSIGNED_INT_HXX -#define XSD_CXX_TREE_SERIALIZATION_UNSIGNED_INT_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, unsigned int i) - { - std::basic_ostringstream<char> os; - os << i; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, unsigned int i) - { - std::basic_ostringstream<char> os; - os << i; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, unsigned int i) - { - ls.os_ << i; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_UNSIGNED_INT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-long.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-long.hxx deleted file mode 100644 index 8808e34..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-long.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/unsigned-long.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_UNSIGNED_LONG_HXX -#define XSD_CXX_TREE_SERIALIZATION_UNSIGNED_LONG_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, unsigned long long l) - { - std::basic_ostringstream<char> os; - os << l; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, unsigned long long l) - { - std::basic_ostringstream<char> os; - os << l; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, unsigned long long l) - { - ls.os_ << l; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_UNSIGNED_LONG_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-short.hxx b/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-short.hxx deleted file mode 100644 index ac3a448..0000000 --- a/xsd/libxsd/xsd/cxx/tree/serialization/unsigned-short.hxx +++ /dev/null @@ -1,45 +0,0 @@ -// file : xsd/cxx/tree/serialization/unsigned-short.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_SERIALIZATION_UNSIGNED_SHORT_HXX -#define XSD_CXX_TREE_SERIALIZATION_UNSIGNED_SHORT_HXX - -#include <sstream> - -namespace XERCES_CPP_NAMESPACE -{ - inline void - operator<< (xercesc::DOMElement& e, unsigned short s) - { - std::basic_ostringstream<char> os; - os << s; - e << os.str (); - } - - inline void - operator<< (xercesc::DOMAttr& a, unsigned short s) - { - std::basic_ostringstream<char> os; - os << s; - a << os.str (); - } -} - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - inline void - operator<< (list_stream<C>& ls, unsigned short s) - { - ls.os_ << s; - } - } - } -} - -#endif // XSD_CXX_TREE_SERIALIZATION_UNSIGNED_SHORT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/std-ostream-map.hxx b/xsd/libxsd/xsd/cxx/tree/std-ostream-map.hxx deleted file mode 100644 index 836ee30..0000000 --- a/xsd/libxsd/xsd/cxx/tree/std-ostream-map.hxx +++ /dev/null @@ -1,113 +0,0 @@ -// file : xsd/cxx/tree/std-ostream-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STD_OSTREAM_MAP_HXX -#define XSD_CXX_TREE_STD_OSTREAM_MAP_HXX - -#include <map> -#include <cstddef> // std::size_t -#include <ostream> -#include <typeinfo> - -#include <xsd/cxx/tree/elements.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct std_ostream_map - { - typedef std::type_info type_id; - typedef void (*inserter) (std::basic_ostream<C>&, const type&); - - std_ostream_map (); - - void - register_type (const type_id&, inserter, bool replace = true); - - void - unregister_type (const type_id&); - - void - insert (std::basic_ostream<C>&, const type&); - - public: - inserter - find (const type_id&) const; - - private: - struct type_id_comparator - { - bool - operator() (const type_id* x, const type_id* y) const - { - // XL C++ on AIX has buggy type_info::before() in that - // it returns true for two different type_info objects - // that happened to be for the same type. - // -#if defined(__xlC__) && defined(_AIX) - return *x != *y && x->before (*y); -#else - return x->before (*y); -#endif - } - }; - - typedef - std::map<const type_id*, inserter, type_id_comparator> - type_map; - - type_map type_map_; - }; - - // - // - template<unsigned long id, typename C> - struct std_ostream_plate - { - static std_ostream_map<C>* map; - static std::size_t count; - - std_ostream_plate (); - ~std_ostream_plate (); - }; - - template<unsigned long id, typename C> - std_ostream_map<C>* std_ostream_plate<id, C>::map = 0; - - template<unsigned long id, typename C> - std::size_t std_ostream_plate<id, C>::count = 0; - - - // - // - template<unsigned long id, typename C> - inline std_ostream_map<C>& - std_ostream_map_instance () - { - return *std_ostream_plate<id, C>::map; - } - - // - // - template<typename C, typename T> - void - inserter_impl (std::basic_ostream<C>&, const type&); - - template<unsigned long id, typename C, typename T> - struct std_ostream_initializer - { - std_ostream_initializer (); - ~std_ostream_initializer (); - }; - } - } -} - -#include <xsd/cxx/tree/std-ostream-map.txx> - -#endif // XSD_CXX_TREE_STD_OSTREAM_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/std-ostream-map.txx b/xsd/libxsd/xsd/cxx/tree/std-ostream-map.txx deleted file mode 100644 index ef65ef2..0000000 --- a/xsd/libxsd/xsd/cxx/tree/std-ostream-map.txx +++ /dev/null @@ -1,292 +0,0 @@ -// file : xsd/cxx/tree/std-ostream-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/std-ostream-operators.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // std_ostream_map - // - template <typename C> - std_ostream_map<C>:: - std_ostream_map () - { - // anyType and anySimpleType. - // - register_type ( - typeid (type), - &inserter_impl<C, type>, - false); - - typedef simple_type<C, type> simple_type; - register_type ( - typeid (simple_type), - &inserter_impl<C, simple_type>, - false); - - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - typeid (string), - &inserter_impl<C, string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - typeid (normalized_string), - &inserter_impl<C, normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - typeid (token), - &inserter_impl<C, token>, - false); - - typedef name<C, token> name; - register_type ( - typeid (name), - &inserter_impl<C, name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - typeid (nmtoken), - &inserter_impl<C, nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - typeid (nmtokens), - &inserter_impl<C, nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - typeid (ncname), - &inserter_impl<C, ncname>, - false); - - typedef language<C, token> language; - register_type ( - typeid (language), - &inserter_impl<C, language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - typeid (id), - &inserter_impl<C, id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - typeid (idref), - &inserter_impl<C, idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - typeid (idrefs), - &inserter_impl<C, idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - typeid (uri), - &inserter_impl<C, uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - typeid (qname), - &inserter_impl<C, qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - typeid (base64_binary), - &inserter_impl<C, base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - typeid (hex_binary), - &inserter_impl<C, hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - typeid (gday), - &inserter_impl<C, gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - typeid (gmonth), - &inserter_impl<C, gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - typeid (gyear), - &inserter_impl<C, gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - typeid (gmonth_day), - &inserter_impl<C, gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - typeid (gyear_month), - &inserter_impl<C, gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - typeid (date), - &inserter_impl<C, date>, - false); - - typedef time<C, simple_type> time; - register_type ( - typeid (time), - &inserter_impl<C, time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - typeid (date_time), - &inserter_impl<C, date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - typeid (duration), - &inserter_impl<C, duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - typeid (entity), - &inserter_impl<C, entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - typeid (entities), - &inserter_impl<C, entities>, - false); - } - - template <typename C> - void std_ostream_map<C>:: - register_type (const type_id& tid, inserter i, bool replace) - { - if (replace || type_map_.find (&tid) == type_map_.end ()) - type_map_[&tid] = i; - } - - template <typename C> - void std_ostream_map<C>:: - unregister_type (const type_id& tid) - { - type_map_.erase (&tid); - } - - template <typename C> - void std_ostream_map<C>:: - insert (std::basic_ostream<C>& os, const type& x) - { - if (inserter i = find (typeid (x))) - i (os, x); - else - throw no_type_info<C> (std::basic_string<C> (), - std::basic_string<C> ()); // @@ TODO - } - - template <typename C> - typename std_ostream_map<C>::inserter std_ostream_map<C>:: - find (const type_id& tid) const - { - typename type_map::const_iterator i (type_map_.find (&tid)); - return i == type_map_.end () ? 0 : i->second; - } - - // std_ostream_plate - // - template<unsigned long id, typename C> - std_ostream_plate<id, C>:: - std_ostream_plate () - { - if (count == 0) - map = new std_ostream_map<C>; - - ++count; - } - - template<unsigned long id, typename C> - std_ostream_plate<id, C>:: - ~std_ostream_plate () - { - if (--count == 0) - delete map; - } - - // - // - template<typename C, typename T> - void - inserter_impl (std::basic_ostream<C>& os, const type& x) - { - os << static_cast<const T&> (x); - } - - // std_ostream_initializer - // - template<unsigned long id, typename C, typename T> - std_ostream_initializer<id, C, T>:: - std_ostream_initializer () - { - std_ostream_map_instance<id, C> ().register_type ( - typeid (T), &inserter_impl<C, T>); - } - - template<unsigned long id, typename C, typename T> - std_ostream_initializer<id, C, T>:: - ~std_ostream_initializer () - { - std_ostream_map_instance<id, C> ().unregister_type (typeid (T)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/std-ostream-operators.hxx b/xsd/libxsd/xsd/cxx/tree/std-ostream-operators.hxx deleted file mode 100644 index 9a8f976..0000000 --- a/xsd/libxsd/xsd/cxx/tree/std-ostream-operators.hxx +++ /dev/null @@ -1,277 +0,0 @@ -// file : xsd/cxx/tree/std-ostream-operators.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STD_OSTREAM_OPERATORS_HXX -#define XSD_CXX_TREE_STD_OSTREAM_OPERATORS_HXX - -#include <ostream> - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/containers.hxx> -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/list.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // type - // - template <typename C> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const type&) - { - // Not printing DOM content even if it's there. - return os; - } - - - // simple_type - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const simple_type<C, B>& x) - { - if (!x.null_content ()) - os << x.text_content (); - - return os; - } - - - // fundamental_base - // - template <typename T, typename C, typename B, schema_type::value ST> - inline - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, fundamental_base<T, C, B, ST> x) - { - T& r (x); - return os << r; - } - - // optional: see containers.hxx - // - - // list - // - - // This is an xsd:list-style format (space-separated). - // - template <typename C, typename T, schema_type::value ST, bool fund> - std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const list<T, C, ST, fund>& v) - { - for (typename list<T, C, ST, fund>::const_iterator - b (v.begin ()), e (v.end ()), i (b); i != e; ++i) - { - if (i != b) - os << C (' '); - - os << *i; - } - - return os; - } - - - // Operators for built-in types. - // - - - // string - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const string<C, B>& v) - { - const std::basic_string<C>& r (v); - return os << r; - } - - - // normalized_string - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const normalized_string<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // token - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const token<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // nmtoken - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const nmtoken<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // nmtokens - // - template <typename C, typename B, typename nmtoken> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const nmtokens<C, B, nmtoken>& v) - { - const list<nmtoken, C>& r (v); - return os << r; - } - - - // name - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const name<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // ncname - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const ncname<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // language - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const language<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // id - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const id<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // idref - // - template <typename C, typename B, typename T> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const idref<C, B, T>& v) - { - const B& r (v); - return os << r; - } - - - // idrefs - // - template <typename C, typename B, typename idref> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const idrefs<C, B, idref>& v) - { - const list<idref, C>& r (v); - return os << r; - } - - - // uri - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const uri<C, B>& v) - { - const std::basic_string<C>& r (v); - return os << r; - } - - - // qname - // - template <typename C, typename B, typename uri, typename ncname> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, - const qname<C, B, uri, ncname>& n) - { - if (n.qualified ()) - os << n.namespace_ () << C ('#'); - - return os << n.name (); - } - - - // base64_binary - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const base64_binary<C, B>& v) - { - return os << v.encode (); - } - - - // hex_binary - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const hex_binary<C, B>& v) - { - return os << v.encode (); - } - - - // entity - // - template <typename C, typename B> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const entity<C, B>& v) - { - const B& r (v); - return os << r; - } - - - // entities - // - template <typename C, typename B, typename entity> - inline std::basic_ostream<C>& - operator<< (std::basic_ostream<C>& os, const entities<C, B, entity>& v) - { - const list<entity, C>& r (v); - return os << r; - } - } - } -} - -#include <xsd/cxx/tree/date-time-ostream.txx> - -#endif // XSD_CXX_TREE_STD_OSTREAM_OPERATORS_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.hxx b/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.hxx deleted file mode 100644 index f57c435..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.hxx +++ /dev/null @@ -1,106 +0,0 @@ -// file : xsd/cxx/tree/stream-extraction-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STREAM_EXTRACTION_MAP_HXX -#define XSD_CXX_TREE_STREAM_EXTRACTION_MAP_HXX - -#include <map> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/istream.hxx> -#include <xsd/cxx/xml/qualified-name.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename S, typename C> - struct stream_extraction_map - { - typedef xml::qualified_name<C> qualified_name; - typedef XSD_AUTO_PTR<type> (*extractor) ( - istream<S>&, flags, container*); - - public: - stream_extraction_map (); - - void - register_type (const qualified_name& name, - extractor, - bool replace = true); - - void - unregister_type (const qualified_name& name); - - XSD_AUTO_PTR<type> - extract (istream<S>&, flags, container*); - - public: - extractor - find (const qualified_name& name) const; - - private: - typedef std::map<qualified_name, extractor> type_map; - - type_map type_map_; - }; - - // - // - template<unsigned long id, typename S, typename C> - struct stream_extraction_plate - { - static stream_extraction_map<S, C>* map; - static std::size_t count; - - stream_extraction_plate (); - ~stream_extraction_plate (); - }; - - template<unsigned long id, typename S, typename C> - stream_extraction_map<S, C>* stream_extraction_plate<id, S, C>::map = 0; - - template<unsigned long id, typename S, typename C> - std::size_t stream_extraction_plate<id, S, C>::count = 0; - - - // - // - template<unsigned long id, typename S, typename C> - inline stream_extraction_map<S, C>& - stream_extraction_map_instance () - { - return *stream_extraction_plate<id, S, C>::map; - } - - // - // - template<typename S, typename T> - XSD_AUTO_PTR<type> - extractor_impl (istream<S>&, flags, container*); - - - template<unsigned long id, typename S, typename C, typename T> - struct stream_extraction_initializer - { - stream_extraction_initializer (const C* name, const C* ns); - ~stream_extraction_initializer (); - - private: - const C* name_; - const C* ns_; - }; - } - } -} - -#include <xsd/cxx/tree/stream-extraction-map.txx> - -#endif // XSD_CXX_TREE_STREAM_EXTRACTION_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.txx b/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.txx deleted file mode 100644 index 61dd306..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-extraction-map.txx +++ /dev/null @@ -1,332 +0,0 @@ -// file : xsd/cxx/tree/stream-extraction-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/stream-extraction.hxx> -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // stream_extraction_map - // - template <typename S, typename C> - stream_extraction_map<S, C>:: - stream_extraction_map () - { - // Register extractors for built-in non-fundamental types. - // - std::basic_string<C> xsd (bits::xml_schema<C> ()); - - - // anyType and anySimpleType. - // - register_type ( - qualified_name (bits::any_type<C> (), xsd), - &extractor_impl<S, type>, - false); - - typedef simple_type<C, type> simple_type; - register_type ( - qualified_name (bits::any_simple_type<C> (), xsd), - &extractor_impl<S, simple_type>, - false); - - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - qualified_name (bits::string<C> (), xsd), - &extractor_impl<S, string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - qualified_name (bits::normalized_string<C> (), xsd), - &extractor_impl<S, normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - qualified_name (bits::token<C> (), xsd), - &extractor_impl<S, token>, - false); - - typedef name<C, token> name; - register_type ( - qualified_name (bits::name<C> (), xsd), - &extractor_impl<S, name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - qualified_name (bits::nmtoken<C> (), xsd), - &extractor_impl<S, nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - qualified_name (bits::nmtokens<C> (), xsd), - &extractor_impl<S, nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - qualified_name (bits::ncname<C> (), xsd), - &extractor_impl<S, ncname>, - false); - - typedef language<C, token> language; - register_type ( - qualified_name (bits::language<C> (), xsd), - &extractor_impl<S, language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - qualified_name (bits::id<C> (), xsd), - &extractor_impl<S, id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - qualified_name (bits::idref<C> (), xsd), - &extractor_impl<S, idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - qualified_name (bits::idrefs<C> (), xsd), - &extractor_impl<S, idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - qualified_name (bits::any_uri<C> (), xsd), - &extractor_impl<S, uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - qualified_name (bits::qname<C> (), xsd), - &extractor_impl<S, qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - qualified_name (bits::base64_binary<C> (), xsd), - &extractor_impl<S, base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - qualified_name (bits::hex_binary<C> (), xsd), - &extractor_impl<S, hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - qualified_name (bits::gday<C> (), xsd), - &extractor_impl<S, gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - qualified_name (bits::gmonth<C> (), xsd), - &extractor_impl<S, gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - qualified_name (bits::gyear<C> (), xsd), - &extractor_impl<S, gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - qualified_name (bits::gmonth_day<C> (), xsd), - &extractor_impl<S, gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - qualified_name (bits::gyear_month<C> (), xsd), - &extractor_impl<S, gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - qualified_name (bits::date<C> (), xsd), - &extractor_impl<S, date>, - false); - - typedef time<C, simple_type> time; - register_type ( - qualified_name (bits::time<C> (), xsd), - &extractor_impl<S, time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - qualified_name (bits::date_time<C> (), xsd), - &extractor_impl<S, date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - qualified_name (bits::duration<C> (), xsd), - &extractor_impl<S, duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - qualified_name (bits::entity<C> (), xsd), - &extractor_impl<S, entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - qualified_name (bits::entities<C> (), xsd), - &extractor_impl<S, entities>, - false); - } - - template <typename S, typename C> - void stream_extraction_map<S, C>:: - register_type (const qualified_name& name, - extractor e, - bool replace) - { - if (replace || type_map_.find (name) == type_map_.end ()) - type_map_[name] = e; - } - - template <typename S, typename C> - void stream_extraction_map<S, C>:: - unregister_type (const qualified_name& name) - { - type_map_.erase (name); - } - - template <typename S, typename C> - XSD_AUTO_PTR<type> stream_extraction_map<S, C>:: - extract (istream<S>& s, flags f, container* c) - { - std::basic_string<C> ns, name; - - // The namespace and name strings are pooled. - // - std::size_t id; - istream_common::as_size<std::size_t> as_size (id); - s >> as_size; - - if (id != 0) - s.pool_string (id, ns); - else - { - s >> ns; - s.pool_add (ns); - } - - s >> as_size; - - if (id != 0) - s.pool_string (id, name); - else - { - s >> name; - s.pool_add (name); - } - - if (extractor e = find (qualified_name (name, ns))) - { - return e (s, f, c); - } - else - throw no_type_info<C> (name, ns); - } - - template <typename S, typename C> - typename stream_extraction_map<S, C>::extractor - stream_extraction_map<S, C>:: - find (const qualified_name& name) const - { - typename type_map::const_iterator i (type_map_.find (name)); - return i == type_map_.end () ? 0 : i->second; - } - - - // stream_extraction_plate - // - template<unsigned long id, typename S, typename C> - stream_extraction_plate<id, S, C>:: - stream_extraction_plate () - { - if (count == 0) - map = new stream_extraction_map<S, C>; - - ++count; - } - - template<unsigned long id, typename S, typename C> - stream_extraction_plate<id, S, C>:: - ~stream_extraction_plate () - { - if (--count == 0) - delete map; - } - - // - // - template<typename S, typename T> - XSD_AUTO_PTR<type> - extractor_impl (istream<S>& s, flags f, container* c) - { - return XSD_AUTO_PTR<type> (new T (s, f, c)); - } - - - // stream_extraction_initializer - // - template<unsigned long id, typename S, typename C, typename T> - stream_extraction_initializer<id, S, C, T>:: - stream_extraction_initializer (const C* name, const C* ns) - : name_ (name), ns_ (ns) - { - stream_extraction_map_instance<id, S, C> ().register_type ( - xml::qualified_name<C> (name, ns), &extractor_impl<S, T>); - } - - template<unsigned long id, typename S, typename C, typename T> - stream_extraction_initializer<id, S, C, T>:: - ~stream_extraction_initializer () - { - stream_extraction_map_instance<id, S, C> ().unregister_type ( - xml::qualified_name<C> (name_, ns_)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/stream-extraction.hxx b/xsd/libxsd/xsd/cxx/tree/stream-extraction.hxx deleted file mode 100644 index ee39bcc..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-extraction.hxx +++ /dev/null @@ -1,305 +0,0 @@ -// file : xsd/cxx/tree/stream-extraction.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STREAM_EXTRACTION_HXX -#define XSD_CXX_TREE_STREAM_EXTRACTION_HXX - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/list.hxx> - -#include <xsd/cxx/tree/istream.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // type - // - template <typename S> - inline _type:: - _type (istream<S>&, flags, container* c) - : container_ (c) - { - } - - // simple_type - // - template <typename C, typename B> - template <typename S> - inline simple_type<C, B>:: - simple_type (istream<S>& s, flags f, container* c) - : type (s, f & ~flags::extract_content, c) - { - if (f & flags::extract_content) - { - std::basic_string<C> t; - s >> t; - this->content_.reset (new text_content_type (t)); - } - } - - // fundamental_base - // - template <typename T, typename C, typename B, schema_type::value ST> - template <typename S> - inline fundamental_base<T, C, B, ST>:: - fundamental_base (istream<S>& s, flags f, container* c) - : B (s, f, c), facet_table_ (0) - { - T& r (*this); - s >> r; - } - - // list - // - template <typename T, typename C, schema_type::value ST> - template <typename S> - list<T, C, ST, false>:: - list (istream<S>& s, flags f, container* c) - : sequence<T> (c) - { - std::size_t size; - istream_common::as_size<std::size_t> as_size (size); - s >> as_size; - - if (size > 0) - { - this->reserve (size); - - while (size--) - this->push_back (traits<T, C, ST>::create (s, f, c)); - } - } - - template <typename T, typename C, schema_type::value ST> - template <typename S> - list<T, C, ST, true>:: - list (istream<S>& s, flags, container* c) - : sequence<T> (c) - { - std::size_t size; - istream_common::as_size<std::size_t> as_size (size); - s >> as_size; - - if (size > 0) - { - this->reserve (size); - - while (size--) - { - T x; - s >> x; - this->push_back (x); - } - } - } - - // Extraction operators for built-in types. - // - - - // string - // - template <typename C, typename B> - template <typename S> - inline string<C, B>:: - string (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - std::basic_string<C>& r (*this); - s >> r; - } - - - // normalized_string - // - template <typename C, typename B> - template <typename S> - inline normalized_string<C, B>:: - normalized_string (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // token - // - template <typename C, typename B> - template <typename S> - inline token<C, B>:: - token (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // nmtoken - // - template <typename C, typename B> - template <typename S> - inline nmtoken<C, B>:: - nmtoken (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // nmtokens - // - template <typename C, typename B, typename nmtoken> - template <typename S> - inline nmtokens<C, B, nmtoken>:: - nmtokens (istream<S>& s, flags f, container* c) - : B (s, f, c), base_type (s, f, this) - { - } - - - // name - // - template <typename C, typename B> - template <typename S> - inline name<C, B>:: - name (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // ncname - // - template <typename C, typename B> - template <typename S> - inline ncname<C, B>:: - ncname (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // language - // - template <typename C, typename B> - template <typename S> - inline language<C, B>:: - language (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // id - // - template <typename C, typename B> - template <typename S> - inline id<C, B>:: - id (istream<S>& s, flags f, container* c) - : B (s, f, c), identity_ (*this) - { - register_id (); - } - - - // idref - // - template <typename C, typename B, typename T> - template <typename S> - inline idref<C, B, T>:: - idref (istream<S>& s, flags f, container* c) - : B (s, f, c), identity_ (*this) - { - } - - - // idrefs - // - template <typename C, typename B, typename idref> - template <typename S> - inline idrefs<C, B, idref>:: - idrefs (istream<S>& s, flags f, container* c) - : B (s, f, c), base_type (s, f, this) - { - } - - - // uri - // - template <typename C, typename B> - template <typename S> - inline uri<C, B>:: - uri (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - std::basic_string<C>& r (*this); - s >> r; - } - - - // qname - // - template <typename C, typename B, typename uri, typename ncname> - template <typename S> - inline qname<C, B, uri, ncname>:: - qname (istream<S>& s, flags f, container* c) - : B (s, f, c), ns_ (s), name_ (s) - { - } - - - // base64_binary - // - template <typename C, typename B> - template <typename S> - inline base64_binary<C, B>:: - base64_binary (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - buffer<C>& r (*this); - s >> r; - } - - - // hex_binary - // - template <typename C, typename B> - template <typename S> - inline hex_binary<C, B>:: - hex_binary (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - buffer<C>& r (*this); - s >> r; - } - - - // entity - // - template <typename C, typename B> - template <typename S> - inline entity<C, B>:: - entity (istream<S>& s, flags f, container* c) - : B (s, f, c) - { - } - - - // entities - // - template <typename C, typename B, typename entity> - template <typename S> - inline entities<C, B, entity>:: - entities (istream<S>& s, flags f, container* c) - : B (s, f, c), base_type (s, f, this) - { - } - } - } -} - -#include <xsd/cxx/tree/date-time-extraction.txx> - -#endif // XSD_CXX_TREE_STREAM_EXTRACTION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.hxx b/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.hxx deleted file mode 100644 index c8a113b..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.hxx +++ /dev/null @@ -1,153 +0,0 @@ -// file : xsd/cxx/tree/stream-insertion-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STREAM_INSERTION_MAP_HXX -#define XSD_CXX_TREE_STREAM_INSERTION_MAP_HXX - -#include <map> -#include <string> -#include <cstddef> // std::size_t -#include <typeinfo> - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/ostream.hxx> -#include <xsd/cxx/xml/qualified-name.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename S, typename C> - struct stream_insertion_map - { - typedef std::type_info type_id; - typedef xml::qualified_name<C> qualified_name; - typedef void (*inserter) (ostream<S>&, const type&); - - stream_insertion_map (); - - void - register_type (const type_id&, - const qualified_name& name, - inserter, - bool replace = true); - - void - unregister_type (const type_id&); - - void - insert (ostream<S>&, const type&); - - public: - struct type_info - { - type_info (const qualified_name& name, - typename stream_insertion_map::inserter inserter) - : name_ (name), inserter_ (inserter) - { - } - - const qualified_name& - name () const - { - return name_; - } - - typename stream_insertion_map::inserter - inserter () const - { - return inserter_; - } - - // For std::map. - // - type_info () - : name_ (std::basic_string<C> (), std::basic_string<C> ()), - inserter_ (0) - { - } - - private: - qualified_name name_; - typename stream_insertion_map::inserter inserter_; - }; - - public: - const type_info* - find (const type_id&) const; - - private: - struct type_id_comparator - { - bool - operator() (const type_id* x, const type_id* y) const - { - // XL C++ on AIX has buggy type_info::before() in that - // it returns true for two different type_info objects - // that happened to be for the same type. - // -#if defined(__xlC__) && defined(_AIX) - return *x != *y && x->before (*y); -#else - return x->before (*y); -#endif - } - }; - - typedef - std::map<const type_id*, type_info, type_id_comparator> - type_map; - - type_map type_map_; - }; - - // - // - template<unsigned long id, typename S, typename C> - struct stream_insertion_plate - { - static stream_insertion_map<S, C>* map; - static std::size_t count; - - stream_insertion_plate (); - ~stream_insertion_plate (); - }; - - template<unsigned long id, typename S, typename C> - stream_insertion_map<S, C>* stream_insertion_plate<id, S, C>::map = 0; - - template<unsigned long id, typename S, typename C> - std::size_t stream_insertion_plate<id, S, C>::count = 0; - - - // - // - template<unsigned long id, typename S, typename C> - inline stream_insertion_map<S, C>& - stream_insertion_map_instance () - { - return *stream_insertion_plate<id, S, C>::map; - } - - // - // - template<typename S, typename T> - void - inserter_impl (ostream<S>&, const type&); - - template<unsigned long id, typename S, typename C, typename T> - struct stream_insertion_initializer - { - stream_insertion_initializer (const C* name, const C* ns); - ~stream_insertion_initializer (); - }; - } - } -} - -#include <xsd/cxx/tree/stream-insertion-map.txx> - -#endif // XSD_CXX_TREE_STREAM_INSERTION_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.txx b/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.txx deleted file mode 100644 index 78fbacb..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-insertion-map.txx +++ /dev/null @@ -1,356 +0,0 @@ -// file : xsd/cxx/tree/stream-insertion-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/stream-insertion.hxx> -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // stream_insertion_map - // - template <typename S, typename C> - stream_insertion_map<S, C>:: - stream_insertion_map () - { - // Register inserters for built-in non-fundamental types. - // - std::basic_string<C> xsd (bits::xml_schema<C> ()); - - - // anyType and anySimpleType. - // - register_type ( - typeid (type), - qualified_name (bits::any_type<C> (), xsd), - &inserter_impl<S, type>, - false); - - typedef simple_type<C, type> simple_type; - register_type ( - typeid (simple_type), - qualified_name (bits::any_simple_type<C> (), xsd), - &inserter_impl<S, simple_type>, - false); - - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - typeid (string), - qualified_name (bits::string<C> (), xsd), - &inserter_impl<S, string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - typeid (normalized_string), - qualified_name (bits::normalized_string<C> (), xsd), - &inserter_impl<S, normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - typeid (token), - qualified_name (bits::token<C> (), xsd), - &inserter_impl<S, token>, - false); - - typedef name<C, token> name; - register_type ( - typeid (name), - qualified_name (bits::name<C> (), xsd), - &inserter_impl<S, name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - typeid (nmtoken), - qualified_name (bits::nmtoken<C> (), xsd), - &inserter_impl<S, nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - typeid (nmtokens), - qualified_name (bits::nmtokens<C> (), xsd), - &inserter_impl<S, nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - typeid (ncname), - qualified_name (bits::ncname<C> (), xsd), - &inserter_impl<S, ncname>, - false); - - typedef language<C, token> language; - register_type ( - typeid (language), - qualified_name (bits::language<C> (), xsd), - &inserter_impl<S, language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - typeid (id), - qualified_name (bits::id<C> (), xsd), - &inserter_impl<S, id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - typeid (idref), - qualified_name (bits::idref<C> (), xsd), - &inserter_impl<S, idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - typeid (idrefs), - qualified_name (bits::idrefs<C> (), xsd), - &inserter_impl<S, idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - typeid (uri), - qualified_name (bits::any_uri<C> (), xsd), - &inserter_impl<S, uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - typeid (qname), - qualified_name (bits::qname<C> (), xsd), - &inserter_impl<S, qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - typeid (base64_binary), - qualified_name (bits::base64_binary<C> (), xsd), - &inserter_impl<S, base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - typeid (hex_binary), - qualified_name (bits::hex_binary<C> (), xsd), - &inserter_impl<S, hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - typeid (gday), - qualified_name (bits::gday<C> (), xsd), - &inserter_impl<S, gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - typeid (gmonth), - qualified_name (bits::gmonth<C> (), xsd), - &inserter_impl<S, gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - typeid (gyear), - qualified_name (bits::gyear<C> (), xsd), - &inserter_impl<S, gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - typeid (gmonth_day), - qualified_name (bits::gmonth_day<C> (), xsd), - &inserter_impl<S, gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - typeid (gyear_month), - qualified_name (bits::gyear_month<C> (), xsd), - &inserter_impl<S, gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - typeid (date), - qualified_name (bits::date<C> (), xsd), - &inserter_impl<S, date>, - false); - - typedef time<C, simple_type> time; - register_type ( - typeid (time), - qualified_name (bits::time<C> (), xsd), - &inserter_impl<S, time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - typeid (date_time), - qualified_name (bits::date_time<C> (), xsd), - &inserter_impl<S, date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - typeid (duration), - qualified_name (bits::duration<C> (), xsd), - &inserter_impl<S, duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - typeid (entity), - qualified_name (bits::entity<C> (), xsd), - &inserter_impl<S, entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - typeid (entities), - qualified_name (bits::entities<C> (), xsd), - &inserter_impl<S, entities>, - false); - } - - template <typename S, typename C> - void stream_insertion_map<S, C>:: - register_type (const type_id& tid, - const qualified_name& name, - inserter i, - bool replace) - { - if (replace || type_map_.find (&tid) == type_map_.end ()) - type_map_[&tid] = type_info (name, i); - } - - template <typename S, typename C> - void stream_insertion_map<S, C>:: - unregister_type (const type_id& tid) - { - type_map_.erase (&tid); - } - - template <typename S, typename C> - void stream_insertion_map<S, C>:: - insert (ostream<S>& s, const type& x) - { - if (const type_info* ti = find (typeid (x))) - { - const qualified_name& qn (ti->name ()); - - // Pool the namespace and name strings. - // - const std::basic_string<C>& ns (qn.namespace_ ()); - const std::basic_string<C>& n (qn.name ()); - - std::size_t ns_id (s.pool_string (ns)); - std::size_t n_id (s.pool_string (n)); - - s << ostream_common::as_size<std::size_t> (ns_id); - - if (ns_id == 0) - s << ns; - - s << ostream_common::as_size<std::size_t> (n_id); - - if (n_id == 0) - s << n; - - ti->inserter () (s, x); - } - else - throw no_type_info<C> (std::basic_string<C> (), - std::basic_string<C> ()); // @@ TODO - } - - template <typename S, typename C> - const typename stream_insertion_map<S, C>::type_info* - stream_insertion_map<S, C>:: - find (const type_id& tid) const - { - typename type_map::const_iterator i (type_map_.find (&tid)); - return i == type_map_.end () ? 0 : &i->second; - } - - - // stream_insertion_plate - // - template<unsigned long id, typename S, typename C> - stream_insertion_plate<id, S, C>:: - stream_insertion_plate () - { - if (count == 0) - map = new stream_insertion_map<S, C>; - - ++count; - } - - template<unsigned long id, typename S, typename C> - stream_insertion_plate<id, S, C>:: - ~stream_insertion_plate () - { - if (--count == 0) - delete map; - } - - // - // - template<typename S, typename T> - void - inserter_impl (ostream<S>& s, const type& x) - { - s << static_cast<const T&> (x); - } - - // stream_insertion_initializer - // - template<unsigned long id, typename S, typename C, typename T> - stream_insertion_initializer<id, S, C, T>:: - stream_insertion_initializer (const C* name, const C* ns) - { - stream_insertion_map_instance<id, S, C> ().register_type ( - typeid (T), - xml::qualified_name<C> (name, ns), - &inserter_impl<S, T>); - } - - template<unsigned long id, typename S, typename C, typename T> - stream_insertion_initializer<id, S, C, T>:: - ~stream_insertion_initializer () - { - stream_insertion_map_instance<id, S, C> ().unregister_type ( - typeid (T)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/stream-insertion.hxx b/xsd/libxsd/xsd/cxx/tree/stream-insertion.hxx deleted file mode 100644 index b04846f..0000000 --- a/xsd/libxsd/xsd/cxx/tree/stream-insertion.hxx +++ /dev/null @@ -1,276 +0,0 @@ -// file : xsd/cxx/tree/stream-insertion.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_STREAM_INSERTION_HXX -#define XSD_CXX_TREE_STREAM_INSERTION_HXX - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/list.hxx> - -#include <xsd/cxx/tree/ostream.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // type - // - template <typename S> - inline ostream<S>& - operator<< (ostream<S>& s, const type&) - { - // Not saving DOM content even if it's there. - return s; - } - - // simple_type - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const simple_type<C, B>& x) - { - if (!x.null_content ()) - s << x.text_content (); - - return s; - } - - // fundamental_base - // - template <typename S, - typename T, - typename C, - typename B, - schema_type::value ST> - inline ostream<S>& - operator<< (ostream<S>& s, const fundamental_base<T, C, B, ST>& x) - { - const T& r (x); - return s << r; - } - - // list - // - template <typename S, - typename T, - typename C, - schema_type::value ST, - bool fund> - ostream<S>& - operator<< (ostream<S>& s, const list<T, C, ST, fund>& x) - { - s << ostream_common::as_size<std::size_t> (x.size ()); - - for (typename list<T, C, ST, fund>::const_iterator - i (x.begin ()), e (x.end ()); i != e; ++i) - { - s << *i; - } - - return s; - } - - - // Insertion operators for built-in types. - // - - - // string - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const string<C, B>& x) - { - const std::basic_string<C>& r (x); - return s << r; - } - - - // normalized_string - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const normalized_string<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // token - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const token<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // nmtoken - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const nmtoken<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // nmtokens - // - template <typename S, typename C, typename B, typename nmtoken> - inline ostream<S>& - operator<< (ostream<S>& s, const nmtokens<C, B, nmtoken>& x) - { - const list<nmtoken, C>& r (x); - return s << r; - } - - - // name - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const name<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // ncname - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const ncname<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // language - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const language<C, B>& x) - { - const std::basic_string<C>& r (x); - return s << r; - } - - - // id - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const id<C, B>& x) - { - const std::basic_string<C>& r (x); - return s << r; - } - - - // idref - // - template <typename S, typename C, typename B, typename T> - inline ostream<S>& - operator<< (ostream<S>& s, const idref<C, B, T>& x) - { - const B& r (x); - return s << r; - } - - - // idrefs - // - template <typename S, typename C, typename B, typename idref> - inline ostream<S>& - operator<< (ostream<S>& s, const idrefs<C, B, idref>& x) - { - const list<idref, C>& r (x); - return s << r; - } - - - // uri - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const uri<C, B>& x) - { - const std::basic_string<C>& r (x); - return s << r; - } - - - // qname - // - template <typename S, - typename C, - typename B, - typename uri, - typename ncname> - inline ostream<S>& - operator<< (ostream<S>& s, const qname<C, B, uri, ncname>& x) - { - return s << x.namespace_ () << x.name (); - } - - - // base64_binary - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const base64_binary<C, B>& x) - { - const buffer<C>& r (x); - return s << r; - } - - - // hex_binary - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const hex_binary<C, B>& x) - { - const buffer<C>& r (x); - return s << r; - } - - - // entity - // - template <typename S, typename C, typename B> - inline ostream<S>& - operator<< (ostream<S>& s, const entity<C, B>& x) - { - const B& r (x); - return s << r; - } - - - // entities - // - template <typename S, typename C, typename B, typename entity> - inline ostream<S>& - operator<< (ostream<S>& s, const entities<C, B, entity>& x) - { - const list<entity, C>& r (x); - return s << r; - } - } - } -} - -#include <xsd/cxx/tree/date-time-insertion.txx> - -#endif // XSD_CXX_TREE_STREAM_INSERTION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/text.hxx b/xsd/libxsd/xsd/cxx/tree/text.hxx deleted file mode 100644 index 8808787..0000000 --- a/xsd/libxsd/xsd/cxx/tree/text.hxx +++ /dev/null @@ -1,29 +0,0 @@ -// file : xsd/cxx/tree/text.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_TEXT_HXX -#define XSD_CXX_TREE_TEXT_HXX - -#include <string> - -#include <xercesc/dom/DOMElement.hpp> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Throws expected_text_content. - // - template <typename C> - std::basic_string<C> - text_content (const xercesc::DOMElement&); - } - } -} - -#include <xsd/cxx/tree/text.txx> - -#endif // XSD_CXX_TREE_TEXT_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/text.txx b/xsd/libxsd/xsd/cxx/tree/text.txx deleted file mode 100644 index 6764d5c..0000000 --- a/xsd/libxsd/xsd/cxx/tree/text.txx +++ /dev/null @@ -1,62 +0,0 @@ -// file : xsd/cxx/tree/text.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/dom/DOMText.hpp> - -#include <xsd/cxx/xml/string.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - std::basic_string<C> - text_content (const xercesc::DOMElement& e) - { - using xercesc::DOMNode; - using xercesc::DOMText; - - DOMNode* n (e.getFirstChild ()); - - // Fast path. - // - if (n != 0 && - n->getNodeType () == DOMNode::TEXT_NODE && - n->getNextSibling () == 0) - { - DOMText* t (static_cast<DOMText*> (n)); - return xml::transcode<C> (t->getData (), t->getLength ()); - } - - std::basic_string<C> r; - - for (; n != 0; n = n->getNextSibling ()) - { - switch (n->getNodeType ()) - { - case DOMNode::TEXT_NODE: - case DOMNode::CDATA_SECTION_NODE: - { - DOMText* t (static_cast<DOMText*> (n)); - r += xml::transcode<C> (t->getData (), t->getLength ()); - break; - } - case DOMNode::ELEMENT_NODE: - { - throw expected_text_content<C> (); - } - default: - break; // ignore - } - } - - return r; - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/type-factory-map.hxx b/xsd/libxsd/xsd/cxx/tree/type-factory-map.hxx deleted file mode 100644 index b2558c7..0000000 --- a/xsd/libxsd/xsd/cxx/tree/type-factory-map.hxx +++ /dev/null @@ -1,174 +0,0 @@ -// file : xsd/cxx/tree/type-factory-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_TYPE_FACTORY_MAP_HXX -#define XSD_CXX_TREE_TYPE_FACTORY_MAP_HXX - -#include <map> -#include <string> -#include <memory> // std::auto_ptr/unique_ptr -#include <cstddef> // std::size_t - -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/config.hxx> // XSD_AUTO_PTR - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/xml/qualified-name.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct type_factory_map - { - typedef xml::qualified_name<C> qualified_name; - typedef XSD_AUTO_PTR<type> (*factory) (const xercesc::DOMElement&, - flags, - container*); - public: - type_factory_map (); - - void - register_type (const qualified_name& name, - factory, - bool replace = true); - - void - unregister_type (const qualified_name& name); - - void - register_element (const qualified_name& root, - const qualified_name& subst, - factory); - - void - unregister_element (const qualified_name& root, - const qualified_name& subst); - - XSD_AUTO_PTR<type> - create (const C* name, // element name - const C* ns, // element namespace - factory static_type, - bool global, - bool qualified, - const xercesc::DOMElement&, - const qualified_name&, - flags, - container*) const; - - public: - factory - find (const qualified_name& name) const; - - private: - template <typename T> - static XSD_AUTO_PTR<type> - traits_adapter (const xercesc::DOMElement&, flags, container*); - - private: - typedef - std::map<qualified_name, factory> - type_map; - - // Map of (root-element to map of (subst-element to factory)). - // - typedef - std::map<qualified_name, factory> - subst_map; - - typedef - std::map<qualified_name, subst_map> - element_map; - - type_map type_map_; - element_map element_map_; - - private: - factory - find_substitution (const subst_map& start, - const qualified_name& name) const; - - // The name argument is as specified in xsi:type. - // - factory - find_type (const std::basic_string<C>& name, - const xercesc::DOMElement&) const; - }; - - - // - // - template<unsigned long id, typename C> - struct type_factory_plate - { - static type_factory_map<C>* map; - static std::size_t count; - - type_factory_plate (); - ~type_factory_plate (); - }; - - template<unsigned long id, typename C> - type_factory_map<C>* type_factory_plate<id, C>::map = 0; - - template<unsigned long id, typename C> - std::size_t type_factory_plate<id, C>::count = 0; - - - // - // - template<unsigned long id, typename C> - inline type_factory_map<C>& - type_factory_map_instance () - { - return *type_factory_plate<id, C>::map; - } - - - // - // - template<typename T> - XSD_AUTO_PTR<type> - factory_impl (const xercesc::DOMElement&, flags, container*); - - // - // - template<unsigned long id, typename C, typename T> - struct type_factory_initializer - { - type_factory_initializer (const C* name, const C* ns); - ~type_factory_initializer (); - - private: - const C* name_; - const C* ns_; - }; - - // - // - template<unsigned long id, typename C, typename T> - struct element_factory_initializer - { - element_factory_initializer (const C* root_name, const C* root_ns, - const C* subst_name, const C* subst_ns); - - ~element_factory_initializer (); - - private: - const C* root_name_; - const C* root_ns_; - const C* subst_name_; - const C* subst_ns_; - }; - } - } -} - -#include <xsd/cxx/tree/type-factory-map.txx> - -#endif // XSD_CXX_TREE_TYPE_FACTORY_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/type-factory-map.txx b/xsd/libxsd/xsd/cxx/tree/type-factory-map.txx deleted file mode 100644 index e1fe0cc..0000000 --- a/xsd/libxsd/xsd/cxx/tree/type-factory-map.txx +++ /dev/null @@ -1,479 +0,0 @@ -// file : xsd/cxx/tree/type-factory-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/validators/schema/SchemaSymbols.hpp> - -#include <xsd/cxx/xml/string.hxx> // xml::{string, transcode} -#include <xsd/cxx/xml/elements.hxx> // xml::{prefix, uq_name} -#include <xsd/cxx/xml/bits/literals.hxx> // xml::bits::{xml_namespace, etc} - -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // type_factory_map - // - template <typename C> - type_factory_map<C>:: - type_factory_map () - { - // Register factories for default instantiations of built-in, - // non-fundamental types. - // - - std::basic_string<C> xsd (bits::xml_schema<C> ()); - - - // anyType and anySimpleType. - // - register_type ( - qualified_name (bits::any_type<C> (), xsd), - &factory_impl<type>, - false); - - typedef simple_type<C, type> simple_type; - register_type ( - qualified_name (bits::any_simple_type<C> (), xsd), - &factory_impl<simple_type>, - false); - - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - qualified_name (bits::string<C> (), xsd), - &factory_impl<string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - qualified_name (bits::normalized_string<C> (), xsd), - &factory_impl<normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - qualified_name (bits::token<C> (), xsd), - &factory_impl<token>, - false); - - typedef name<C, token> name; - register_type ( - qualified_name (bits::name<C> (), xsd), - &factory_impl<name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - qualified_name (bits::nmtoken<C> (), xsd), - &factory_impl<nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - qualified_name (bits::nmtokens<C> (), xsd), - &factory_impl<nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - qualified_name (bits::ncname<C> (), xsd), - &factory_impl<ncname>, - false); - - typedef language<C, token> language; - register_type ( - qualified_name (bits::language<C> (), xsd), - &factory_impl<language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - qualified_name (bits::id<C> (), xsd), - &factory_impl<id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - qualified_name (bits::idref<C> (), xsd), - &factory_impl<idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - qualified_name (bits::idrefs<C> (), xsd), - &factory_impl<idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - qualified_name (bits::any_uri<C> (), xsd), - &factory_impl<uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - qualified_name (bits::qname<C> (), xsd), - &factory_impl<qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - qualified_name (bits::base64_binary<C> (), xsd), - &factory_impl<base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - qualified_name (bits::hex_binary<C> (), xsd), - &factory_impl<hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - qualified_name (bits::gday<C> (), xsd), - &factory_impl<gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - qualified_name (bits::gmonth<C> (), xsd), - &factory_impl<gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - qualified_name (bits::gyear<C> (), xsd), - &factory_impl<gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - qualified_name (bits::gmonth_day<C> (), xsd), - &factory_impl<gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - qualified_name (bits::gyear_month<C> (), xsd), - &factory_impl<gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - qualified_name (bits::date<C> (), xsd), - &factory_impl<date>, - false); - - typedef time<C, simple_type> time; - register_type ( - qualified_name (bits::time<C> (), xsd), - &factory_impl<time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - qualified_name (bits::date_time<C> (), xsd), - &factory_impl<date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - qualified_name (bits::duration<C> (), xsd), - &factory_impl<duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - qualified_name (bits::entity<C> (), xsd), - &factory_impl<entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - qualified_name (bits::entities<C> (), xsd), - &factory_impl<entities>, - false); - } - - template <typename C> - void type_factory_map<C>:: - register_type (const qualified_name& name, - factory f, - bool replace) - { - if (replace || type_map_.find (name) == type_map_.end ()) - type_map_[name] = f; - } - - template <typename C> - void type_factory_map<C>:: - unregister_type (const qualified_name& name) - { - type_map_.erase (name); - } - - template <typename C> - void type_factory_map<C>:: - register_element (const qualified_name& root, - const qualified_name& subst, - factory f) - { - element_map_[root][subst] = f; - } - - template <typename C> - void type_factory_map<C>:: - unregister_element (const qualified_name& root, - const qualified_name& subst) - { - typename element_map::iterator i (element_map_.find (root)); - - if (i != element_map_.end ()) - { - i->second.erase (subst); - - if (i->second.empty ()) - element_map_.erase (i); - } - } - - template <typename C> - typename type_factory_map<C>::factory type_factory_map<C>:: - find (const qualified_name& name) const - { - typename type_map::const_iterator i (type_map_.find (name)); - return i == type_map_.end () ? 0 : i->second; - } - - template <typename C> - XSD_AUTO_PTR<type> type_factory_map<C>:: - create (const C* name, - const C* ns, - factory static_type, - bool global, - bool qualified, - const xercesc::DOMElement& e, - const qualified_name& qn, - tree::flags flags, - container* c) const - { - factory f = 0; - - // See if we've got a straight match. - // - if (qn.name () == name && - (qualified ? qn.namespace_ () == ns : ns[0] == C ('\0'))) - { - f = static_type; - } - else if (global) - { - // See if we have a substitution. - // - typename element_map::const_iterator i ( - element_map_.find (qualified_name (name, ns))); - - if (i != element_map_.end ()) - { - f = find_substitution (i->second, qn); - } - } - - if (f == 0) - return XSD_AUTO_PTR<type> (); // No match. - - // Check for xsi:type - // - { - const XMLCh* v ( - e.getAttributeNS ( - xercesc::SchemaSymbols::fgURI_XSI, - xercesc::SchemaSymbols::fgXSI_TYPE)); - - if (v != 0 && v[0] != XMLCh (0)) - f = find_type (xml::transcode<C> (v), e); - } - - return f (e, flags, c); - } - - template <typename C> - template <typename T> - XSD_AUTO_PTR<type> type_factory_map<C>:: - traits_adapter (const xercesc::DOMElement& e, flags f, container* c) - { - return XSD_AUTO_PTR<type> (traits<T, C>::create (e, f, c)); - } - - template <typename C> - typename type_factory_map<C>::factory type_factory_map<C>:: - find_substitution (const subst_map& start, - const qualified_name& name) const - { - typename subst_map::const_iterator i (start.find (name)); - - if (i != start.end ()) - return i->second; - else - { - for (i = start.begin (); i != start.end (); ++i) - { - typename element_map::const_iterator j ( - element_map_.find (i->first)); - - if (j != element_map_.end ()) - { - if (factory f = find_substitution (j->second, name)) - return f; - } - } - } - - return 0; - } - - template <typename C> - typename type_factory_map<C>::factory type_factory_map<C>:: - find_type (const std::basic_string<C>& name, - const xercesc::DOMElement& e) const - { - using std::basic_string; - - basic_string<C> ns_name, uq_name (xml::uq_name (name)); - - // Copied with modifications from xml/dom/elements.hxx. - // - std::basic_string<C> p (xml::prefix (name)); - - // 'xml' prefix requires special handling and Xerces folks refuse - // to handle this in DOM so I have to do it myself. - // - if (p == xml::bits::xml_prefix<C> ()) - ns_name = xml::bits::xml_namespace<C> (); - else - { - const XMLCh* xns ( - e.lookupNamespaceURI ( - p.empty () ? 0 : xml::string (p).c_str ())); - - if (xns != 0) - ns_name = xml::transcode<C> (xns); - else - { - // See if we've got any no-namespace types. - // - if (!p.empty ()) - throw no_prefix_mapping<C> (p); - } - } - - factory f (find (qualified_name (uq_name, ns_name))); - - if (f == 0) - throw no_type_info<C> (uq_name, ns_name); - - return f; - } - - - // type_factory_plate - // - template<unsigned long id, typename C> - type_factory_plate<id, C>:: - type_factory_plate () - { - if (count == 0) - map = new type_factory_map<C>; - - ++count; - } - - template<unsigned long id, typename C> - type_factory_plate<id, C>:: - ~type_factory_plate () - { - if (--count == 0) - delete map; - } - - - // - // - template<typename T> - XSD_AUTO_PTR<type> - factory_impl (const xercesc::DOMElement& e, flags f, container* c) - { - return XSD_AUTO_PTR<type> (new T (e, f, c)); - } - - // - // - template<unsigned long id, typename C, typename T> - type_factory_initializer<id, C, T>:: - type_factory_initializer (const C* name, const C* ns) - : name_ (name), ns_ (ns) - { - type_factory_map_instance<id, C> ().register_type ( - xml::qualified_name<C> (name, ns), &factory_impl<T>); - } - - template<unsigned long id, typename C, typename T> - type_factory_initializer<id, C, T>:: - ~type_factory_initializer () - { - type_factory_map_instance<id, C> ().unregister_type ( - xml::qualified_name<C> (name_, ns_)); - } - - // - // - template<unsigned long id, typename C, typename T> - element_factory_initializer<id, C, T>:: - element_factory_initializer (const C* root_name, const C* root_ns, - const C* subst_name, const C* subst_ns) - : root_name_ (root_name), root_ns_ (root_ns), - subst_name_ (subst_name), subst_ns_ (subst_ns) - { - type_factory_map_instance<id, C> ().register_element ( - xml::qualified_name<C> (root_name, root_ns), - xml::qualified_name<C> (subst_name, subst_ns), - &factory_impl<T>); - } - - template<unsigned long id, typename C, typename T> - element_factory_initializer<id, C, T>:: - ~element_factory_initializer () - { - type_factory_map_instance<id, C> ().unregister_element ( - xml::qualified_name<C> (root_name_, root_ns_), - xml::qualified_name<C> (subst_name_, subst_ns_)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/type-serializer-map.hxx b/xsd/libxsd/xsd/cxx/tree/type-serializer-map.hxx deleted file mode 100644 index f461b7d..0000000 --- a/xsd/libxsd/xsd/cxx/tree/type-serializer-map.hxx +++ /dev/null @@ -1,235 +0,0 @@ -// file : xsd/cxx/tree/type-serializer-map.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_TYPE_SERIALIZER_MAP_HXX -#define XSD_CXX_TREE_TYPE_SERIALIZER_MAP_HXX - -#include <map> -#include <string> -#include <cstddef> // std::size_t -#include <typeinfo> - -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/tree/elements.hxx> - -#include <xsd/cxx/xml/qualified-name.hxx> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/serialization-header.hxx> // namespace_infomap - -namespace xsd -{ - namespace cxx - { - namespace tree - { - template <typename C> - struct type_serializer_map - { - typedef std::type_info type_id; - typedef xml::qualified_name<C> qualified_name; - typedef void (*serializer) (xercesc::DOMElement&, const type&); - - void - register_type (const type_id&, - const qualified_name& name, - serializer, - bool replace = true); - - void - unregister_type (const type_id&); - - void - register_element (const qualified_name& root, - const qualified_name& subst, - const type_id&, - serializer); - - void - unregister_element (const qualified_name& root, const type_id&); - - public: - void - serialize (const C* name, // element name - const C* ns, // element namespace - bool global, - bool qualified, - xercesc::DOMElement& parent, - const type&) const; - - // Serialize into existing element. - // - void - serialize (const C* static_name, - const C* static_ns, - xercesc::DOMElement&, - const qualified_name&, - const type&) const; - - // Create DOMDocument with root element suitable for serializing - // x into it. - // - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - serialize (const C* name, // element name - const C* ns, // element namespace - const xml::dom::namespace_infomap<C>&, - const type& x, - unsigned long flags) const; - - public: - type_serializer_map (); - - public: - struct type_info - { - type_info (const qualified_name& name, - typename type_serializer_map::serializer serializer) - : name_ (name), serializer_ (serializer) - { - } - - const qualified_name& - name () const - { - return name_; - } - - typename type_serializer_map::serializer - serializer () const - { - return serializer_; - } - - // For std::map. - // - type_info () - : name_ (std::basic_string<C> (), std::basic_string<C> ()), - serializer_ (0) - { - } - - private: - qualified_name name_; - typename type_serializer_map::serializer serializer_; - }; - - public: - const type_info* - find (const type_id&) const; - - private: - struct type_id_comparator - { - bool - operator() (const type_id* x, const type_id* y) const - { - // XL C++ on AIX has buggy type_info::before() in that - // it returns true for two different type_info objects - // that happened to be for the same type. - // -#if defined(__xlC__) && defined(_AIX) - return *x != *y && x->before (*y); -#else - return x->before (*y); -#endif - } - }; - - typedef - std::map<const type_id*, type_info, type_id_comparator> - type_map; - - // Map of (root-element to map of (type_id to type_info)). - // Note that here type_info::name is element name. - // - typedef - std::map<const type_id*, type_info, type_id_comparator> - subst_map; - - typedef - std::map<qualified_name, subst_map> - element_map; - - type_map type_map_; - element_map element_map_; - - private: - const type_info* - find_substitution (const subst_map& start, const type_id&) const; - - // Sets an xsi:type attribute corresponding to the type_info. - // - void - set_xsi_type (xercesc::DOMElement& parent, - xercesc::DOMElement&, - const type_info&) const; - }; - - - // - // - template<unsigned long id, typename C> - struct type_serializer_plate - { - static type_serializer_map<C>* map; - static std::size_t count; - - type_serializer_plate (); - ~type_serializer_plate (); - }; - - template<unsigned long id, typename C> - type_serializer_map<C>* type_serializer_plate<id, C>::map = 0; - - template<unsigned long id, typename C> - std::size_t type_serializer_plate<id, C>::count = 0; - - - // - // - template<unsigned long id, typename C> - inline type_serializer_map<C>& - type_serializer_map_instance () - { - return *type_serializer_plate<id, C>::map; - } - - // - // - template<typename T> - void - serializer_impl (xercesc::DOMElement&, const type&); - - - // - // - template<unsigned long id, typename C, typename T> - struct type_serializer_initializer - { - type_serializer_initializer (const C* name, const C* ns); - ~type_serializer_initializer (); - }; - - - // - // - template<unsigned long id, typename C, typename T> - struct element_serializer_initializer - { - element_serializer_initializer (const C* root_name, const C* root_ns, - const C* subst_name, const C* subst_ns); - - ~element_serializer_initializer (); - - private: - const C* root_name_; - const C* root_ns_; - }; - } - } -} - -#include <xsd/cxx/tree/type-serializer-map.txx> - -#endif // XSD_CXX_TREE_TYPE_SERIALIZER_MAP_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/type-serializer-map.txx b/xsd/libxsd/xsd/cxx/tree/type-serializer-map.txx deleted file mode 100644 index 44a2204..0000000 --- a/xsd/libxsd/xsd/cxx/tree/type-serializer-map.txx +++ /dev/null @@ -1,573 +0,0 @@ -// file : xsd/cxx/tree/type-serializer-map.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/util/XMLUni.hpp> -#include <xercesc/validators/schema/SchemaSymbols.hpp> - -#include <xsd/cxx/xml/bits/literals.hxx> // xml::bits::{xsi_namespace, type} -#include <xsd/cxx/xml/dom/serialization-source.hxx> // dom::{create_*, prefix} - -#include <xsd/cxx/tree/types.hxx> -#include <xsd/cxx/tree/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // type_serializer_map - // - template <typename C> - type_serializer_map<C>:: - type_serializer_map () - { - // Register serializers for built-in non-fundamental types. - // - std::basic_string<C> xsd (bits::xml_schema<C> ()); - - - // anyType and anySimpleType. - // - register_type ( - typeid (type), - qualified_name (bits::any_type<C> (), xsd), - &serializer_impl<type>, - false); - - typedef simple_type<C, type> simple_type; - register_type ( - typeid (simple_type), - qualified_name (bits::any_simple_type<C> (), xsd), - &serializer_impl<simple_type>, - false); - - - // Strings - // - typedef string<C, simple_type> string; - register_type ( - typeid (string), - qualified_name (bits::string<C> (), xsd), - &serializer_impl<string>, - false); - - typedef normalized_string<C, string> normalized_string; - register_type ( - typeid (normalized_string), - qualified_name (bits::normalized_string<C> (), xsd), - &serializer_impl<normalized_string>, - false); - - typedef token<C, normalized_string> token; - register_type ( - typeid (token), - qualified_name (bits::token<C> (), xsd), - &serializer_impl<token>, - false); - - typedef name<C, token> name; - register_type ( - typeid (name), - qualified_name (bits::name<C> (), xsd), - &serializer_impl<name>, - false); - - typedef nmtoken<C, token> nmtoken; - register_type ( - typeid (nmtoken), - qualified_name (bits::nmtoken<C> (), xsd), - &serializer_impl<nmtoken>, - false); - - typedef nmtokens<C, simple_type, nmtoken> nmtokens; - register_type ( - typeid (nmtokens), - qualified_name (bits::nmtokens<C> (), xsd), - &serializer_impl<nmtokens>, - false); - - typedef ncname<C, name> ncname; - register_type ( - typeid (ncname), - qualified_name (bits::ncname<C> (), xsd), - &serializer_impl<ncname>, - false); - - typedef language<C, token> language; - register_type ( - typeid (language), - qualified_name (bits::language<C> (), xsd), - &serializer_impl<language>, - false); - - - // ID/IDREF. - // - typedef id<C, ncname> id; - register_type ( - typeid (id), - qualified_name (bits::id<C> (), xsd), - &serializer_impl<id>, - false); - - typedef idref<C, ncname, type> idref; - register_type ( - typeid (idref), - qualified_name (bits::idref<C> (), xsd), - &serializer_impl<idref>, - false); - - typedef idrefs<C, simple_type, idref> idrefs; - register_type ( - typeid (idrefs), - qualified_name (bits::idrefs<C> (), xsd), - &serializer_impl<idrefs>, - false); - - - // URI. - // - typedef uri<C, simple_type> uri; - register_type ( - typeid (uri), - qualified_name (bits::any_uri<C> (), xsd), - &serializer_impl<uri>, - false); - - - // Qualified name. - // - typedef qname<C, simple_type, uri, ncname> qname; - register_type ( - typeid (qname), - qualified_name (bits::qname<C> (), xsd), - &serializer_impl<qname>, - false); - - - // Binary. - // - typedef base64_binary<C, simple_type> base64_binary; - register_type ( - typeid (base64_binary), - qualified_name (bits::base64_binary<C> (), xsd), - &serializer_impl<base64_binary>, - false); - - typedef hex_binary<C, simple_type> hex_binary; - register_type ( - typeid (hex_binary), - qualified_name (bits::hex_binary<C> (), xsd), - &serializer_impl<hex_binary>, - false); - - - // Date/time. - // - typedef gday<C, simple_type> gday; - register_type ( - typeid (gday), - qualified_name (bits::gday<C> (), xsd), - &serializer_impl<gday>, - false); - - typedef gmonth<C, simple_type> gmonth; - register_type ( - typeid (gmonth), - qualified_name (bits::gmonth<C> (), xsd), - &serializer_impl<gmonth>, - false); - - typedef gyear<C, simple_type> gyear; - register_type ( - typeid (gyear), - qualified_name (bits::gyear<C> (), xsd), - &serializer_impl<gyear>, - false); - - typedef gmonth_day<C, simple_type> gmonth_day; - register_type ( - typeid (gmonth_day), - qualified_name (bits::gmonth_day<C> (), xsd), - &serializer_impl<gmonth_day>, - false); - - typedef gyear_month<C, simple_type> gyear_month; - register_type ( - typeid (gyear_month), - qualified_name (bits::gyear_month<C> (), xsd), - &serializer_impl<gyear_month>, - false); - - typedef date<C, simple_type> date; - register_type ( - typeid (date), - qualified_name (bits::date<C> (), xsd), - &serializer_impl<date>, - false); - - typedef time<C, simple_type> time; - register_type ( - typeid (time), - qualified_name (bits::time<C> (), xsd), - &serializer_impl<time>, - false); - - typedef date_time<C, simple_type> date_time; - register_type ( - typeid (date_time), - qualified_name (bits::date_time<C> (), xsd), - &serializer_impl<date_time>, - false); - - typedef duration<C, simple_type> duration; - register_type ( - typeid (duration), - qualified_name (bits::duration<C> (), xsd), - &serializer_impl<duration>, - false); - - - // Entity. - // - typedef entity<C, ncname> entity; - register_type ( - typeid (entity), - qualified_name (bits::entity<C> (), xsd), - &serializer_impl<entity>, - false); - - typedef entities<C, simple_type, entity> entities; - register_type ( - typeid (entities), - qualified_name (bits::entities<C> (), xsd), - &serializer_impl<entities>, - false); - } - - template <typename C> - void type_serializer_map<C>:: - register_type (const type_id& tid, - const qualified_name& name, - serializer s, - bool replace) - { - if (replace || type_map_.find (&tid) == type_map_.end ()) - type_map_[&tid] = type_info (name, s); - } - - template <typename C> - void type_serializer_map<C>:: - unregister_type (const type_id& tid) - { - type_map_.erase (&tid); - } - - template <typename C> - void type_serializer_map<C>:: - register_element (const qualified_name& root, - const qualified_name& subst, - const type_id& tid, - serializer s) - { - element_map_[root][&tid] = type_info (subst, s); - } - - template <typename C> - void type_serializer_map<C>:: - unregister_element (const qualified_name& root, const type_id& tid) - { - typename element_map::iterator i (element_map_.find (root)); - - if (i != element_map_.end ()) - { - i->second.erase (&tid); - - if (i->second.empty ()) - element_map_.erase (root); - } - } - - template <typename C> - void type_serializer_map<C>:: - serialize (const C* name, // element name - const C* ns, // element namespace - bool global, - bool qualified, - xercesc::DOMElement& parent, - const type& x) const - { - const type_id& tid (typeid (x)); - - // First see if we can find a substitution. - // - if (global) - { - typename element_map::const_iterator i ( - element_map_.find (qualified_name (name, ns))); - - if (i != element_map_.end ()) - { - if (const type_info* ti = find_substitution (i->second, tid)) - { - xercesc::DOMElement& e ( - xml::dom::create_element ( - ti->name ().name ().c_str (), - ti->name ().namespace_ ().c_str (), - parent)); - - ti->serializer () (e, x); - return; - } - } - } - - // The last resort is xsi:type. - // - if (const type_info* ti = find (tid)) - { - xercesc::DOMElement& e ( - qualified - ? xml::dom::create_element (name, ns, parent) - : xml::dom::create_element (name, parent)); - - ti->serializer () (e, x); - set_xsi_type (parent, e, *ti); - return; - } - - throw no_type_info<C> (std::basic_string<C> (), - std::basic_string<C> ()); //@@ TODO - } - - template <typename C> - void type_serializer_map<C>:: - serialize (const C* static_name, - const C* static_ns, - xercesc::DOMElement& e, - const qualified_name& qn, - const type& x) const - { - const type_id& tid (typeid (x)); - - // First see if this is a substitution. - // - if (qn.name () != static_name || qn.namespace_ () != static_ns) - { - typename element_map::const_iterator i ( - element_map_.find (qualified_name (static_name, static_ns))); - - if (i != element_map_.end ()) - { - if (const type_info* ti = find_substitution (i->second, tid)) - { - if (ti->name ().name () != qn.name () || - ti->name ().namespace_ () != qn.namespace_ ()) - { - throw unexpected_element<C> ( - qn.name (), qn.namespace_ (), - ti->name ().name (), ti->name ().namespace_ ()); - } - - ti->serializer () (e, x); - return; - } - } - - // This is not a valid substitution. - // - throw unexpected_element<C> (qn.name (), qn.namespace_ (), - static_name, static_ns); - } - - // The last resort is xsi:type. - // - if (const type_info* ti = find (tid)) - { - ti->serializer () (e, x); - set_xsi_type (e, e, *ti); - return; - } - - throw no_type_info<C> (std::basic_string<C> (), - std::basic_string<C> ()); //@@ TODO - } - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> type_serializer_map<C>:: - serialize (const C* name, - const C* ns, - const xml::dom::namespace_infomap<C>& m, - const type& x, - unsigned long flags) const - { - const type_id& tid (typeid (x)); - - // See if we can find a substitution. - // - { - typename element_map::const_iterator i ( - element_map_.find (qualified_name (name, ns))); - - if (i != element_map_.end ()) - { - if (const type_info* ti = find_substitution (i->second, tid)) - { - return xml::dom::serialize<C> ( - ti->name ().name (), ti->name ().namespace_ (), m, flags); - } - } - } - - // If there is no substitution then serialize() will have to - // find suitable xsi:type. - // - return xml::dom::serialize<C> (name, ns, m, flags); - } - - template <typename C> - const typename type_serializer_map<C>::type_info* - type_serializer_map<C>:: - find (const type_id& tid) const - { - typename type_map::const_iterator i (type_map_.find (&tid)); - return i == type_map_.end () ? 0 : &i->second; - } - - template <typename C> - const typename type_serializer_map<C>::type_info* - type_serializer_map<C>:: - find_substitution (const subst_map& start, const type_id& tid) const - { - typename subst_map::const_iterator i (start.find (&tid)); - - if (i != start.end ()) - return &i->second; - else - { - for (i = start.begin (); i != start.end (); ++i) - { - typename element_map::const_iterator j ( - element_map_.find (i->second.name ())); - - if (j != element_map_.end ()) - { - if (const type_info* ti = find_substitution (j->second, tid)) - return ti; - } - } - } - - return 0; - } - - template <typename C> - void type_serializer_map<C>:: - set_xsi_type (xercesc::DOMElement& parent, - xercesc::DOMElement& e, - const type_info& ti) const - { - std::basic_string<C> id; - const std::basic_string<C>& ns (ti.name ().namespace_ ()); - - if (!ns.empty ()) - { - id = xml::dom::prefix (ns, e); - - if (!id.empty ()) - id += C (':'); - } - - id += ti.name ().name (); - - std::basic_string<C> name = xml::dom::prefix ( - xml::bits::xsi_namespace<C> (), parent, xml::bits::xsi_prefix<C> ()); - - if (!name.empty ()) - name += C (':'); - - name += xml::bits::type<C> (); - - e.setAttributeNS ( - xercesc::SchemaSymbols::fgURI_XSI, - xml::string (name).c_str (), - xml::string (id).c_str ()); - } - - - // type_serializer_plate - // - template<unsigned long id, typename C> - type_serializer_plate<id, C>:: - type_serializer_plate () - { - if (count == 0) - map = new type_serializer_map<C>; - - ++count; - } - - template<unsigned long id, typename C> - type_serializer_plate<id, C>:: - ~type_serializer_plate () - { - if (--count == 0) - delete map; - } - - - // - // - template<typename T> - void - serializer_impl (xercesc::DOMElement& e, const type& x) - { - e << static_cast<const T&> (x); - } - - // type_serializer_initializer - // - template<unsigned long id, typename C, typename T> - type_serializer_initializer<id, C, T>:: - type_serializer_initializer (const C* name, const C* ns) - { - type_serializer_map_instance<id, C> ().register_type ( - typeid (T), - xml::qualified_name<C> (name, ns), - &serializer_impl<T>); - } - - template<unsigned long id, typename C, typename T> - type_serializer_initializer<id, C, T>:: - ~type_serializer_initializer () - { - type_serializer_map_instance<id, C> ().unregister_type (typeid (T)); - } - - // element_serializer_initializer - // - template<unsigned long id, typename C, typename T> - element_serializer_initializer<id, C, T>:: - element_serializer_initializer (const C* root_name, const C* root_ns, - const C* subst_name, const C* subst_ns) - : root_name_ (root_name), root_ns_ (root_ns) - { - type_serializer_map_instance<id, C> ().register_element ( - xml::qualified_name<C> (root_name, root_ns), - xml::qualified_name<C> (subst_name, subst_ns), - typeid (T), - &serializer_impl<T>); - } - - template<unsigned long id, typename C, typename T> - element_serializer_initializer<id, C, T>:: - ~element_serializer_initializer () - { - type_serializer_map_instance<id, C> ().unregister_element ( - xml::qualified_name<C> (root_name_, root_ns_), typeid (T)); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/types.hxx b/xsd/libxsd/xsd/cxx/tree/types.hxx deleted file mode 100644 index 288a291..0000000 --- a/xsd/libxsd/xsd/cxx/tree/types.hxx +++ /dev/null @@ -1,3943 +0,0 @@ -// file : xsd/cxx/tree/types.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -/** - * @file - * - * @brief Contains C++ class definitions for XML Schema built-in types. - * - * This is an internal header and is included by the generated code. You - * normally should not include it directly. - * - */ - -#ifndef XSD_CXX_TREE_TYPES_HXX -#define XSD_CXX_TREE_TYPES_HXX - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/tree/elements.hxx> -#include <xsd/cxx/tree/list.hxx> -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/istream-fwd.hxx> - -#include <xsd/cxx/tree/date-time.hxx> - -namespace xsd -{ - namespace cxx - { - /** - * @brief C++/Tree mapping runtime namespace. - * - * This is an internal namespace and normally should not be referenced - * directly. Instead you should use the aliases for types in this - * namespaces that are created in the generated code. - * - */ - namespace tree - { - /** - * @brief Class corresponding to the XML Schema %string built-in - * type. - * - * The %string class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class string: public B, public std::basic_string<C> - { - typedef std::basic_string<C> base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates an empty %string. - */ - string () - { - } - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - string (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - string (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - string (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - string (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - string (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - string (const string& x, flags f = 0, container* c = 0) - : B (x, f, c), base_type (x) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual string* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - string (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - string (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - string (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - string (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %string has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - string& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %string contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - string& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %string contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - string& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - string& - operator= (const string& x) - { - base () = x; - return *this; - } - }; - - /** - * @brief %string comparison operator. - * - * @return True if the strings are equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator== (const string<C, B>& a, const string<C, B>& b) - { - return static_cast<const std::basic_string<C>&> (a) == b; - } - - /** - * @brief %string comparison operator. - * - * @return True if the strings are not equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator!= (const string<C, B>& a, const string<C, B>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema normalizedString - * built-in type. - * - * The %normalized_string class publicly inherits from and has - * the same set of constructors as @c std::basic_string. It - * therefore can be used as @c std::string (or @c std::wstring - * if you are using @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class normalized_string: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates an empty %normalized_string. - */ - normalized_string () - { - } - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - normalized_string (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - normalized_string (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - normalized_string (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - normalized_string (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - normalized_string (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - normalized_string (const normalized_string& x, - flags f = 0, - container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual normalized_string* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - normalized_string (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - normalized_string (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - normalized_string (const xercesc::DOMAttr& a, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - normalized_string (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %normalized_string has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - normalized_string& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %normalized_string contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - normalized_string& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %normalized_string contains a copy of the standard - * %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - normalized_string& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - normalized_string& - operator= (const normalized_string& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - void - normalize (); - - //@endcond - }; - - - /** - * @brief Class corresponding to the XML Schema %token built-in - * type. - * - * The %token class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class token: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates an empty %token. - */ - token () - { - } - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - token (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - token (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - token (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - token (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - token (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - token (const token& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual token* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - token (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - token (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - token (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - token (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %token has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - token& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %token contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - token& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %token contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - token& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - token& - operator= (const token& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - void - collapse (); - - //@endcond - }; - - - /** - * @brief Class corresponding to the XML Schema NMTOKEN built-in - * type. - * - * The %nmtoken class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class nmtoken: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - nmtoken (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - nmtoken (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - nmtoken (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - nmtoken (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - nmtoken (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - nmtoken (const nmtoken& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual nmtoken* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - nmtoken (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtoken (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtoken (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtoken (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %nmtoken has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - nmtoken& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %nmtoken contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - nmtoken& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %nmtoken contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - nmtoken& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - nmtoken& - operator= (const nmtoken& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - nmtoken () - : base_type () - { - } - - //@endcond - }; - - - /** - * @brief Class corresponding to the XML Schema NMTOKENS built-in - * type. - * - * The %nmtokens class is a vector (or %list in XML Schema terminology) - * of nmtoken elements. It is implemented in terms of the list class - * template. - * - * @nosubgrouping - */ - template <typename C, typename B, typename nmtoken> - class nmtokens: public B, public list<nmtoken, C> - { - typedef list<nmtoken, C> base_type; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates no elements. - */ - nmtokens () - : base_type (this) - { - } - - /** - * @brief Initialize the instance with copies of an exemplar elements. - * - * @param n A number of elements to copy. - * @param x An exemplar element to copy. - */ - nmtokens (typename base_type::size_type n, const nmtoken& x) - : base_type (n, x, this) - { - } - - /** - * @brief Initialize the instance with copies of elements from an - * iterator range. - * - * @param begin An iterator pointing to the first element. - * @param end An iterator pointing to the one past the last element. - */ - template <typename I> - nmtokens (const I& begin, const I& end) - : base_type (begin, end, this) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - nmtokens (const nmtokens& x, flags f, container* c = 0) - : B (x, f, c), base_type (x, f, this) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual nmtokens* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - nmtokens (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtokens (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtokens (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - nmtokens (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - }; - - /** - * @brief %nmtokens comparison operator. - * - * @return True if the lists of nmtokens are equal, false otherwise. - */ - template <typename C, typename B, typename nmtoken> - inline bool - operator== (const nmtokens<C, B, nmtoken>& a, - const nmtokens<C, B, nmtoken>& b) - { - return static_cast<const list<nmtoken, C>&> (a) == b; - } - - /** - * @brief %nmtokens comparison operator. - * - * @return True if the lists of nmtokens are not equal, false otherwise. - */ - template <typename C, typename B, typename nmtoken> - inline bool - operator!= (const nmtokens<C, B, nmtoken>& a, - const nmtokens<C, B, nmtoken>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema Name built-in - * type. - * - * The %name class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class name: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - name (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - name (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - name (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - name (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - name (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - name (const name& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual name* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - name (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - name (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - name (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - name (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %name has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - name& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %name contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - name& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %name contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - name& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - name& - operator= (const name& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - name () - : base_type () - { - } - - //@endcond - }; - - - // Forward declaration for Sun CC. - // - template <typename C, typename B, typename uri, typename ncname> - class qname; - - - /** - * @brief Class corresponding to the XML Schema NCame built-in - * type. - * - * The %ncname class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class ncname: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - ncname (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - ncname (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - ncname (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - ncname (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - ncname (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - ncname (const ncname& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual ncname* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - ncname (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - ncname (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - ncname (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - ncname (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %ncname has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - ncname& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %ncname contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - ncname& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %ncname contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - ncname& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - ncname& - operator= (const ncname& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - ncname () - : base_type () - { - } - - //@endcond - - template <typename, typename, typename, typename> - friend class qname; - }; - - - /** - * @brief Class corresponding to the XML Schema %language built-in - * type. - * - * The %language class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class language: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - language (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - language (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - language (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - language (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - language (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - language (const language& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual language* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - language (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - language (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - language (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - language (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %language has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - language& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %language contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - language& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %language contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - language& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - language& - operator= (const language& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - language () - : base_type () - { - } - - //@endcond - }; - - - //@cond - - template <typename C, typename ncname> - struct identity_impl: identity - { - identity_impl (const ncname& id) - : id_ (id) - { - } - - virtual bool - before (const identity& y) const; - - virtual void - throw_duplicate_id () const; - - private: - const ncname& id_; - }; - - //@endcond - - - /** - * @brief Class corresponding to the XML Schema ID built-in - * type. - * - * The %id class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class id: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - ~id() - { - unregister_id (); - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - id (const C* s) - : base_type (s), identity_ (*this) - { - register_id (); - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - id (const C* s, std::size_t n) - : base_type (s, n), identity_ (*this) - { - register_id (); - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - id (std::size_t n, C c) - : base_type (n, c), identity_ (*this) - { - register_id (); - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - id (const std::basic_string<C>& s) - : base_type (s), identity_ (*this) - { - register_id (); - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - id (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n), identity_ (*this) - { - register_id (); - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - id (const id& x, flags f = 0, container* c = 0) - : base_type (x, f, c), identity_ (*this) - { - register_id (); - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual id* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - id (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - id (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - id (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - id (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %id has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - id& - operator= (C c); - - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %id contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - id& - operator= (const C* s); - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %id contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - id& - operator= (const std::basic_string<C>& s); - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - id& - operator= (const id& x); - - public: - //@cond - - virtual void - _container (container*); - - using B::_container; - - //@endcond - - protected: - //@cond - - id () - : base_type (), identity_ (*this) - { - register_id (); - } - - //@endcond - - private: - void - register_id (); - - void - unregister_id (); - - private: - identity_impl<C, B> identity_; - }; - - - /** - * @brief Class corresponding to the XML Schema IDREF built-in - * type. - * - * The %idref class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * The %idref class also provides an autopointer-like interface - * for resolving referenced objects. By default the object is - * returned as type (mapping for anyType) but statically-typed - * %idref can be created using the XML Schema extension. See the - * C++/Tree Mapping User Manual for more information. - * - * @nosubgrouping - */ - template <typename C, typename B, typename T> - class idref: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @brief Referenced type. - */ - typedef T ref_type; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - idref (const C* s) - : base_type (s), identity_ (*this) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - idref (const C* s, std::size_t n) - : base_type (s, n), identity_ (*this) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - idref (std::size_t n, C c) - : base_type (n, c), identity_ (*this) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - idref (const std::basic_string<C>& s) - : base_type (s), identity_ (*this) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - idref (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n), identity_ (*this) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - idref (const idref& x, flags f = 0, container* c = 0) - : base_type (x, f, c), identity_ (*this) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual idref* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - idref (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idref (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idref (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idref (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %idref has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - idref& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %idref contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - idref& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %idref contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - idref& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - idref& - operator= (const idref& x) - { - base () = x; - return *this; - } - - public: - /** - * @brief Call referenced object. - * - * @return A constant pointer to the referenced object. - */ - const ref_type* - operator-> () const - { - return get (); - } - - /** - * @brief Call referenced object. - * - * @return A pointer to the referenced object. - */ - ref_type* - operator-> () - { - return get (); - } - - /** - * @brief Dereference referenced object. - * - * @return A constant C++ reference to the referenced object. - */ - const ref_type& - operator* () const - { - return *(get ()); - } - - /** - * @brief Dereference referenced object. - * - * @return A C++ reference to the referenced object. - */ - ref_type& - operator* () - { - return *(get ()); - } - - /** - * @brief Get a constant pointer to the referenced object. - * - * @return A constant pointer to the referenced object or 0 if - * the object is not found. - */ - const ref_type* - get () const - { - return dynamic_cast<const ref_type*> (get_ ()); - } - - /** - * @brief Get a pointer to the referenced object. - * - * @return A pointer to the referenced object or 0 if the object - * is not found. - */ - ref_type* - get () - { - return dynamic_cast<ref_type*> (get_ ()); - } - - /** - * @brief Opaque type that can be evaluated as true or false. - */ - typedef void (idref::*bool_convertible)(); - - /** - * @brief Implicit conversion to boolean type. - * - * @return True if the referenced object is found, false otherwise. - */ - operator bool_convertible () const - { - return get_ () ? &idref::true_ : 0; - } - - protected: - //@cond - - idref () - : base_type (), identity_ (*this) - { - } - - //@endcond - - private: - const _type* - get_ () const; - - _type* - get_ (); - - void - true_ (); - - private: - identity_impl<C, B> identity_; - }; - - - /** - * @brief Class corresponding to the XML Schema IDREFS built-in - * type. - * - * The %idrefs class is a vector (or %list in XML Schema terminology) - * of idref elements. It is implemented in terms of the list class - * template. - * - * @nosubgrouping - */ - template <typename C, typename B, typename idref> - class idrefs: public B, public list<idref, C> - { - typedef list<idref, C> base_type; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates no elements. - */ - idrefs () - : base_type (this) - { - } - - /** - * @brief Initialize the instance with copies of an exemplar elements. - * - * @param n A number of elements to copy. - * @param x An exemplar element to copy. - */ - idrefs (typename base_type::size_type n, const idref& x) - : base_type (n, x, this) - { - } - - /** - * @brief Initialize the instance with copies of elements from an - * iterator range. - * - * @param begin An iterator pointing to the first element. - * @param end An iterator pointing to the one past the last element. - */ - template <typename I> - idrefs (const I& begin, const I& end) - : base_type (begin, end, this) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - idrefs (const idrefs& x, flags f = 0, container* c = 0) - : B (x, f, c), base_type (x, f, this) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual idrefs* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - idrefs (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idrefs (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idrefs (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - idrefs (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - }; - - /** - * @brief %idrefs comparison operator. - * - * @return True if the lists of idrefs are equal, false otherwise. - */ - template <typename C, typename B, typename idref> - inline bool - operator== (const idrefs<C, B, idref>& a, const idrefs<C, B, idref>& b) - { - return static_cast<const list<idref, C>&> (a) == b; - } - - /** - * @brief %idrefs comparison operator. - * - * @return True if the lists of idrefs are not equal, false otherwise. - */ - template <typename C, typename B, typename idref> - inline bool - operator!= (const idrefs<C, B, idref>& a, const idrefs<C, B, idref>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema anyURI built-in - * type. - * - * The %uri class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class uri: public B, public std::basic_string<C> - { - typedef std::basic_string<C> base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - uri (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - uri (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - uri (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - uri (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - uri (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - uri (const uri& x, flags f = 0, container* c = 0) - : B (x, f, c), base_type (x) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual uri* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - uri (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - uri (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - uri (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - uri (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %uri has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - uri& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %uri contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - uri& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %uri contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - uri& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - uri& - operator= (const uri& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - uri () - : base_type () - { - } - - //@endcond - - template <typename, typename, typename, typename> - friend class qname; - }; - - /** - * @brief %uri comparison operator. - * - * @return True if the uris are equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator== (const uri<C, B>& a, const uri<C, B>& b) - { - return static_cast<const std::basic_string<C>&> (a) == b; - } - - /** - * @brief %uri comparison operator. - * - * @return True if the uris are not equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator!= (const uri<C, B>& a, const uri<C, B>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema QName built-in - * type. - * - * The %qname class represents a potentially namespace-qualified - * XML %name. - * - * @nosubgrouping - */ - template <typename C, typename B, typename uri, typename ncname> - class qname: public B - { - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a %name only. - * - * The resulting %qname is unqualified. - * - * @param n An XML %name (ncname). - */ - qname (const ncname& n) - : ns_ (), name_ (n) - { - } - - /** - * @brief Initialize an instance with a %name and a namespace. - * - * The resulting %qname is qualified. - * - * @param ns An XML namespace (uri). - * @param n An XML %name (ncname). - */ - qname (const uri& ns, const ncname& n) - : ns_ (ns), name_ (n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - qname (const qname& x, flags f = 0, container* c = 0) - : B (x, f, c), - ns_ (x.ns_), - name_ (x.name_) - { - // Note that ns_ and name_ have no DOM association. - // - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual qname* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - qname (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - qname (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - qname (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - qname (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Determine if the %name is qualified. - * - * @return True if the %name is qualified, false otherwise. - */ - bool - qualified () const - { - return !ns_.empty (); - } - - /** - * @brief Get XML namespace. - * - * @return A constant reference to qualifying XML namespace. - */ - const uri& - namespace_ () const - { - return ns_; - } - - /** - * @brief Get XML %name. - * - * @return A constant reference to unqualified XML %name. - */ - const ncname& - name () const - { - return name_; - } - - protected: - //@cond - - qname () - : ns_ (), name_ () - { - } - - //@endcond - - private: - static uri - resolve (const std::basic_string<C>&, const xercesc::DOMElement*); - - private: - uri ns_; - ncname name_; - }; - - /** - * @brief %qname comparison operator. - * - * @return True if the names are equal, false otherwise. - */ - template <typename C, typename B, typename uri, typename ncname> - inline bool - operator== (const qname<C, B, uri, ncname>& a, - const qname<C, B, uri, ncname>& b) - { - return a.name () == b.name () && a.namespace_ () == b.namespace_ (); - } - - /** - * @brief %qname comparison operator. - * - * @return True if the names are not equal, false otherwise. - */ - template <typename C, typename B, typename uri, typename ncname> - inline bool - operator!= (const qname<C, B, uri, ncname>& a, - const qname<C, B, uri, ncname>& b) - { - return !(a == b); - } - - - /** - * @brief Class corresponding to the XML Schema base64Binary - * built-in type. - * - * The %base64_binary class is a binary %buffer abstraction with - * base64-encoded representation in XML. It publicly inherits from - * the buffer class which provides the %buffer functionality. - * - * @nosubgrouping - */ - template <typename C, typename B> - class base64_binary: public B, public buffer<C> - { - public: - typedef typename buffer<C>::size_t size_t; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Allocate a %buffer of the specified size. - * - * The resulting %buffer has the same size and capacity. - * - * @param size A %buffer size in bytes. - */ - explicit - base64_binary (size_t size = 0); - - /** - * @brief Allocate a %buffer of the specified size and capacity. - * - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - base64_binary (size_t size, size_t capacity); - - /** - * @brief Allocate a %buffer of the specified size and copy - * the data. - * - * The resulting %buffer has the same size and capacity with - * @a size bytes copied from @a data. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - */ - base64_binary (const void* data, size_t size); - - /** - * @brief Allocate a %buffer of the specified size and capacity - * and copy the data. - * - * @a size bytes are copied from @a data to the resulting - * %buffer. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - base64_binary (const void* data, size_t size, size_t capacity); - - /** - * @brief Reuse an existing %buffer. - * - * If the @a assume_ownership argument is true, the %buffer will - * assume ownership of @a data and will release the memory - * by calling @c operator @c delete(). - * - * @param data A %buffer to reuse. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @param assume_ownership A boolean value indication whether to - * assume ownership. - * @throw bounds If @a size exceeds @a capacity - */ - base64_binary (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - base64_binary (const base64_binary& x, - flags f = 0, - container* c = 0) - : B (x, f, c), buffer<C> (x) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual base64_binary* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - base64_binary (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - base64_binary (const xercesc::DOMElement& e, - flags f = 0, - container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - base64_binary (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - base64_binary (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - base64_binary& - operator= (const base64_binary& x) - { - buffer<C>& b (*this); - b = x; - return *this; - } - - public: - /** - * @brief Encode the %buffer in base64 encoding. - * - * @return A %string with base64-encoded data. - */ - std::basic_string<C> - encode () const; - - private: - void - decode (const XMLCh*); - }; - - /** - * @brief %base64_binary comparison operator. - * - * @return True if the binaries are equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator== (const base64_binary<C, B>& a, const base64_binary<C, B>& b) - { - return static_cast<const buffer<C>&> (a) == b; - } - - /** - * @brief %base64_binary comparison operator. - * - * @return True if the binaries are not equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator!= (const base64_binary<C, B>& a, const base64_binary<C, B>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema hexBinary - * built-in type. - * - * The %hex_binary class is a binary %buffer abstraction with - * hex-encoded representation in XML. It publicly inherits from - * the buffer class which provides the %buffer functionality. - * - * @nosubgrouping - */ - template <typename C, typename B> - class hex_binary: public B, public buffer<C> - { - public: - typedef typename buffer<C>::size_t size_t; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Allocate a %buffer of the specified size. - * - * The resulting %buffer has the same size and capacity. - * - * @param size A %buffer size in bytes. - */ - explicit - hex_binary (size_t size = 0); - - /** - * @brief Allocate a %buffer of the specified size and capacity. - * - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - hex_binary (size_t size, size_t capacity); - - /** - * @brief Allocate a %buffer of the specified size and copy - * the data. - * - * The resulting %buffer has the same size and capacity with - * @a size bytes copied from @a data. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - */ - hex_binary (const void* data, size_t size); - - /** - * @brief Allocate a %buffer of the specified size and capacity - * and copy the data. - * - * @a size bytes are copied from @a data to the resulting - * %buffer. - * - * @param data A %buffer to copy the data from. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @throw bounds If @a size exceeds @a capacity - */ - hex_binary (const void* data, size_t size, size_t capacity); - - /** - * @brief Reuse an existing %buffer.. - * - * If the @a assume_ownership argument is true, the %buffer will - * assume ownership of @a data and will release the memory - * by calling @c operator @c delete(). - * - * @param data A %buffer to reuse. - * @param size A %buffer size in bytes. - * @param capacity A %buffer capacity in bytes. - * @param assume_ownership A boolean value indication whether to - * assume ownership. - * @throw bounds If @a size exceeds @a capacity - */ - hex_binary (void* data, - size_t size, - size_t capacity, - bool assume_ownership); - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - hex_binary (const hex_binary& x, flags f = 0, container* c = 0) - : B (x, f, c), buffer<C> (x) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual hex_binary* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - hex_binary (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - hex_binary (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - hex_binary (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - hex_binary (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - hex_binary& - operator= (const hex_binary& x) - { - buffer<C>& b (*this); - b = x; - return *this; - } - - public: - /** - * @brief Encode the %buffer in hex encoding. - * - * @return A %string with hex-encoded data. - */ - std::basic_string<C> - encode () const; - - private: - void - decode (const XMLCh*); - }; - - /** - * @brief %hex_binary comparison operator. - * - * @return True if the binaries are equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator== (const hex_binary<C, B>& a, const hex_binary<C, B>& b) - { - return static_cast<const buffer<C>&> (a) == b; - } - - /** - * @brief %hex_binary comparison operator. - * - * @return True if the binaries are not equal, false otherwise. - */ - template <typename C, typename B> - inline bool - operator!= (const hex_binary<C, B>& a, const hex_binary<C, B>& b) - { - return !(a == b); - } - - /** - * @brief Class corresponding to the XML Schema ENTITY built-in - * type. - * - * The %entity class publicly inherits from and has the same set - * of constructors as @c std::basic_string. It therefore can be - * used as @c std::string (or @c std::wstring if you are using - * @c wchar_t as the character type). - * - * @nosubgrouping - */ - template <typename C, typename B> - class entity: public B - { - typedef B base_type; - - base_type& - base () - { - return *this; - } - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Initialize an instance with a copy of a C %string. - * - * @param s A C %string to copy. - */ - entity (const C* s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a character array. - * - * @param s A character array to copy. - * @param n A number of character to copy. - */ - entity (const C* s, std::size_t n) - : base_type (s, n) - { - } - - /** - * @brief Initialize an instance with multiple copies of the same - * character. - * - * @param n A number of copies to create. - * @param c A character to copy. - */ - entity (std::size_t n, C c) - : base_type (n, c) - { - } - - /** - * @brief Initialize an instance with a copy of a standard %string. - * - * @param s A standard %string to copy. - */ - entity (const std::basic_string<C>& s) - : base_type (s) - { - } - - /** - * @brief Initialize an instance with a copy of a substring. - * - * @param s A standard %string to copy the substring from. - * @param pos An index of the first character to copy from. - * @param n A number of characters to copy. - */ - entity (const std::basic_string<C>& s, - std::size_t pos, - std::size_t n = std::basic_string<C>::npos) - : base_type (s, pos, n) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - entity (const entity& x, flags f = 0, container* c = 0) - : base_type (x, f, c) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual entity* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - entity (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entity (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entity (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entity (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - - public: - /** - * @brief Assign a character to the instance. - * - * The resulting %entity has only one character. - * - * @param c A character to assign. - * @return A reference to the instance. - */ - entity& - operator= (C c) - { - base () = c; - return *this; - } - - /** - * @brief Assign a C %string to the instance. - * - * The resulting %entity contains a copy of the C %string. - * - * @param s A C %string to assign. - * @return A reference to the instance. - */ - entity& - operator= (const C* s) - { - base () = s; - return *this; - } - - /** - * @brief Assign a standard %string to the instance. - * - * The resulting %entity contains a copy of the standard %string. - * - * @param s A standard %string to assign. - * @return A reference to the instance. - */ - entity& - operator= (const std::basic_string<C>& s) - { - base () = s; - return *this; - } - - /** - * @brief Copy assignment operator. - * - * @param x An instance to assign. - * @return A reference to the instance. - */ - entity& - operator= (const entity& x) - { - base () = x; - return *this; - } - - protected: - //@cond - - entity () - : base_type () - { - } - - //@endcond - }; - - - /** - * @brief Class corresponding to the XML Schema ENTITIES built-in - * type. - * - * The %entities class is a vector (or %list in XML Schema terminology) - * of entity elements. It is implemented in terms of the list class - * template. - * - * @nosubgrouping - */ - template <typename C, typename B, typename entity> - class entities: public B, public list<entity, C> - { - typedef list<entity, C> base_type; - - public: - /** - * @name Constructors - */ - //@{ - - /** - * @brief Default constructor creates no elements. - */ - entities () - : base_type (this) - { - } - - /** - * @brief Initialize the instance with copies of an exemplar elements. - * - * @param n A number of elements to copy. - * @param x An exemplar element to copy. - */ - entities (typename base_type::size_type n, const entity& x) - : base_type (n, x, this) - { - } - - /** - * @brief Initialize the instance with copies of elements from an - * iterator range. - * - * @param begin An iterator pointing to the first element. - * @param end An iterator pointing to the one past the last element. - */ - template <typename I> - entities (const I& begin, const I& end) - : base_type (begin, end, this) - { - } - - public: - /** - * @brief Copy constructor. - * - * @param x An instance to make a copy of. - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * - * For polymorphic object models use the @c _clone function instead. - */ - entities (const entities& x, flags f = 0, container* c = 0) - : B (x, f, c), base_type (x, f, this) - { - } - - /** - * @brief Copy the instance polymorphically. - * - * @param f Flags to create the copy with. - * @param c A pointer to the object that will contain the copy. - * @return A pointer to the dynamically allocated copy. - * - * This function ensures that the dynamic type of the instance - * is used for copying and should be used for polymorphic object - * models instead of the copy constructor. - */ - virtual entities* - _clone (flags f = 0, container* c = 0) const; - - public: - /** - * @brief Create an instance from a data representation - * stream. - * - * @param s A stream to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - template <typename S> - entities (istream<S>& s, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM element. - * - * @param e A DOM element to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entities (const xercesc::DOMElement& e, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a DOM Attribute. - * - * @param a A DOM attribute to extract the data from. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entities (const xercesc::DOMAttr& a, flags f = 0, container* c = 0); - - /** - * @brief Create an instance from a %string fragment. - * - * @param s A %string fragment to extract the data from. - * @param e A pointer to DOM element containing the %string fragment. - * @param f Flags to create the new instance with. - * @param c A pointer to the object that will contain the new - * instance. - */ - entities (const std::basic_string<C>& s, - const xercesc::DOMElement* e, - flags f = 0, - container* c = 0); - //@} - }; - - /** - * @brief %entities comparison operator. - * - * @return True if the lists of entities are equal, false otherwise. - */ - template <typename C, typename B, typename entity> - inline bool - operator== (const entities<C, B, entity>& a, - const entities<C, B, entity>& b) - { - return static_cast<const list<entity, C>&> (a) == b; - } - - /** - * @brief %entities comparison operator. - * - * @return True if the lists of entities are not equal, false otherwise. - */ - template <typename C, typename B, typename entity> - inline bool - operator!= (const entities<C, B, entity>& a, - const entities<C, B, entity>& b) - { - return !(a == b); - } - } - } -} - -#include <xsd/cxx/tree/types.txx> - -#endif // XSD_CXX_TREE_TYPES_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/types.txx b/xsd/libxsd/xsd/cxx/tree/types.txx deleted file mode 100644 index 8696171..0000000 --- a/xsd/libxsd/xsd/cxx/tree/types.txx +++ /dev/null @@ -1,524 +0,0 @@ -// file : xsd/cxx/tree/types.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/util/Base64.hpp> -#include <xercesc/util/XMLString.hpp> - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -#include <xsd/cxx/xml/std-memory-manager.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - - // string - // - template <typename C, typename B> - string<C, B>* string<C, B>:: - _clone (flags f, container* c) const - { - return new string (*this, f, c); - } - - - // normalized_string - // - template <typename C, typename B> - normalized_string<C, B>* normalized_string<C, B>:: - _clone (flags f, container* c) const - { - return new normalized_string (*this, f, c); - } - - - // token - // - template <typename C, typename B> - token<C, B>* token<C, B>:: - _clone (flags f, container* c) const - { - return new token (*this, f, c); - } - - - // nmtoken - // - template <typename C, typename B> - nmtoken<C, B>* nmtoken<C, B>:: - _clone (flags f, container* c) const - { - return new nmtoken (*this, f, c); - } - - - // nmtokens - // - template <typename C, typename B, typename nmtoken> - nmtokens<C, B, nmtoken>* nmtokens<C, B, nmtoken>:: - _clone (flags f, container* c) const - { - return new nmtokens (*this, f, c); - } - - - // name - // - template <typename C, typename B> - name<C, B>* name<C, B>:: - _clone (flags f, container* c) const - { - return new name (*this, f, c); - } - - - // ncname - // - template <typename C, typename B> - ncname<C, B>* ncname<C, B>:: - _clone (flags f, container* c) const - { - return new ncname (*this, f, c); - } - - - // language - // - template <typename C, typename B> - language<C, B>* language<C, B>:: - _clone (flags f, container* c) const - { - return new language (*this, f, c); - } - - - // identity_impl - // - template <typename C, typename ncname> - bool identity_impl<C, ncname>:: - before (const identity& y) const - { - return id_ < static_cast<const identity_impl&> (y).id_; - } - - template <typename C, typename ncname> - void identity_impl<C, ncname>:: - throw_duplicate_id () const - { - throw duplicate_id<C> (id_); - } - - - // id - // - template <typename C, typename B> - id<C, B>* id<C, B>:: - _clone (flags f, container* c) const - { - return new id (*this, f, c); - } - - template <typename C, typename B> - id<C, B>& id<C, B>:: - operator= (C c) - { - unregister_id (); - base () = c; - register_id (); - - return *this; - } - - template <typename C, typename B> - id<C, B>& id<C, B>:: - operator= (const C* s) - { - unregister_id (); - base () = s; - register_id (); - - return *this; - } - - template <typename C, typename B> - id<C, B>& id<C, B>:: - operator= (const std::basic_string<C>& s) - { - unregister_id (); - base () = s; - register_id (); - - return *this; - } - - template <typename C, typename B> - id<C, B>& id<C, B>:: - operator= (const id& x) - { - unregister_id (); - base () = x; - register_id (); - - return *this; - } - - template <typename C, typename B> - void id<C, B>:: - _container (container* c) - { - B::_container (c); - register_id (); - } - - template <typename C, typename B> - void id<C, B>:: - register_id () - { - container* r (this->_root ()); - - if (r != 0 && !this->empty ()) - r->_register_id (identity_, this->_container ()); - } - - template <typename C, typename B> - void id<C, B>:: - unregister_id () - { - container* r (this->_root ()); - - if (r != 0 && !this->empty ()) - r->_unregister_id (identity_); - } - - - // idref - // - template <typename C, typename B, typename T> - idref<C, B, T>* idref<C, B, T>:: - _clone (flags f, container* c) const - { - return new idref (*this, f, c); - } - - template <typename C, typename B, typename T> - const _type* idref<C, B, T>:: - get_ () const - { - if (!this->empty () && this->_container () != 0) - { - return this->_root ()->_lookup_id (identity_); - } - else - return 0; - } - - template <typename C, typename B, typename T> - _type* idref<C, B, T>:: - get_ () - { - if (!this->empty () && this->_container () != 0) - { - return this->_root ()->_lookup_id (identity_); - } - else - return 0; - } - - template <typename C, typename B, typename T> - void idref<C, B, T>:: - true_ () - { - } - - - // idrefs - // - template <typename C, typename B, typename idref> - idrefs<C, B, idref>* idrefs<C, B, idref>:: - _clone (flags f, container* c) const - { - return new idrefs (*this, f, c); - } - - - // uri - // - template <typename C, typename B> - uri<C, B>* uri<C, B>:: - _clone (flags f, container* c) const - { - return new uri (*this, f, c); - } - - - // qname - // - template <typename C, typename B, typename uri, typename ncname> - qname<C, B, uri, ncname>* qname<C, B, uri, ncname>:: - _clone (flags f, container* c) const - { - return new qname (*this, f, c); - } - - - // base64_binary - // - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (size_t size) - : buffer<C> (size) - { - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (size_t size, size_t capacity) - : buffer<C> (size, capacity) - { - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (const void* data, size_t size) - : buffer<C> (data, size) - { - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (const void* data, size_t size, size_t capacity) - : buffer<C> (data, size, capacity) - { - } - - template <typename C, typename B> - base64_binary<C, B>:: - base64_binary (void* data, size_t size, size_t capacity, bool own) - : buffer<C> (data, size, capacity, own) - { - } - - template <typename C, typename B> - base64_binary<C, B>* base64_binary<C, B>:: - _clone (flags f, container* c) const - { - return new base64_binary (*this, f, c); - } - - template <typename C, typename B> - std::basic_string<C> base64_binary<C, B>:: - encode () const - { - using namespace xercesc; - std::basic_string<C> str; - - XMLSize_t n; - xml::std_memory_manager mm; - -#ifdef XSD_CXX11 - std::unique_ptr<XMLByte[], xml::std_memory_manager&> r ( -#else - auto_array<XMLByte, xml::std_memory_manager> r ( -#endif - Base64::encode ( - reinterpret_cast<const XMLByte*> (this->data ()), - static_cast<XMLSize_t> (this->size ()), - &n, - &mm), - mm); - - if (r) - { - str.reserve (n + 1); - str.resize (n); - - for (XMLSize_t i (0); i < n; ++i) - str[i] = C (r[i]); - } - else - { - //@@ throw - } - - return str; - } - - template <typename C, typename B> - void base64_binary<C, B>:: - decode (const XMLCh* src) - { - using namespace xercesc; - - xml::std_memory_manager mm; - XMLSize_t size; - -#ifdef XSD_CXX11 - std::unique_ptr<XMLByte[], xml::std_memory_manager&> data ( -#else - auto_array<XMLByte, xml::std_memory_manager> data ( -#endif - Base64::decodeToXMLByte (src, &size, &mm, Base64::Conf_RFC2045), - mm); - - if (data) - { - buffer<C> tmp (data.get (), size, size, true); - data.release (); - this->swap (tmp); // g++ 4.1 likes it qualified, not sure why. - } - else - { - //@@ throw - } - } - - - // hex_binary - // - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (size_t size) - : buffer<C> (size) - { - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (size_t size, size_t capacity) - : buffer<C> (size, capacity) - { - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (const void* data, size_t size) - : buffer<C> (data, size) - { - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (const void* data, size_t size, size_t capacity) - : buffer<C> (data, size, capacity) - { - } - - template <typename C, typename B> - hex_binary<C, B>:: - hex_binary (void* data, size_t size, size_t capacity, bool own) - : buffer<C> (data, size, capacity, own) - { - } - - template <typename C, typename B> - hex_binary<C, B>* hex_binary<C, B>:: - _clone (flags f, container* c) const - { - return new hex_binary (*this, f, c); - } - - template <typename C, typename B> - std::basic_string<C> hex_binary<C, B>:: - encode () const - { - std::basic_string<C> str; - - const char tab[] = "0123456789ABCDEF"; - - if (size_t n = this->size ()) - { - str.reserve (2 * n + 1); - str.resize (2 * n); - - for (size_t i (0); i < n; ++i) - { - unsigned char byte ( - static_cast<unsigned char> (*(this->data () + i))); - unsigned char h (byte >> 4); - unsigned char l (byte & 0x0F); - - str[2 * i] = C (tab[h]); - str[2 * i + 1] = C (tab[l]); - } - } - - return str; - } - - namespace bits - { - inline unsigned char - hex_decode (XMLCh c) - { - unsigned char r (0xFF); - - if (c >= '0' && c <= '9') - r = static_cast<unsigned char> (c - '0'); - else if (c >= 'A' && c <= 'F') - r = static_cast<unsigned char> (10 + (c - 'A')); - else if (c >= 'a' && c <= 'f') - r = static_cast<unsigned char> (10 + (c - 'a')); - - return r; - } - } - - template <typename C, typename B> - void hex_binary<C, B>:: - decode (const XMLCh* src) - { - size_t src_n (xercesc::XMLString::stringLen (src)); - - if (src_n % 2 != 0) - return; // @@ throw - - size_t n (src_n / 2); - - buffer<C> tmp (n); - - for (size_t i (0); i < n; ++i) - { - unsigned char h (bits::hex_decode (src[2 * i])); - unsigned char l (bits::hex_decode (src[2 * i + 1])); - - if (h == 0xFF || l == 0xFF) - return; //@@ throw - - tmp.data()[i] = (h << 4) | l; - } - - this->swap (tmp); // g++ 4.1 likes it qualified, not sure why. - } - - - // entity - // - template <typename C, typename B> - entity<C, B>* entity<C, B>:: - _clone (flags f, container* c) const - { - return new entity (*this, f, c); - } - - - // entities - // - template <typename C, typename B, typename entity> - entities<C, B, entity>* entities<C, B, entity>:: - _clone (flags f, container* c) const - { - return new entities (*this, f, c); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/tree/xdr-stream-common.hxx b/xsd/libxsd/xsd/cxx/tree/xdr-stream-common.hxx deleted file mode 100644 index d3b6ce1..0000000 --- a/xsd/libxsd/xsd/cxx/tree/xdr-stream-common.hxx +++ /dev/null @@ -1,25 +0,0 @@ -// file : xsd/cxx/tree/xdr-stream-common.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_XDR_STREAM_COMMON_HXX -#define XSD_CXX_TREE_XDR_STREAM_COMMON_HXX - -#include <xsd/cxx/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - // Base exception for XDR insertion/extraction exceptions. - // - struct xdr_stream_operation: xsd::cxx::exception - { - }; - } - } -} - -#endif // XSD_CXX_TREE_XDR_STREAM_COMMON_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/xdr-stream-extraction.hxx b/xsd/libxsd/xsd/cxx/tree/xdr-stream-extraction.hxx deleted file mode 100644 index d64825b..0000000 --- a/xsd/libxsd/xsd/cxx/tree/xdr-stream-extraction.hxx +++ /dev/null @@ -1,307 +0,0 @@ -// file : xsd/cxx/tree/xdr-stream-extraction.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_XDR_STREAM_EXTRACTION_HXX -#define XSD_CXX_TREE_XDR_STREAM_EXTRACTION_HXX - -#include <rpc/types.h> -#include <rpc/xdr.h> - -// Of course BSD has to be different and name its functions u_intXX -// instead of uintXX. Plus it does not have XX == 8. -// -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) -# if !defined(XSD_CXX_TREE_ASSUME_SUN_XDR) && !defined(xdr_int8_t) -# define xdr_int8_t(x, y) xdr_char(x, reinterpret_cast<char*> (y)) -# define xdr_uint8_t(x, y) xdr_u_char(x, reinterpret_cast<unsigned char*> (y)) -# define xdr_uint16_t xdr_u_int16_t -# define xdr_uint32_t xdr_u_int32_t -# define xdr_uint64_t xdr_u_int64_t -# endif -#endif - -#include <string> - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/istream.hxx> -#include <xsd/cxx/tree/xdr-stream-common.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - struct xdr_stream_extraction: xdr_stream_operation - { - virtual const char* - what () const throw () - { - return "XDR stream extraction operation failed"; - } - }; - - - // as_size - // -#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_size<T>& x) - { - uint64_t v; - - if (!xdr_uint64_t (&s.impl (), &v) || v > ~(T (0))) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } -#else - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_size<T>& x) - { - uint32_t v; - - if (!xdr_uint32_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } -#endif - - - // 8-bit - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_int8<T>& x) - { - int8_t v; - - if (!xdr_int8_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_uint8<T>& x) - { - uint8_t v; - - if (!xdr_uint8_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - - // 16-bit - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_int16<T>& x) - { - int16_t v; - - if (!xdr_int16_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_uint16<T>& x) - { - uint16_t v; - - if (!xdr_uint16_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - - // 32-bit - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_int32<T>& x) - { - int32_t v; - - if (!xdr_int32_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_uint32<T>& x) - { - uint32_t v; - - if (!xdr_uint32_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - - // 64-bit - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_int64<T>& x) - { - int64_t v; - - if (!xdr_int64_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_uint64<T>& x) - { - uint64_t v; - - if (!xdr_uint64_t (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - - // Boolean - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_bool<T>& x) - { - bool_t v; - - if (!xdr_bool (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - - // Floating-point - // - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_float32<T>& x) - { - float v; - - if (!xdr_float (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - template <typename T> - inline istream<XDR>& - operator>> (istream<XDR>& s, istream<XDR>::as_float64<T>& x) - { - double v; - - if (!xdr_double (&s.impl (), &v)) - throw xdr_stream_extraction (); - - x.x_ = static_cast<T> (v); - - return s; - } - - // Extraction of std::basic_string. - // - - inline istream<XDR>& - operator>> (istream<XDR>& s, std::basic_string<char>& x) - { - unsigned int n; - - if (!xdr_u_int (&s.impl (), &n)) - throw xdr_stream_extraction (); - - // Dangerous but fast. - // - x.clear (); - - if (n != 0) - { - x.resize (n); - char* p (const_cast<char*> (x.c_str ())); - - if (!xdr_opaque (&s.impl (), p, n)) - throw xdr_stream_extraction (); - } - - return s; - } - - // Wide strings are not supported by XDR. - // - // inline istream<XDR>& - // operator>> (istream<XDR>& s, std::basic_string<wchar_t>& x) - // { - // } - - - // Extraction of a binary buffer. - // - template <typename C> - istream<XDR>& - operator>> (istream<XDR>& s, buffer<C>& x) - { - unsigned int n; - - if (!xdr_u_int (&s.impl (), &n)) - throw xdr_stream_extraction (); - - x.size (n); - - if (!xdr_opaque (&s.impl (), x.data (), n)) - throw xdr_stream_extraction (); - - return s; - } - } - } -} - -#endif // XSD_CXX_TREE_XDR_STREAM_EXTRACTION_HXX diff --git a/xsd/libxsd/xsd/cxx/tree/xdr-stream-insertion.hxx b/xsd/libxsd/xsd/cxx/tree/xdr-stream-insertion.hxx deleted file mode 100644 index 113569f..0000000 --- a/xsd/libxsd/xsd/cxx/tree/xdr-stream-insertion.hxx +++ /dev/null @@ -1,271 +0,0 @@ -// file : xsd/cxx/tree/xdr-stream-insertion.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_TREE_XDR_STREAM_INSERTION_HXX -#define XSD_CXX_TREE_XDR_STREAM_INSERTION_HXX - -#include <rpc/types.h> -#include <rpc/xdr.h> - -// Of course BSD has to be different and name its functions u_intXX -// instead of uintXX. Plus it does not have XX == 8. -// -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) -# if !defined(XSD_CXX_TREE_ASSUME_SUN_XDR) && !defined(xdr_int8_t) -# define xdr_int8_t(x, y) xdr_char(x, reinterpret_cast<char*> (y)) -# define xdr_uint8_t(x, y) xdr_u_char(x, reinterpret_cast<unsigned char*> (y)) -# define xdr_uint16_t xdr_u_int16_t -# define xdr_uint32_t xdr_u_int32_t -# define xdr_uint64_t xdr_u_int64_t -# endif -#endif - -#include <string> - -#include <xsd/cxx/tree/buffer.hxx> -#include <xsd/cxx/tree/ostream.hxx> -#include <xsd/cxx/tree/xdr-stream-common.hxx> - -namespace xsd -{ - namespace cxx - { - namespace tree - { - struct xdr_stream_insertion: xdr_stream_operation - { - virtual const char* - what () const throw () - { - return "XDR stream insertion operation failed"; - } - }; - - // as_size - // -#ifdef XSD_CXX_TREE_USE_64_BIT_SIZE - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_size<T> x) - { - uint64_t v (static_cast<uint64_t> (x.x_)); - - if (!xdr_uint64_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } -#else - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_size<T> x) - { - uint32_t v (static_cast<uint32_t> (x.x_)); - - if (x.x_ > ~(uint32_t (0)) || !xdr_uint32_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } -#endif - - - // 8-bit - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_int8<T> x) - { - int8_t v (static_cast<int8_t> (x.x_)); - - if (!xdr_int8_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_uint8<T> x) - { - uint8_t v (static_cast<uint8_t> (x.x_)); - - if (!xdr_uint8_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - - // 16-bit - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_int16<T> x) - { - int16_t v (static_cast<int16_t> (x.x_)); - - if (!xdr_int16_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_uint16<T> x) - { - uint16_t v (static_cast<uint16_t> (x.x_)); - - if (!xdr_uint16_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - - // 32-bit - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_int32<T> x) - { - int32_t v (static_cast<int32_t> (x.x_)); - - if (!xdr_int32_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_uint32<T> x) - { - uint32_t v (static_cast<uint32_t> (x.x_)); - - if (!xdr_uint32_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - - // 64-bit - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_int64<T> x) - { - int64_t v (static_cast<int64_t> (x.x_)); - - if (!xdr_int64_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_uint64<T> x) - { - uint64_t v (static_cast<uint64_t> (x.x_)); - - if (!xdr_uint64_t (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - - // Boolean - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_bool<T> x) - { - bool_t v (static_cast<bool_t> (x.x_)); - - if (!xdr_bool (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - - // Floating-point - // - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_float32<T> x) - { - float v (static_cast<float> (x.x_)); - - if (!xdr_float (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - template <typename T> - inline ostream<XDR>& - operator<< (ostream<XDR>& s, ostream<XDR>::as_float64<T> x) - { - double v (static_cast<double> (x.x_)); - - if (!xdr_double (&s.impl (), &v)) - throw xdr_stream_insertion (); - - return s; - } - - // Insertion of std::basic_string. - // - - inline ostream<XDR>& - operator<< (ostream<XDR>& s, const std::basic_string<char>& x) - { - // XDR strings are hard-wired with a 32 bit (unsigned int) length. - // - char* p (const_cast<char*> (x.c_str ())); - unsigned int n (static_cast<unsigned int> (x.length ())); - - if (x.length () > ~((unsigned int) 0) || - !xdr_u_int (&s.impl (), &n) || - !xdr_opaque (&s.impl (), p, n)) - throw xdr_stream_insertion (); - - return s; - } - - // Wide strings are not supported by XDR. - // - // inline ostream<XDR>& - // operator<< (ostream<XDR>& s, const std::basic_string<wchar_t>& x) - // { - // } - - - // Insertion of a binary buffer. - // - template <typename C> - ostream<XDR>& - operator<< (ostream<XDR>& s, const buffer<C>& x) - { - // It is not possible to write an array with a 64-bit size. - // - unsigned int n (static_cast<unsigned int> (x.size ())); - - if (x.size () > ~((unsigned int) 0) || - !xdr_u_int (&s.impl (), &n) || - !xdr_opaque (&s.impl (), const_cast<char*> (x.data ()), n)) - throw xdr_stream_insertion (); - - return s; - } - } - } -} - -#endif // XSD_CXX_TREE_XDR_STREAM_INSERTION_HXX diff --git a/xsd/libxsd/xsd/cxx/version.hxx b/xsd/libxsd/xsd/cxx/version.hxx deleted file mode 100644 index 2e2312f..0000000 --- a/xsd/libxsd/xsd/cxx/version.hxx +++ /dev/null @@ -1,28 +0,0 @@ -// file : xsd/cxx/version.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_VERSION_HXX -#define XSD_CXX_VERSION_HXX - -// Version format is AABBCCDD where -// -// AA - major version number -// BB - minor version number -// CC - bugfix version number -// DD - alpha / beta (DD + 50) version number -// -// When DD is not 00, 1 is subtracted from AABBCC. For example: -// -// Version AABBCCDD -// 2.0.0 02000000 -// 2.1.0 02010000 -// 2.1.1 02010100 -// 2.2.0.a1 02019901 -// 3.0.0.b2 02999952 -// - -#define XSD_STR_VERSION "4.0.0" -#define XSD_INT_VERSION 4000000L - -#endif // XSD_CXX_VERSION_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/bits/literals.hxx b/xsd/libxsd/xsd/cxx/xml/bits/literals.hxx deleted file mode 100644 index 51d08ad..0000000 --- a/xsd/libxsd/xsd/cxx/xml/bits/literals.hxx +++ /dev/null @@ -1,82 +0,0 @@ -// file : xsd/cxx/xml/bits/literals.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_BITS_LITERALS_HXX -#define XSD_CXX_XML_BITS_LITERALS_HXX - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace bits - { - template <typename C> - const C* - xml_prefix (); - - template <typename C> - const C* - xml_namespace (); - - template <typename C> - const C* - xmlns_prefix (); - - template <typename C> - const C* - xmlns_namespace (); - - template <typename C> - const C* - xsi_prefix (); - - template <typename C> - const C* - xsi_namespace (); - - template <typename C> - const C* - type (); - - template <typename C> - const C* - nil_lit (); - - template <typename C> - const C* - schema_location (); - - template <typename C> - const C* - no_namespace_schema_location (); - - template <typename C> - const C* - first_prefix (); - - template <typename C> - const C* - second_prefix (); - - template <typename C> - const C* - third_prefix (); - - template <typename C> - const C* - fourth_prefix (); - - template <typename C> - const C* - fifth_prefix (); - } - } - } -} - -#endif // XSD_CXX_XML_BITS_LITERALS_HXX - -#include <xsd/cxx/xml/bits/literals.ixx> diff --git a/xsd/libxsd/xsd/cxx/xml/bits/literals.ixx b/xsd/libxsd/xsd/cxx/xml/bits/literals.ixx deleted file mode 100644 index bd8f4ed..0000000 --- a/xsd/libxsd/xsd/cxx/xml/bits/literals.ixx +++ /dev/null @@ -1,260 +0,0 @@ -// file : xsd/cxx/xml/bits/literals.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_BITS_LITERALS_IXX -#define XSD_CXX_XML_BITS_LITERALS_IXX - -#endif // XSD_CXX_XML_BITS_LITERALS_IXX - - -#if defined(XSD_USE_CHAR) || !defined(XSD_USE_WCHAR) - -#ifndef XSD_CXX_XML_BITS_LITERALS_IXX_CHAR -#define XSD_CXX_XML_BITS_LITERALS_IXX_CHAR - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace bits - { - template <> - inline const char* - xml_prefix<char> () - { - return "xml"; - } - - template <> - inline const char* - xml_namespace<char> () - { - return "http://www.w3.org/XML/1998/namespace"; - } - - template <> - inline const char* - xmlns_prefix<char> () - { - return "xmlns"; - } - - template <> - inline const char* - xmlns_namespace<char> () - { - return "http://www.w3.org/2000/xmlns/"; - } - - template <> - inline const char* - xsi_prefix<char> () - { - return "xsi"; - } - - template <> - inline const char* - xsi_namespace<char> () - { - return "http://www.w3.org/2001/XMLSchema-instance"; - } - - template <> - inline const char* - type<char> () - { - return "type"; - } - - template <> - inline const char* - nil_lit<char> () - { - return "nil"; - } - - template <> - inline const char* - schema_location<char> () - { - return "schemaLocation"; - } - - template <> - inline const char* - no_namespace_schema_location<char> () - { - return "noNamespaceSchemaLocation"; - } - - template <> - inline const char* - first_prefix<char> () - { - return "p1"; - } - - template <> - inline const char* - second_prefix<char> () - { - return "p2"; - } - - template <> - inline const char* - third_prefix<char> () - { - return "p3"; - } - - template <> - inline const char* - fourth_prefix<char> () - { - return "p4"; - } - - template <> - inline const char* - fifth_prefix<char> () - { - return "p5"; - } - } - } - } -} - -#endif // XSD_CXX_XML_BITS_LITERALS_IXX_CHAR -#endif // XSD_USE_CHAR - - -#if defined(XSD_USE_WCHAR) || !defined(XSD_USE_CHAR) - -#ifndef XSD_CXX_XML_BITS_LITERALS_IXX_WCHAR -#define XSD_CXX_XML_BITS_LITERALS_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace bits - { - template <> - inline const wchar_t* - xml_prefix<wchar_t> () - { - return L"xml"; - } - - template <> - inline const wchar_t* - xml_namespace<wchar_t> () - { - return L"http://www.w3.org/XML/1998/namespace"; - } - - template <> - inline const wchar_t* - xmlns_prefix<wchar_t> () - { - return L"xmlns"; - } - - template <> - inline const wchar_t* - xmlns_namespace<wchar_t> () - { - return L"http://www.w3.org/2000/xmlns/"; - } - - template <> - inline const wchar_t* - xsi_prefix<wchar_t> () - { - return L"xsi"; - } - - template <> - inline const wchar_t* - xsi_namespace<wchar_t> () - { - return L"http://www.w3.org/2001/XMLSchema-instance"; - } - - template <> - inline const wchar_t* - type<wchar_t> () - { - return L"type"; - } - - template <> - inline const wchar_t* - nil_lit<wchar_t> () - { - return L"nil"; - } - - template <> - inline const wchar_t* - schema_location<wchar_t> () - { - return L"schemaLocation"; - } - - template <> - inline const wchar_t* - no_namespace_schema_location<wchar_t> () - { - return L"noNamespaceSchemaLocation"; - } - - template <> - inline const wchar_t* - first_prefix<wchar_t> () - { - return L"p1"; - } - - template <> - inline const wchar_t* - second_prefix<wchar_t> () - { - return L"p2"; - } - - template <> - inline const wchar_t* - third_prefix<wchar_t> () - { - return L"p3"; - } - - template <> - inline const wchar_t* - fourth_prefix<wchar_t> () - { - return L"p4"; - } - - template <> - inline const wchar_t* - fifth_prefix<wchar_t> () - { - return L"p5"; - } - } - } - } -} - -#endif // XSD_CXX_XML_BITS_LITERALS_IXX_WCHAR -#endif // XSD_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.hxx b/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.hxx deleted file mode 100644 index 309e8ef..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.hxx +++ /dev/null @@ -1,71 +0,0 @@ -// file : xsd/cxx/xml/char-iso8859-1.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER_CHAR_ISO8859_1 - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/util/XercesDefs.hpp> // XMLCh - -#include <xsd/cxx/xml/exceptions.hxx> // invalid_utf16_string - -namespace xsd -{ - namespace cxx - { - namespace xml - { - struct iso8859_1_unrepresentable {}; - - // UTF-16 to/from ISO-8859-1 transcoder. - // - template <typename C> - struct char_iso8859_1_transcoder - { - static std::basic_string<C> - to (const XMLCh* s, std::size_t length); - - static XMLCh* - from (const C* s, std::size_t length); - - // Get/set a replacement for unrepresentable characters. If set to - // 0 (the default value), throw iso8859_1_unrepresentable instead. - // - static C - unrep_char () - { - return unrep_char_; - } - - static void - unrep_char (C c) - { - unrep_char_ = c; - } - - private: - static C unrep_char_; - }; - - typedef char_iso8859_1_transcoder<char> char_transcoder; - } - } -} - -#include <xsd/cxx/xml/char-iso8859-1.txx> - -#else -# ifndef XSD_CXX_XML_TRANSCODER_CHAR_ISO8859_1 - // - // If you get this error, it usually means that either you compiled - // your schemas with different --char-encoding values or you included - // some of the libxsd headers (e.g., xsd/cxx/xml/string.hxx) directly - // without first including the correct xsd/cxx/xml/char-*.hxx header. - // -# error conflicting character encoding detected -# endif -#endif // XSD_CXX_XML_TRANSCODER diff --git a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx b/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx deleted file mode 100644 index acef18c..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-iso8859-1.txx +++ /dev/null @@ -1,111 +0,0 @@ -// file : xsd/cxx/xml/char-iso8859-1.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - C char_iso8859_1_transcoder<C>::unrep_char_ = 0; - - template <typename C> - std::basic_string<C> char_iso8859_1_transcoder<C>:: - to (const XMLCh* s, std::size_t len) - { - const XMLCh* end (s + len); - - // Find what the resulting buffer size will be. - // - std::size_t rl (0); - unsigned int u (0); // Four byte UCS-4 char. - - bool valid (true); - const XMLCh* p (s); - - for (; p < end; ++p) - { - if (*p >= 0xD800 && *p <= 0xDBFF) - { - // Make sure we have one more char and it has a valid - // value for the second char in a surrogate pair. - // - if (++p == end || !((*p >= 0xDC00) && (*p <= 0xDFFF))) - { - valid = false; - break; - } - } - - rl++; - } - - if (!valid) - throw invalid_utf16_string (); - - std::basic_string<C> r; - r.reserve (rl + 1); - r.resize (rl); - C* rs (const_cast<C*> (r.c_str ())); - std::size_t i (0); - - p = s; - - // Tight first loop for the common case. - // - for (; p < end && *p < 0x100; ++p) - rs[i++] = C (*p); - - if (p < end && unrep_char_ == 0) - throw iso8859_1_unrepresentable (); - - for (; p < end; ++p) - { - XMLCh x (*p); - - if ((x >= 0xD800) && (x <= 0xDBFF)) - { - u = ((x - 0xD800) << 10) + (*++p - 0xDC00) + 0x10000; - } - else - u = x; - - rs[i++] = u < 0x100 ? C (u) : unrep_char_; - } - - return r; - } - - template <typename C> - XMLCh* char_iso8859_1_transcoder<C>:: - from (const C* s, std::size_t len) - { - const C* end (s + len); - -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> r ( -#else - auto_array<XMLCh> r ( -#endif - new XMLCh[len + 1]); - XMLCh* ir (r.get ()); - - for (const C* p (s); p < end; ++p) - *ir++ = static_cast<unsigned char> (*p); - - *ir = XMLCh (0); - return r.release (); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/char-lcp.hxx b/xsd/libxsd/xsd/cxx/xml/char-lcp.hxx deleted file mode 100644 index ce46229..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-lcp.hxx +++ /dev/null @@ -1,55 +0,0 @@ -// file : xsd/cxx/xml/char-lcp.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER_CHAR_LCP - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/util/XercesDefs.hpp> // XMLCh - -namespace xsd -{ - namespace cxx - { - namespace xml - { - // UTF-16 to/from Xerces-C++ local code page (LCP) transcoder. - // - // Note that this transcoder has a custom interface due to Xerces-C++ - // idiosyncrasies. Don't use it as a base for your custom transcoder. - // - template <typename C> - struct char_lcp_transcoder - { - static std::basic_string<C> - to (const XMLCh* s); - - static std::basic_string<C> - to (const XMLCh* s, std::size_t length); - - static XMLCh* - from (const C* s); - }; - - typedef char_lcp_transcoder<char> char_transcoder; - } - } -} - -#include <xsd/cxx/xml/char-lcp.txx> - -#else -# ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP - // - // If you get this error, it usually means that either you compiled - // your schemas with different --char-encoding values or you included - // some of the libxsd headers (e.g., xsd/cxx/xml/string.hxx) directly - // without first including the correct xsd/cxx/xml/char-*.hxx header. - // -# error conflicting character encoding detected -# endif -#endif // XSD_CXX_XML_TRANSCODER diff --git a/xsd/libxsd/xsd/cxx/xml/char-lcp.txx b/xsd/libxsd/xsd/cxx/xml/char-lcp.txx deleted file mode 100644 index c71d92f..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-lcp.txx +++ /dev/null @@ -1,74 +0,0 @@ -// file : xsd/cxx/xml/char-lcp.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <cstring> // std::memcpy - -#include <xercesc/util/XMLString.hpp> - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -#include <xsd/cxx/xml/std-memory-manager.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - std::basic_string<C> char_lcp_transcoder<C>:: - to (const XMLCh* s) - { - std_memory_manager mm; -#ifdef XSD_CXX11 - std::unique_ptr<C[], std_memory_manager&> r ( -#else - auto_array<C, std_memory_manager> r ( -#endif - xercesc::XMLString::transcode (s, &mm), mm); - return std::basic_string<C> (r.get ()); - } - - template <typename C> - std::basic_string<C> char_lcp_transcoder<C>:: - to (const XMLCh* s, std::size_t len) - { -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> tmp ( -#else - auto_array<XMLCh> tmp ( -#endif - new XMLCh[len + 1]); - std::memcpy (tmp.get (), s, len * sizeof (XMLCh)); - tmp[len] = XMLCh (0); - - std_memory_manager mm; -#ifdef XSD_CXX11 - std::unique_ptr<C[], std_memory_manager&> r ( -#else - auto_array<C, std_memory_manager> r ( -#endif - xercesc::XMLString::transcode (tmp.get (), &mm), mm); - - tmp.reset (); - - return std::basic_string<C> (r.get ()); - } - - template <typename C> - XMLCh* char_lcp_transcoder<C>:: - from (const C* s) - { - std_memory_manager mm; - return xercesc::XMLString::transcode (s, &mm); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/char-utf8.hxx b/xsd/libxsd/xsd/cxx/xml/char-utf8.hxx deleted file mode 100644 index afc923a..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-utf8.hxx +++ /dev/null @@ -1,56 +0,0 @@ -// file : xsd/cxx/xml/char-utf8.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER -#define XSD_CXX_XML_TRANSCODER_CHAR_UTF8 - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/util/XercesDefs.hpp> // XMLCh - -#include <xsd/cxx/xml/exceptions.hxx> // invalid_utf16_string - -namespace xsd -{ - namespace cxx - { - namespace xml - { - struct invalid_utf8_string {}; - - // UTF-16 to/from UTF-8 transcoder. - // - template <typename C> - struct char_utf8_transcoder - { - static std::basic_string<C> - to (const XMLCh* s, std::size_t length); - - static XMLCh* - from (const C* s, std::size_t length); - - private: - static const unsigned char first_byte_mask_[5]; - }; - - typedef char_utf8_transcoder<char> char_transcoder; - } - } -} - -#include <xsd/cxx/xml/char-utf8.txx> - -#else -# ifndef XSD_CXX_XML_TRANSCODER_CHAR_UTF8 - // - // If you get this error, it usually means that either you compiled - // your schemas with different --char-encoding values or you included - // some of the libxsd headers (e.g., xsd/cxx/xml/string.hxx) directly - // without first including the correct xsd/cxx/xml/char-*.hxx header. - // -# error conflicting character encoding detected -# endif -#endif // XSD_CXX_XML_TRANSCODER diff --git a/xsd/libxsd/xsd/cxx/xml/char-utf8.txx b/xsd/libxsd/xsd/cxx/xml/char-utf8.txx deleted file mode 100644 index a6511be..0000000 --- a/xsd/libxsd/xsd/cxx/xml/char-utf8.txx +++ /dev/null @@ -1,303 +0,0 @@ -// file : xsd/cxx/xml/char-utf8.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - const unsigned char char_utf8_transcoder<C>::first_byte_mask_[5] = - { - 0x00, 0x00, 0xC0, 0xE0, 0xF0 - }; - - template <typename C> - std::basic_string<C> char_utf8_transcoder<C>:: - to (const XMLCh* s, std::size_t len) - { - const XMLCh* end (s + len); - - // Find what the resulting buffer size will be. - // - std::size_t rl (0); - unsigned int u (0); // Four byte UCS-4 char. - - bool valid (true); - const XMLCh* p (s); - - for (; p < end; ++p) - { - XMLCh x (*p); - - if (x < 0xD800 || x > 0xDBFF) - u = x; - else - { - // Make sure we have one more char and it has a valid - // value for the second char in a surrogate pair. - // - if (++p == end || !((*p >= 0xDC00) && (*p <= 0xDFFF))) - { - valid = false; - break; - } - - u = ((x - 0xD800) << 10) + (*p - 0xDC00) + 0x10000; - } - - if (u < 0x80) - rl++; - else if (u < 0x800) - rl += 2; - else if (u < 0x10000) - rl += 3; - else if (u < 0x110000) - rl += 4; - else - { - valid = false; - break; - } - } - - if (!valid) - throw invalid_utf16_string (); - - std::basic_string<C> r; - r.reserve (rl + 1); - r.resize (rl); - C* rs (const_cast<C*> (r.c_str ())); - - std::size_t i (0); - unsigned int count (0); - - p = s; - - // Tight first loop for the common case. - // - for (; p < end && *p < 0x80; ++p) - rs[i++] = C (*p); - - for (; p < end; ++p) - { - XMLCh x (*p); - - if ((x >= 0xD800) && (x <= 0xDBFF)) - { - u = ((x - 0xD800) << 10) + (*++p - 0xDC00) + 0x10000; - } - else - u = x; - - if (u < 0x80) - count = 1; - else if (u < 0x800) - count = 2; - else if (u < 0x10000) - count = 3; - else if (u < 0x110000) - count = 4; - - switch(count) - { - case 4: - { - rs[i + 3] = C ((u | 0x80UL) & 0xBFUL); - u >>= 6; - } - case 3: - { - rs[i + 2] = C ((u | 0x80UL) & 0xBFUL); - u >>= 6; - } - case 2: - { - rs[i + 1] = C ((u | 0x80UL) & 0xBFUL); - u >>= 6; - } - case 1: - { - rs[i] = C (u | first_byte_mask_[count]); - } - } - - i += count; - } - - return r; - } - - template <typename C> - XMLCh* char_utf8_transcoder<C>:: - from (const C* s, std::size_t len) - { - bool valid (true); - const C* end (s + len); - - // Find what the resulting buffer size will be. - // - std::size_t rl (0); - unsigned int count (0); - - for (const C* p (s); p < end; ++p) - { - unsigned char c (*p); - - if (c < 0x80) - { - // Fast path. - // - rl += 1; - continue; - } - else if ((c >> 5) == 0x06) - count = 2; - else if ((c >> 4) == 0x0E) - count = 3; - else if ((c >> 3) == 0x1E) - count = 4; - else - { - valid = false; - break; - } - - p += count - 1; // One will be added in the for loop - - if (p + 1 > end) - { - valid = false; - break; - } - - // BMP is represented by up to 3 code points in UTF-8. - // - rl += count > 3 ? 2 : 1; - } - - if (!valid) - throw invalid_utf8_string (); - -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> r ( -#else - auto_array<XMLCh> r ( -#endif - new XMLCh[rl + 1]); - XMLCh* ir (r.get ()); - - unsigned int u (0); // Four byte UCS-4 char. - - for (const C* p (s); p < end; ++p) - { - unsigned char c (*p); - - if (c < 0x80) - { - // Fast path. - // - *ir++ = static_cast<XMLCh> (c); - continue; - } - else if ((c >> 5) == 0x06) - { - // UTF-8: 110yyyyy 10zzzzzz - // Unicode: 00000yyy yyzzzzzz - // - u = (c & 0x1F) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u |= c & 0x3F; - } - else if ((c >> 4) == 0x0E) - { - // UTF-8: 1110xxxx 10yyyyyy 10zzzzzz - // Unicode: xxxxyyyy yyzzzzzz - // - u = (c & 0x0F) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u = (u | (c & 0x3F)) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u |= c & 0x3F; - } - else if ((c >> 3) == 0x1E) - { - // UTF-8: 000wwwxx xxxxyyyy yyzzzzzz - // Unicode: 11110www 10xxxxxx 10yyyyyy 10zzzzzz - // - u = (c & 0x07) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u = (u | (c & 0x3F)) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u = (u | (c & 0x3F)) << 6; - - c = *++p; - if ((c >> 6) != 2) - { - valid = false; - break; - } - u |= c & 0x3F; - } - - if (u & 0xFFFF0000) - { - // Surrogate pair. - // - *ir++ = static_cast<XMLCh> (((u - 0x10000) >> 10) + 0xD800); - *ir++ = static_cast<XMLCh> ((u & 0x3FF) + 0xDC00); - } - else - *ir++ = static_cast<XMLCh> (u); - } - - if (!valid) - throw invalid_utf8_string (); - - *ir = XMLCh (0); - - return r.release (); - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/auto-ptr.hxx b/xsd/libxsd/xsd/cxx/xml/dom/auto-ptr.hxx deleted file mode 100644 index fc8f194..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/auto-ptr.hxx +++ /dev/null @@ -1,233 +0,0 @@ -// file : xsd/cxx/xml/dom/auto-ptr.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_AUTO_PTR_HXX -#define XSD_CXX_XML_DOM_AUTO_PTR_HXX - -#include <xsd/cxx/config.hxx> // XSD_CXX11_* - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -# include <utility> // std::move -# include <type_traits> // std::remove_const -#endif - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { -#ifdef XSD_CXX11 - template <typename T> - struct deleter - { - void - operator() (T* p) const - { - if (p != 0) - const_cast<typename std::remove_const<T>::type*> (p)->release (); - } - }; - -#ifdef XSD_CXX11_TEMPLATE_ALIAS - template <typename T> - using unique_ptr = std::unique_ptr<T, deleter<T>>; -#else - template <typename T> - class unique_ptr: public std::unique_ptr<T, deleter<T>> - { - public: - typedef std::unique_ptr<T, deleter<T>> base; - - typedef typename base::pointer pointer; - typedef T element_type; - typedef deleter<T> deleter_type; - - unique_ptr (): base () {} - explicit unique_ptr (pointer p): base (p) {} - unique_ptr (pointer p, const deleter_type& d): base (p, d) {} - unique_ptr (pointer p, deleter_type&& d): base (p, std::move (d)) {} - unique_ptr (unique_ptr&& p): base (std::move (p)) {} - template <class T1> - unique_ptr (unique_ptr<T1>&& p): base (std::move (p)) {} - template <class T1> - unique_ptr (std::auto_ptr<T1>&& p): base (std::move (p)) {} - - unique_ptr& operator= (unique_ptr&& p) - { - static_cast<base&> (*this) = std::move (p); - return *this; - } - - template <class T1> - unique_ptr& operator= (unique_ptr<T1>&& p) - { - static_cast<base&> (*this) = std::move (p); - return *this; - } - -#ifdef XSD_CXX11_NULLPTR - unique_ptr (std::nullptr_t p): base (p) {} - - unique_ptr& operator= (std::nullptr_t p) - { - static_cast<base&> (*this) = p; - return *this; - } -#endif - }; -#endif // XSD_CXX11_TEMPLATE_ALIAS - -#define XSD_DOM_AUTO_PTR xsd::cxx::xml::dom::unique_ptr - -#else - // Simple auto_ptr version for C++98 that calls release() instead - // of delete. - // - template <typename T> - struct remove_c - { - typedef T r; - }; - - template <typename T> - struct remove_c<const T> - { - typedef T r; - }; - - template <typename T> - struct auto_ptr_ref - { - T* x_; - - explicit - auto_ptr_ref (T* x) - : x_ (x) - { - } - }; - - template <typename T> - struct auto_ptr - { - ~auto_ptr () - { - reset (); - } - - explicit - auto_ptr (T* x = 0) - : x_ (x) - { - } - - auto_ptr (auto_ptr& y) - : x_ (y.release ()) - { - } - - template <typename T2> - auto_ptr (auto_ptr<T2>& y) - : x_ (y.release ()) - { - } - - auto_ptr (auto_ptr_ref<T> r) - : x_ (r.x_) - { - } - - auto_ptr& - operator= (auto_ptr& y) - { - if (x_ != y.x_) - reset (y.release ()); - - return *this; - } - - template <typename T2> - auto_ptr& - operator= (auto_ptr<T2>& y) - { - if (x_ != y.x_) - reset (y.release ()); - - return *this; - } - - auto_ptr& - operator= (auto_ptr_ref<T> r) - { - if (r.x_ != x_) - reset (r.x_); - - return *this; - } - - template <typename T2> - operator auto_ptr_ref<T2> () - { - return auto_ptr_ref<T2> (release ()); - } - - template <typename T2> - operator auto_ptr<T2> () - { - return auto_ptr<T2> (release ()); - } - - public: - T& - operator* () const - { - return *x_; - } - - T* - operator-> () const - { - return x_; - } - - T* - get () const - { - return x_; - } - - T* - release () - { - T* x (x_); - x_ = 0; - return x; - } - - void - reset (T* x = 0) - { - if (x_) - const_cast<typename remove_c<T>::r*> (x_)->release (); - - x_ = x; - } - - private: - T* x_; - }; - -#define XSD_DOM_AUTO_PTR xsd::cxx::xml::dom::auto_ptr - -#endif // XSD_CXX11 - } - } - } -} - -#endif // XSD_CXX_XML_DOM_AUTO_PTR_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.hxx b/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.hxx deleted file mode 100644 index 01111e1..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.hxx +++ /dev/null @@ -1,60 +0,0 @@ -// file : xsd/cxx/xml/dom/bits/error-handler-proxy.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_BITS_ERROR_HANDLER_PROXY_HXX -#define XSD_CXX_XML_DOM_BITS_ERROR_HANDLER_PROXY_HXX - -#include <xercesc/dom/DOMError.hpp> -#include <xercesc/dom/DOMLocator.hpp> -#include <xercesc/dom/DOMErrorHandler.hpp> - -#include <xsd/cxx/xml/error-handler.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - namespace bits - { - template <typename C> - class error_handler_proxy: public xercesc::DOMErrorHandler - { - public: - error_handler_proxy (error_handler<C>& eh) - : failed_ (false), eh_ (&eh), native_eh_ (0) - { - } - - error_handler_proxy (xercesc::DOMErrorHandler& eh) - : failed_ (false), eh_ (0), native_eh_ (&eh) - { - } - - virtual bool - handleError (const xercesc::DOMError& e); - - bool - failed () const - { - return failed_; - } - - private: - bool failed_; - error_handler<C>* eh_; - xercesc::DOMErrorHandler* native_eh_; - }; - } - } - } - } -} - -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.txx> - -#endif // XSD_CXX_XML_DOM_BITS_ERROR_HANDLER_PROXY_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.txx b/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.txx deleted file mode 100644 index 7e5579b..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/bits/error-handler-proxy.txx +++ /dev/null @@ -1,67 +0,0 @@ -// file : xsd/cxx/xml/dom/bits/error-handler-proxy.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/xml/string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - namespace bits - { - template <typename C> - bool error_handler_proxy<C>:: - handleError (const xercesc::DOMError& e) - { - using xercesc::DOMError; - - if (e.getSeverity() != DOMError::DOM_SEVERITY_WARNING) - failed_ = true; - - if (native_eh_) - return native_eh_->handleError (e); - else - { - typedef typename error_handler<C>::severity severity; - - severity s (severity::error); - - switch (e.getSeverity()) - { - case DOMError::DOM_SEVERITY_WARNING: - { - s = severity::warning; - break; - } - case DOMError::DOM_SEVERITY_ERROR: - { - s = severity::error; - break; - } - case DOMError::DOM_SEVERITY_FATAL_ERROR: - { - s = severity::fatal; - break; - } - } - - xercesc::DOMLocator* loc (e.getLocation ()); - - return eh_->handle ( - transcode<C> (loc->getURI ()), - static_cast<unsigned long> (loc->getLineNumber ()), - static_cast<unsigned long> (loc->getColumnNumber ()), - s, - transcode<C> (e.getMessage ())); - } - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/elements.hxx b/xsd/libxsd/xsd/cxx/xml/dom/elements.hxx deleted file mode 100644 index 613b978..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/elements.hxx +++ /dev/null @@ -1,35 +0,0 @@ -// file : xsd/cxx/xml/dom/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_ELEMENTS_HXX -#define XSD_CXX_XML_DOM_ELEMENTS_HXX - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> - -#include <xsd/cxx/xml/qualified-name.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - template <typename C> - qualified_name<C> - name (const xercesc::DOMAttr&); - - template <typename C> - qualified_name<C> - name (const xercesc::DOMElement&); - } - } - } -} - -#include <xsd/cxx/xml/dom/elements.txx> - -#endif // XSD_CXX_XML_DOM_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/elements.txx b/xsd/libxsd/xsd/cxx/xml/dom/elements.txx deleted file mode 100644 index c493676..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/elements.txx +++ /dev/null @@ -1,56 +0,0 @@ -// file : xsd/cxx/xml/dom/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/xml/string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - template <typename C> - qualified_name<C> - name (const xercesc::DOMAttr& a) - { - const XMLCh* n (a.getLocalName ()); - - // If this DOM doesn't support namespaces then use getName. - // - if (n != 0) - { - if (const XMLCh* ns = a.getNamespaceURI ()) - return qualified_name<C> (transcode<C> (n), transcode<C> (ns)); - else - return qualified_name<C> (transcode<C> (n)); - } - else - return qualified_name<C> (transcode<C> (a.getName ())); - } - - - template <typename C> - qualified_name<C> - name (const xercesc::DOMElement& e) - { - const XMLCh* n (e.getLocalName ()); - - // If this DOM doesn't support namespaces then use getTagName. - // - if (n != 0) - { - if (const XMLCh* ns = e.getNamespaceURI ()) - return qualified_name<C> (transcode<C> (n), transcode<C> (ns)); - else - return qualified_name<C> (transcode<C> (n)); - } - else - return qualified_name<C> (transcode<C> (e.getTagName ())); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/parsing-header.hxx b/xsd/libxsd/xsd/cxx/xml/dom/parsing-header.hxx deleted file mode 100644 index f9ec033..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/parsing-header.hxx +++ /dev/null @@ -1,23 +0,0 @@ -// file : xsd/cxx/xml/dom/parsing-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_PARSING_HEADER_HXX -#define XSD_CXX_XML_DOM_PARSING_HEADER_HXX - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - template <typename C> - class parser; - } - } - } -} - -#endif // XSD_CXX_XML_DOM_PARSING_HEADER_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.hxx b/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.hxx deleted file mode 100644 index fac1006..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.hxx +++ /dev/null @@ -1,153 +0,0 @@ -// file : xsd/cxx/xml/dom/parsing-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_PARSING_SOURCE_HXX -#define XSD_CXX_XML_DOM_PARSING_SOURCE_HXX - -#include <string> - -#include <xercesc/dom/DOMNode.hpp> -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMNamedNodeMap.hpp> -#include <xercesc/dom/DOMErrorHandler.hpp> - -#include <xercesc/sax/InputSource.hpp> - -#include <xsd/cxx/xml/elements.hxx> // properies -#include <xsd/cxx/xml/error-handler.hxx> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/elements.hxx> // name -#include <xsd/cxx/xml/dom/parsing-header.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // Parser state object. Can be used for parsing elements (and - // optionally text), attributes, or both. - // - template <typename C> - class parser - { - public: - parser (const xercesc::DOMElement& e, bool ep, bool tp, bool ap); - - // Content parsing. - // - bool - more_content () - { - return next_content_ != 0; - } - - const xercesc::DOMElement& - cur_element () - { - return *static_cast<const xercesc::DOMElement*> (next_content_); - } - - const xercesc::DOMText& - cur_text () - { - return *static_cast<const xercesc::DOMText*> (next_content_); - } - - bool - cur_is_text () - { - return next_content_->getNodeType () != - xercesc::DOMNode::ELEMENT_NODE; - } - - void - next_content (bool text); - - // Attribute parsing. - // - bool - more_attributes () - { - return as_ > ai_; - } - - const xercesc::DOMAttr& - next_attribute () - { - return *static_cast<const xercesc::DOMAttr*> (a_->item (ai_++)); - } - - void - reset_attributes () - { - ai_ = 0; - } - - const xercesc::DOMElement& - element () const - { - return element_; - } - - private: - parser (const parser&); - - parser& - operator= (const parser&); - - private: - const xercesc::DOMElement& element_; - const xercesc::DOMNode* next_content_; - - const xercesc::DOMNamedNodeMap* a_; - XMLSize_t ai_; // Index of the next DOMAttr. - XMLSize_t as_; // Cached size of a_. - }; - - - // Parsing flags. - // - const unsigned long dont_validate = 0x00000400UL; - const unsigned long no_muliple_imports = 0x00000800UL; - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (xercesc::InputSource&, - error_handler<C>&, - const properties<C>&, - unsigned long flags); - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (xercesc::InputSource&, - xercesc::DOMErrorHandler&, - const properties<C>&, - unsigned long flags); - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (const std::basic_string<C>& uri, - error_handler<C>&, - const properties<C>&, - unsigned long flags); - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (const std::basic_string<C>& uri, - xercesc::DOMErrorHandler&, - const properties<C>&, - unsigned long flags); - } - } - } -} - -#include <xsd/cxx/xml/dom/parsing-source.txx> - -#endif // XSD_CXX_XML_DOM_PARSING_SOURCE_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.txx b/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.txx deleted file mode 100644 index c789fa6..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/parsing-source.txx +++ /dev/null @@ -1,380 +0,0 @@ -// file : xsd/cxx/xml/dom/parsing-source.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/dom/DOMLSParser.hpp> -#include <xercesc/dom/DOMLSException.hpp> - -#include <xercesc/dom/DOMNamedNodeMap.hpp> -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> - -#include <xercesc/util/XMLUni.hpp> // xercesc::fg* -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_L, etc - -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // parser - // - template <typename C> - parser<C>:: - parser (const xercesc::DOMElement& e, bool ep, bool tp, bool ap) - : element_ (e), - next_content_ (0), - a_ (0), - ai_ (0) - { - using xercesc::DOMNode; - - if (ep) - { - for (next_content_ = e.getFirstChild ();; - next_content_ = next_content_->getNextSibling ()) - { - if (next_content_ == 0) - break; - - DOMNode::NodeType t (next_content_->getNodeType ()); - - if (t == DOMNode::ELEMENT_NODE) - break; - - if (tp && (t == DOMNode::TEXT_NODE || - t == DOMNode::CDATA_SECTION_NODE)) - break; - } - } - - if (ap) - { - a_ = e.getAttributes (); - as_ = a_->getLength (); - } - } - - template <typename C> - void parser<C>:: - next_content (bool tp) - { - using xercesc::DOMNode; - - for (next_content_ = next_content_->getNextSibling ();; - next_content_ = next_content_->getNextSibling ()) - { - if (next_content_ == 0) - break; - - DOMNode::NodeType t (next_content_->getNodeType ()); - - if (t == DOMNode::ELEMENT_NODE) - break; - - if (tp && (t == DOMNode::TEXT_NODE || - t == DOMNode::CDATA_SECTION_NODE)) - break; - } - } - - // parse() - // - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (xercesc::InputSource& is, - error_handler<C>& eh, - const properties<C>& prop, - unsigned long flags) - { - bits::error_handler_proxy<C> ehp (eh); - return xml::dom::parse (is, ehp, prop, flags); - } - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (xercesc::InputSource& is, - xercesc::DOMErrorHandler& eh, - const properties<C>& prop, - unsigned long flags) - { - using namespace xercesc; - - // Instantiate the DOM parser. - // - const XMLCh ls_id[] = {xercesc::chLatin_L, - xercesc::chLatin_S, - xercesc::chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - XSD_DOM_AUTO_PTR<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - if (flags & dont_validate) - { - conf->setParameter (XMLUni::fgDOMValidate, false); - conf->setParameter (XMLUni::fgXercesSchema, false); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - } - else - { - conf->setParameter (XMLUni::fgDOMValidate, true); - conf->setParameter (XMLUni::fgXercesSchema, true); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - if (!(flags & no_muliple_imports)) - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - // This feature checks the schema grammar for additional - // errors. We most likely do not need it when validating - // instances (assuming the schema is valid). - // - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - } - - // We will release DOM ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - - // Transfer properies if any. - // - - if (!prop.schema_location ().empty ()) - { - xml::string sl (prop.schema_location ()); - const void* v (sl.c_str ()); - - conf->setParameter ( - XMLUni::fgXercesSchemaExternalSchemaLocation, - const_cast<void*> (v)); - } - - if (!prop.no_namespace_schema_location ().empty ()) - { - xml::string sl (prop.no_namespace_schema_location ()); - const void* v (sl.c_str ()); - - conf->setParameter ( - XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation, - const_cast<void*> (v)); - } - - // If external schema location was specified, disable loading - // schemas via the schema location attributes in the document. - // -#if _XERCES_VERSION >= 30100 - if (!prop.schema_location ().empty () || - !prop.no_namespace_schema_location ().empty ()) - { - conf->setParameter (XMLUni::fgXercesLoadSchema, false); - } -#endif - // Set error handler. - // - bits::error_handler_proxy<C> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - xercesc::Wrapper4InputSource wrap (&is, false); - - XSD_DOM_AUTO_PTR<DOMDocument> doc; - try - { - doc.reset (parser->parse (&wrap)); - } - catch (const xercesc::DOMLSException&) - { - } - - if (ehp.failed ()) - doc.reset (); - - return doc; - } - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (const std::basic_string<C>& uri, - error_handler<C>& eh, - const properties<C>& prop, - unsigned long flags) - { - bits::error_handler_proxy<C> ehp (eh); - return xml::dom::parse (uri, ehp, prop, flags); - } - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - parse (const std::basic_string<C>& uri, - xercesc::DOMErrorHandler& eh, - const properties<C>& prop, - unsigned long flags) - { - using namespace xercesc; - - // Instantiate the DOM parser. - // - const XMLCh ls_id[] = {xercesc::chLatin_L, - xercesc::chLatin_S, - xercesc::chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - XSD_DOM_AUTO_PTR<DOMLSParser> parser ( - impl->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - if (flags & dont_validate) - { - conf->setParameter (XMLUni::fgDOMValidate, false); - conf->setParameter (XMLUni::fgXercesSchema, false); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - } - else - { - conf->setParameter (XMLUni::fgDOMValidate, true); - conf->setParameter (XMLUni::fgXercesSchema, true); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - if (!(flags & no_muliple_imports)) - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // This feature checks the schema grammar for additional - // errors. We most likely do not need it when validating - // instances (assuming the schema is valid). - // - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - } - - // We will release DOM ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - - // Transfer properies if any. - // - - if (!prop.schema_location ().empty ()) - { - xml::string sl (prop.schema_location ()); - const void* v (sl.c_str ()); - - conf->setParameter ( - XMLUni::fgXercesSchemaExternalSchemaLocation, - const_cast<void*> (v)); - } - - if (!prop.no_namespace_schema_location ().empty ()) - { - xml::string sl (prop.no_namespace_schema_location ()); - const void* v (sl.c_str ()); - - conf->setParameter ( - XMLUni::fgXercesSchemaExternalNoNameSpaceSchemaLocation, - const_cast<void*> (v)); - } - - // If external schema location was specified, disable loading - // schemas via the schema location attributes in the document. - // -#if _XERCES_VERSION >= 30100 - if (!prop.schema_location ().empty () || - !prop.no_namespace_schema_location ().empty ()) - { - conf->setParameter (XMLUni::fgXercesLoadSchema, false); - } -#endif - // Set error handler. - // - bits::error_handler_proxy<C> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - XSD_DOM_AUTO_PTR<DOMDocument> doc; - try - { - doc.reset (parser->parseURI (string (uri).c_str ())); - } - catch (const xercesc::DOMLSException&) - { - } - - if (ehp.failed ()) - doc.reset (); - - return doc; - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.hxx b/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.hxx deleted file mode 100644 index a3cbff4..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.hxx +++ /dev/null @@ -1,80 +0,0 @@ -// file : xsd/cxx/xml/dom/serialization-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_SERIALIZATION_HEADER_HXX -#define XSD_CXX_XML_DOM_SERIALIZATION_HEADER_HXX - -#include <map> -#include <string> - -#include <xercesc/dom/DOMElement.hpp> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // Find an existing prefix or establish a new one. Try to use - // hint if provided and available. - // - template <typename C> - std::basic_string<C> - prefix (const C* ns, xercesc::DOMElement&, const C* hint = 0); - - template <typename C> - inline std::basic_string<C> - prefix (const std::basic_string<C>& ns, - xercesc::DOMElement& e, - const C* hint = 0) - { - return prefix (ns.c_str (), e, hint); - } - - // - // - template <typename C> - void - clear (xercesc::DOMElement&); - - // - // - template <typename C> - class namespace_info - { - public: - typedef std::basic_string<C> string; - - namespace_info () - { - } - - namespace_info (const string& name_, const string& schema_) - : name (name_), - schema (schema_) - { - } - - std::basic_string<C> name; - std::basic_string<C> schema; - }; - - - // Map of namespace prefix to namespace_info. - // - template <typename C> - class namespace_infomap: - public std::map<std::basic_string<C>, namespace_info<C> > - { - }; - } - } - } -} - -#include <xsd/cxx/xml/dom/serialization-header.txx> - -#endif // XSD_CXX_XML_DOM_SERIALIZATION_HEADER_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.txx b/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.txx deleted file mode 100644 index 6e58cfd..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/serialization-header.txx +++ /dev/null @@ -1,181 +0,0 @@ -// file : xsd/cxx/xml/dom/serialization-header.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <vector> -#include <sstream> -#include <cstddef> // std::size_t - -#include <xercesc/dom/DOMNode.hpp> -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMNamedNodeMap.hpp> - -#include <xercesc/util/XMLUni.hpp> // xercesc::fg* -#include <xercesc/util/XMLString.hpp> -#include <xercesc/validators/schema/SchemaSymbols.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/bits/literals.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // - // - template <typename C> - std::basic_string<C> - prefix (const C* ns, xercesc::DOMElement& e, const C* hint) - { - string xns (ns); - const XMLCh* p (e.lookupPrefix (xns.c_str ())); - - if (p != 0) - return transcode<C> (p); - - if (e.isDefaultNamespace (xns.c_str ())) - return std::basic_string<C> (); - - // 'xml' prefix requires special handling and Xerces folks - // refuse to handle this in DOM so I have to do it myself. - // - if (std::basic_string<C> (ns) == xml::bits::xml_namespace<C> ()) - return xml::bits::xml_prefix<C> (); - - // No prefix for this namespace. Will need to establish one. - // - std::basic_string<C> prefix; - - if (hint != 0 && - e.lookupNamespaceURI (xml::string (hint).c_str ()) == 0) - { - prefix = hint; - } - else - { - for (unsigned long n (1);; ++n) - { - // Make finding the first few prefixes fast. - // - switch (n) - { - case 1: - { - prefix = xml::bits::first_prefix<C> (); - break; - } - case 2: - { - prefix = xml::bits::second_prefix<C> (); - break; - } - case 3: - { - prefix = xml::bits::third_prefix<C> (); - break; - } - case 4: - { - prefix = xml::bits::fourth_prefix<C> (); - break; - } - case 5: - { - prefix = xml::bits::fifth_prefix<C> (); - break; - } - default: - { - std::basic_ostringstream<C> ostr; - ostr << C ('p') << n; - prefix = ostr.str (); - break; - } - } - - if (e.lookupNamespaceURI (xml::string (prefix).c_str ()) == 0) - break; - } - } - - std::basic_string<C> name (xml::bits::xmlns_prefix<C> ()); - name += C(':'); - name += prefix; - - e.setAttributeNS ( - xercesc::XMLUni::fgXMLNSURIName, - xml::string (name).c_str (), - xns.c_str ()); - - return prefix; - } - - // - // - template <typename C> - void - clear (xercesc::DOMElement& e) - { - using namespace xercesc; - - // Remove child nodes. - // - while (xercesc::DOMNode* n = e.getFirstChild ()) - { - e.removeChild (n); - n->release (); - } - - // Remove attributes. - // - DOMNamedNodeMap* att_map (e.getAttributes ()); - XMLSize_t n (att_map->getLength ()); - - if (n != 0) - { - std::vector<DOMAttr*> atts; - - // Collect all attributes to be removed while filtering - // out special cases (xmlns & xsi). - // - for (XMLSize_t i (0); i != n; ++i) - { - DOMAttr* a (static_cast<DOMAttr*> (att_map->item (i))); - const XMLCh* ns (a->getNamespaceURI ()); - - if (ns != 0) - { - if (XMLString::equals (ns, xercesc::XMLUni::fgXMLNSURIName)) - continue; - - if (XMLString::equals (ns, SchemaSymbols::fgURI_XSI)) - { - const XMLCh* name (a->getLocalName ()); - - if (XMLString::equals ( - name, SchemaSymbols::fgXSI_SCHEMALOCACTION) || - XMLString::equals ( - name, SchemaSymbols::fgXSI_NONAMESPACESCHEMALOCACTION)) - continue; - } - } - - atts.push_back (a); - } - - for (std::vector<DOMAttr*>::iterator i (atts.begin ()), - end (atts.end ()); i != end; ++i) - { - e.removeAttributeNode (*i); - (*i)->release (); - } - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.hxx b/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.hxx deleted file mode 100644 index 9056917..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.hxx +++ /dev/null @@ -1,182 +0,0 @@ -// file : xsd/cxx/xml/dom/serialization-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_SERIALIZATION_SOURCE_HXX -#define XSD_CXX_XML_DOM_SERIALIZATION_SOURCE_HXX - -#include <string> -#include <cstring> // std::memcpy -#include <ostream> - -#include <xercesc/dom/DOMAttr.hpp> -#include <xercesc/dom/DOMElement.hpp> -#include <xercesc/dom/DOMDocument.hpp> -#include <xercesc/dom/DOMErrorHandler.hpp> -#include <xercesc/framework/XMLFormatter.hpp> // XMLFormatTarget, XMLFormatter - -#include <xsd/cxx/xml/error-handler.hxx> -#include <xsd/cxx/xml/dom/auto-ptr.hxx> -#include <xsd/cxx/xml/dom/elements.hxx> // name -#include <xsd/cxx/xml/dom/serialization-header.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // - // - template <typename C> - xercesc::DOMAttr& - create_attribute (const C* name, xercesc::DOMElement&); - - template <typename C> - xercesc::DOMAttr& - create_attribute (const C* name, const C* ns, xercesc::DOMElement&); - - template <typename C> - xercesc::DOMElement& - create_element (const C* name, xercesc::DOMElement&); - - template <typename C> - xercesc::DOMElement& - create_element (const C* name, const C* ns, xercesc::DOMElement&); - - // Add namespace declarations and schema locations. - // - template <typename C> - void - add_namespaces (xercesc::DOMElement&, const namespace_infomap<C>&); - - // Serialization flags. - // - const unsigned long no_xml_declaration = 0x00010000UL; - const unsigned long dont_pretty_print = 0x00020000UL; - - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - serialize (const std::basic_string<C>& root_element, - const std::basic_string<C>& root_element_namespace, - const namespace_infomap<C>& map, - unsigned long flags); - - // This one helps Sun C++ to overcome its fears. - // - template <typename C> - inline XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - serialize (const C* root_element, - const C* root_element_namespace, - const namespace_infomap<C>& map, - unsigned long flags) - { - return serialize (std::basic_string<C> (root_element), - std::basic_string<C> (root_element_namespace), - map, - flags); - } - - // - // - template <typename C> - bool - serialize (xercesc::XMLFormatTarget& target, - const xercesc::DOMDocument& doc, - const std::basic_string<C>& enconding, - error_handler<C>& eh, - unsigned long flags); - - template <typename C> - bool - serialize (xercesc::XMLFormatTarget& target, - const xercesc::DOMDocument& doc, - const std::basic_string<C>& enconding, - xercesc::DOMErrorHandler& eh, - unsigned long flags); - - - class ostream_format_target: public xercesc::XMLFormatTarget - { - public: - ostream_format_target (std::ostream& os) - : n_ (0), os_ (os) - { - } - - public: - // I know, some of those consts are stupid. But that's what - // Xerces folks put into their interfaces and VC thinks there - // are different signatures if one strips this fluff off. - // - virtual void - writeChars (const XMLByte* const buf, - const XMLSize_t size, - xercesc::XMLFormatter* const) - { - // Ignore the write request if there was a stream failure and the - // stream is not using exceptions. - // - if (os_.fail ()) - return; - - // Flush the buffer if the block is too large or if we don't have - // any space left. - // - if ((size >= buf_size_ / 8 || n_ + size > buf_size_) && n_ != 0) - { - os_.write (buf_, static_cast<std::streamsize> (n_)); - n_ = 0; - - if (os_.fail ()) - return; - } - - if (size < buf_size_ / 8) - { - std::memcpy (buf_ + n_, reinterpret_cast<const char*> (buf), size); - n_ += size; - } - else - os_.write (reinterpret_cast<const char*> (buf), - static_cast<std::streamsize> (size)); - } - - - virtual void - flush () - { - // Ignore the flush request if there was a stream failure - // and the stream is not using exceptions. - // - if (!os_.fail ()) - { - if (n_ != 0) - { - os_.write (buf_, static_cast<std::streamsize> (n_)); - n_ = 0; - - if (os_.fail ()) - return; - } - - os_.flush (); - } - } - - private: - static const std::size_t buf_size_ = 1024; - char buf_[buf_size_]; - std::size_t n_; - std::ostream& os_; - }; - } - } - } -} - -#include <xsd/cxx/xml/dom/serialization-source.txx> - -#endif // XSD_CXX_XML_DOM_SERIALIZATION_SOURCE_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.txx b/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.txx deleted file mode 100644 index eed1196..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/serialization-source.txx +++ /dev/null @@ -1,363 +0,0 @@ -// file : xsd/cxx/xml/dom/serialization-source.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/util/XMLUni.hpp> // xercesc::fg* -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_L, etc -#include <xercesc/validators/schema/SchemaSymbols.hpp> - -#include <xercesc/dom/DOMLSOutput.hpp> -#include <xercesc/dom/DOMLSSerializer.hpp> - -#include <xercesc/dom/DOMElement.hpp> -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> - -#include <xsd/cxx/xml/string.hxx> -#include <xsd/cxx/xml/bits/literals.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - // - // - template <typename C> - xercesc::DOMAttr& - create_attribute (const C* name, xercesc::DOMElement& parent) - { - xercesc::DOMDocument* doc (parent.getOwnerDocument ()); - xercesc::DOMAttr* a (doc->createAttribute (string (name).c_str ())); - parent.setAttributeNode (a); - return *a; - } - - template <typename C> - xercesc::DOMAttr& - create_attribute (const C* name, - const C* ns, - xercesc::DOMElement& parent) - { - if (ns[0] == C ('\0')) - return create_attribute (name, parent); - - xercesc::DOMDocument* doc (parent.getOwnerDocument ()); - - xercesc::DOMAttr* a; - std::basic_string<C> p (prefix<C> (ns, parent)); - - if (!p.empty ()) - { - p += ':'; - p += name; - a = doc->createAttributeNS (string (ns).c_str (), - string (p).c_str ()); - } - else - a = doc->createAttributeNS (string (ns).c_str (), - string (name).c_str ()); - - parent.setAttributeNodeNS (a); - return *a; - } - - template <typename C> - xercesc::DOMElement& - create_element (const C* name, xercesc::DOMElement& parent) - { - xercesc::DOMDocument* doc (parent.getOwnerDocument ()); - xercesc::DOMElement* e (doc->createElement (string (name).c_str ())); - parent.appendChild (e); - return *e; - } - - template <typename C> - xercesc::DOMElement& - create_element (const C* name, - const C* ns, - xercesc::DOMElement& parent) - { - if (ns[0] == C ('\0')) - return create_element (name, parent); - - xercesc::DOMDocument* doc (parent.getOwnerDocument ()); - - xercesc::DOMElement* e; - std::basic_string<C> p (prefix<C> (ns, parent)); - - if (!p.empty ()) - { - p += ':'; - p += name; - e = doc->createElementNS (string (ns).c_str (), - string (p).c_str ()); - } - else - e = doc->createElementNS (string (ns).c_str (), - string (name).c_str ()); - - parent.appendChild (e); - return *e; - } - - template <typename C> - void - add_namespaces (xercesc::DOMElement& el, - const namespace_infomap<C>& map) - { - using namespace xercesc; - - typedef std::basic_string<C> string; - typedef namespace_infomap<C> infomap; - typedef typename infomap::const_iterator infomap_iterator; - - C colon (':'), space (' '); - - // Check if we need to provide xsi mapping. - // - bool xsi (false); - string xsi_prefix; - string xmlns_prefix (xml::bits::xmlns_prefix<C> ()); - - for (infomap_iterator i (map.begin ()), e (map.end ()); i != e; ++i) - { - if (!i->second.schema.empty ()) - { - xsi = true; - break; - } - } - - // Check if we were told to provide xsi mapping. - // - if (xsi) - { - for (infomap_iterator i (map.begin ()), e (map.end ()); - i != e; - ++i) - { - if (i->second.name == xml::bits::xsi_namespace<C> ()) - { - xsi_prefix = i->first; - xsi = false; - break; - } - } - } - - // Create user-defined mappings. - // - for (infomap_iterator i (map.begin ()), e (map.end ()); i != e; ++i) - { - if (i->first.empty ()) - { - // Empty prefix. - // - if (!i->second.name.empty ()) - el.setAttributeNS ( - xercesc::XMLUni::fgXMLNSURIName, - xml::string (xmlns_prefix).c_str (), - xml::string (i->second.name).c_str ()); - } - else - { - el.setAttributeNS ( - xercesc::XMLUni::fgXMLNSURIName, - xml::string (xmlns_prefix + colon + i->first).c_str (), - xml::string (i->second.name).c_str ()); - } - } - - // If we were not told to provide xsi mapping but we need it - // then we will have to add it ourselves. - // - if (xsi) - xsi_prefix = dom::prefix (xml::bits::xsi_namespace<C> (), - el, - xml::bits::xsi_prefix<C> ()); - - // Create xsi:schemaLocation and xsi:noNamespaceSchemaLocation - // attributes. - // - string schema_location; - string no_namespace_schema_location; - - for (infomap_iterator i (map.begin ()), e (map.end ()); i != e; ++i) - { - if (!i->second.schema.empty ()) - { - if (i->second.name.empty ()) - { - if (!no_namespace_schema_location.empty ()) - no_namespace_schema_location += space; - - no_namespace_schema_location += i->second.schema; - } - else - { - if (!schema_location.empty ()) - schema_location += space; - - schema_location += i->second.name + space + i->second.schema; - } - } - } - - if (!schema_location.empty ()) - { - el.setAttributeNS ( - xercesc::SchemaSymbols::fgURI_XSI, - xml::string (xsi_prefix + colon + - xml::bits::schema_location<C> ()).c_str (), - xml::string (schema_location).c_str ()); - } - - if (!no_namespace_schema_location.empty ()) - { - el.setAttributeNS ( - xercesc::SchemaSymbols::fgURI_XSI, - xml::string ( - xsi_prefix + colon + - xml::bits::no_namespace_schema_location<C> ()).c_str (), - xml::string (no_namespace_schema_location).c_str ()); - } - } - - // - // - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - serialize (const std::basic_string<C>& el, - const std::basic_string<C>& ns, - const namespace_infomap<C>& map, - unsigned long) - { - using namespace xercesc; - - typedef std::basic_string<C> string; - typedef namespace_infomap<C> infomap; - typedef typename infomap::const_iterator infomap_iterator; - - string prefix; - - if (!ns.empty ()) - { - infomap_iterator i (map.begin ()), e (map.end ()); - - for ( ;i != e; ++i) - { - if (i->second.name == ns) - { - prefix = i->first; - break; - } - } - - // Since this is the first namespace in document we don't - // need to worry about conflicts. - // - if (i == e) - prefix = xml::bits::first_prefix<C> (); - } - - const XMLCh ls[] = {xercesc::chLatin_L, - xercesc::chLatin_S, - xercesc::chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls)); - - XSD_DOM_AUTO_PTR<DOMDocument> doc ( - impl->createDocument ( - (ns.empty () ? 0 : xml::string (ns).c_str ()), - xml::string ((prefix.empty () - ? el - : prefix + C (':') + el)).c_str (), - 0)); - - add_namespaces (*doc->getDocumentElement (), map); - - return doc; - } - - - template <typename C> - bool - serialize (xercesc::XMLFormatTarget& target, - const xercesc::DOMDocument& doc, - const std::basic_string<C>& encoding, - xercesc::DOMErrorHandler& eh, - unsigned long flags) - { - using namespace xercesc; - - const XMLCh ls[] = {xercesc::chLatin_L, - xercesc::chLatin_S, - xercesc::chNull}; - - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls)); - - bits::error_handler_proxy<C> ehp (eh); - - XSD_DOM_AUTO_PTR<DOMLSSerializer> writer ( - impl->createLSSerializer ()); - - DOMConfiguration* conf (writer->getDomConfig ()); - - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Set some nice features if the serializer supports them. - // - if (conf->canSetParameter ( - XMLUni::fgDOMWRTDiscardDefaultContent, true)) - conf->setParameter (XMLUni::fgDOMWRTDiscardDefaultContent, true); - - if (!(flags & dont_pretty_print) && - conf->canSetParameter (XMLUni::fgDOMWRTFormatPrettyPrint, true)) - { - conf->setParameter (XMLUni::fgDOMWRTFormatPrettyPrint, true); - - // Don't add extra new lines between first-level elements. - // - if (conf->canSetParameter (XMLUni::fgDOMWRTXercesPrettyPrint, true)) - conf->setParameter (XMLUni::fgDOMWRTXercesPrettyPrint, false); - } - - // See if we need to write XML declaration. - // - if ((flags & no_xml_declaration) && - conf->canSetParameter (XMLUni::fgDOMXMLDeclaration, false)) - conf->setParameter (XMLUni::fgDOMXMLDeclaration, false); - - XSD_DOM_AUTO_PTR<DOMLSOutput> out (impl->createLSOutput ()); - - out->setEncoding (xml::string (encoding).c_str ()); - out->setByteStream (&target); - - if (!writer->write (&doc, out.get ()) || ehp.failed ()) - return false; - - return true; - } - - template <typename C> - bool - serialize (xercesc::XMLFormatTarget& target, - const xercesc::DOMDocument& doc, - const std::basic_string<C>& enconding, - error_handler<C>& eh, - unsigned long flags) - { - bits::error_handler_proxy<C> ehp (eh); - return serialize (target, doc, enconding, ehp, flags); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.hxx b/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.hxx deleted file mode 100644 index 95de764..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.hxx +++ /dev/null @@ -1,30 +0,0 @@ -// file : xsd/cxx/xml/dom/wildcard-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_DOM_WILDCARD_SOURCE_HXX -#define XSD_CXX_XML_DOM_WILDCARD_SOURCE_HXX - -#include <xercesc/dom/DOMDocument.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - create_document (); - } - } - } -} - -#include <xsd/cxx/xml/dom/wildcard-source.txx> - -#endif // XSD_CXX_XML_DOM_WILDCARD_SOURCE_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.txx b/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.txx deleted file mode 100644 index cce6922..0000000 --- a/xsd/libxsd/xsd/cxx/xml/dom/wildcard-source.txx +++ /dev/null @@ -1,37 +0,0 @@ -// file : xsd/cxx/xml/dom/wildcard-source.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_L, etc - -#include <xercesc/dom/DOMImplementation.hpp> -#include <xercesc/dom/DOMImplementationRegistry.hpp> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace dom - { - template <typename C> - XSD_DOM_AUTO_PTR<xercesc::DOMDocument> - create_document () - { - const XMLCh ls[] = {xercesc::chLatin_L, - xercesc::chLatin_S, - xercesc::chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - xercesc::DOMImplementation* impl ( - xercesc::DOMImplementationRegistry::getDOMImplementation (ls)); - - return XSD_DOM_AUTO_PTR<xercesc::DOMDocument> ( - impl->createDocument ()); - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/elements.hxx b/xsd/libxsd/xsd/cxx/xml/elements.hxx deleted file mode 100644 index 107b36d..0000000 --- a/xsd/libxsd/xsd/cxx/xml/elements.hxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : xsd/cxx/xml/elements.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_ELEMENTS_HXX -#define XSD_CXX_XML_ELEMENTS_HXX - -#include <string> - -#include <xercesc/util/XercesVersion.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#if _XERCES_VERSION < 30000 -# error Xerces-C++ 2-series is not supported -#endif - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - class properties - { - public: - struct argument {}; - - - // Schema location properties. Note that all locations are - // relative to an instance document unless they are full - // URIs. For example if you want to use a local schema then - // you will need to use 'file:///absolute/path/to/your/schema'. - // - - // Add a location for a schema with a target namespace. - // - void - schema_location (const std::basic_string<C>& namespace_, - const std::basic_string<C>& location); - - // Add a location for a schema without a target namespace. - // - void - no_namespace_schema_location (const std::basic_string<C>& location); - - public: - const std::basic_string<C>& - schema_location () const - { - return schema_location_; - } - - const std::basic_string<C>& - no_namespace_schema_location () const - { - return no_namespace_schema_location_; - } - - private: - std::basic_string<C> schema_location_; - std::basic_string<C> no_namespace_schema_location_; - }; - - - // - // - - template <typename C> - std::basic_string<C> - prefix (const std::basic_string<C>& n); - - template <typename C> - std::basic_string<C> - uq_name (const std::basic_string<C>& n); - - - // - // - - inline void - initialize () - { - xercesc::XMLPlatformUtils::Initialize (); - } - - inline void - terminate () - { - xercesc::XMLPlatformUtils::Terminate (); - } - - struct auto_initializer - { - auto_initializer (bool initialize = true, bool terminate = true) - : terminate_ (initialize && terminate) - { - if (initialize) - xml::initialize (); - } - - ~auto_initializer () - { - if (terminate_) - terminate (); - } - - private: - bool terminate_; - }; - } - } -} - -#include <xsd/cxx/xml/elements.txx> - -#endif // XSD_CXX_XML_ELEMENTS_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/elements.txx b/xsd/libxsd/xsd/cxx/xml/elements.txx deleted file mode 100644 index 37adcf0..0000000 --- a/xsd/libxsd/xsd/cxx/xml/elements.txx +++ /dev/null @@ -1,72 +0,0 @@ -// file : xsd/cxx/xml/elements.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - namespace xml - { - // properties - // - - template <typename C> - void properties<C>:: - schema_location (const std::basic_string<C>& ns, - const std::basic_string<C>& loc) - { - if (ns.empty () || loc.empty ()) - throw argument (); - - if (!schema_location_.empty ()) - schema_location_ += C (' '); - - schema_location_ += ns + C (' ') + loc; - } - - template <typename C> - void properties<C>:: - no_namespace_schema_location (const std::basic_string<C>& loc) - { - if (loc.empty ()) - throw argument (); - - if (!no_namespace_schema_location_.empty ()) - no_namespace_schema_location_ += C (' '); - - no_namespace_schema_location_ += loc; - } - - - // - // - - template <typename C> - std::basic_string<C> - prefix (const std::basic_string<C>& n) - { - std::size_t i (0); - - while (i < n.length () && n[i] != ':') - ++i; - - return std::basic_string<C> (n, i == n.length () ? i : 0, i); - } - - template <typename C> - std::basic_string<C> - uq_name (const std::basic_string<C>& n) - { - std::size_t i (0); - - while (i < n.length () && n[i] != ':') - ++i; - - return std::basic_string<C> ( - n.c_str () + (i == n.length () ? 0 : i + 1)); - } - } - } -} - diff --git a/xsd/libxsd/xsd/cxx/xml/error-handler.hxx b/xsd/libxsd/xsd/cxx/xml/error-handler.hxx deleted file mode 100644 index 616d081..0000000 --- a/xsd/libxsd/xsd/cxx/xml/error-handler.hxx +++ /dev/null @@ -1,58 +0,0 @@ -// file : xsd/cxx/xml/error-handler.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_ERROR_HANDLER_HXX -#define XSD_CXX_XML_ERROR_HANDLER_HXX - -#include <string> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - class error_handler - { - public: - virtual - ~error_handler () - { - } - - public: - - // The fatal severity level results in termination - // of the parsing process no matter what is returned - // from handle. - // - struct severity - { - enum value - { - warning, - error, - fatal - }; - - severity (value v) : v_ (v) {} - operator value () const { return v_; } - - private: - value v_; - }; - - virtual bool - handle (const std::basic_string<C>& id, - unsigned long line, - unsigned long column, - severity, - const std::basic_string<C>& message) = 0; - }; - } - } -} - -#endif // XSD_CXX_XML_ERROR_HANDLER_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/exceptions.hxx b/xsd/libxsd/xsd/cxx/xml/exceptions.hxx deleted file mode 100644 index ef1ec7a..0000000 --- a/xsd/libxsd/xsd/cxx/xml/exceptions.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : xsd/cxx/xml/exceptions.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_EXCEPTIONS_HXX -#define XSD_CXX_XML_EXCEPTIONS_HXX - -namespace xsd -{ - namespace cxx - { - namespace xml - { - struct invalid_utf16_string {}; - } - } -} - -#endif // XSD_CXX_XML_EXCEPTIONS_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/qualified-name.hxx b/xsd/libxsd/xsd/cxx/xml/qualified-name.hxx deleted file mode 100644 index bfdf4f3..0000000 --- a/xsd/libxsd/xsd/cxx/xml/qualified-name.hxx +++ /dev/null @@ -1,83 +0,0 @@ -// file : xsd/cxx/xml/qualified-name.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_QUALIFIED_NAME_HXX -#define XSD_CXX_XML_QUALIFIED_NAME_HXX - -#include <string> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <typename C> - struct qualified_name - { - qualified_name (const C* name, - const C* namespace_) - : name_ (name), namespace__ (namespace_) - { - } - - qualified_name (const std::basic_string<C>& name, - const std::basic_string<C>& namespace_) - : name_ (name), namespace__ (namespace_) - { - } - - qualified_name (const C* name) - : name_ (name) - { - } - - qualified_name (const std::basic_string<C>& name) - : name_ (name) - { - } - - const std::basic_string<C>& - name () const - { - return name_; - } - - const std::basic_string<C>& - namespace_ () const - { - return namespace__; - } - - private: - std::basic_string<C> name_; - std::basic_string<C> namespace__; - }; - - template <typename C> - inline bool - operator== (const qualified_name<C>& x, const qualified_name<C>& y) - { - return x.name () == y.name () && x.namespace_ () == y.namespace_ (); - } - - template <typename C> - inline bool - operator!= (const qualified_name<C>& x, const qualified_name<C>& y) - { - return !(x == y); - } - - template <typename C> - inline bool - operator< (const qualified_name<C>& x, const qualified_name<C>& y) - { - int r (x.name ().compare (y.name ())); - return (r < 0) || (r == 0 && x.namespace_ () < y.namespace_ ()); - } - } - } -} - -#endif // XSD_CXX_XML_QUALIFIED_NAME_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.hxx b/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.hxx deleted file mode 100644 index 0cfacc2..0000000 --- a/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.hxx +++ /dev/null @@ -1,79 +0,0 @@ -// file : xsd/cxx/xml/sax/bits/error-handler-proxy.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_SAX_ERROR_HANDLER_PROXY_HXX -#define XSD_CXX_XML_SAX_ERROR_HANDLER_PROXY_HXX - -#include <xercesc/sax/ErrorHandler.hpp> -#include <xercesc/sax/SAXParseException.hpp> - -#include <xsd/cxx/xml/error-handler.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace sax - { - namespace bits - { - template <typename C> - class error_handler_proxy: public xercesc::ErrorHandler - { - public: - error_handler_proxy (error_handler<C>& eh) - : failed_ (false), eh_ (&eh), native_eh_ (0) - { - } - - error_handler_proxy (xercesc::ErrorHandler& eh) - : failed_ (false), eh_ (0), native_eh_ (&eh) - { - } - - public: - virtual void - warning (const xercesc::SAXParseException& e); - - virtual void - error (const xercesc::SAXParseException& e); - - virtual void - fatalError (const xercesc::SAXParseException& e); - - public: - bool - failed () const - { - return failed_; - } - - virtual void - resetErrors() - { - failed_ = false; - } - - private: - typedef typename error_handler<C>::severity severity; - - void - handle (const xercesc::SAXParseException&, severity); - - private: - bool failed_; - error_handler<C>* eh_; - xercesc::ErrorHandler* native_eh_; - }; - } - } - } - } -} - -#include <xsd/cxx/xml/sax/bits/error-handler-proxy.txx> - -#endif // XSD_CXX_XML_SAX_ERROR_HANDLER_PROXY_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.txx b/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.txx deleted file mode 100644 index 24b8a3d..0000000 --- a/xsd/libxsd/xsd/cxx/xml/sax/bits/error-handler-proxy.txx +++ /dev/null @@ -1,77 +0,0 @@ -// file : xsd/cxx/xml/sax/bits/error-handler-proxy.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <xsd/cxx/xml/string.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace sax - { - namespace bits - { - template <typename C> - void error_handler_proxy<C>:: - warning (const xercesc::SAXParseException& e) - { - if (native_eh_) - native_eh_->warning (e); - else - handle (e, severity::warning); - } - - - template <typename C> - void error_handler_proxy<C>:: - error (const xercesc::SAXParseException& e) - { - failed_ = true; - - if (native_eh_) - native_eh_->error (e); - else - handle (e, severity::error); - } - - - template <typename C> - void error_handler_proxy<C>:: - fatalError (const xercesc::SAXParseException& e) - { - failed_ = true; - - if (native_eh_) - native_eh_->fatalError (e); - else - handle (e, severity::fatal); - } - - - template <typename C> - void error_handler_proxy<C>:: - handle (const xercesc::SAXParseException& e, severity s) - { - //@@ I do not honor return values from the handler. This - // is not too bad at the moment because I set - // all-errors-are-fatal flag on the parser. - // - const XMLCh* id (e.getPublicId ()); - - if (id == 0) - id = e.getSystemId (); - - eh_->handle (transcode<C> (id), - static_cast<unsigned long> (e.getLineNumber ()), - static_cast<unsigned long> (e.getColumnNumber ()), - s, - transcode<C> (e.getMessage ())); - } - } - } - } - } -} diff --git a/xsd/libxsd/xsd/cxx/xml/sax/std-input-source.hxx b/xsd/libxsd/xsd/cxx/xml/sax/std-input-source.hxx deleted file mode 100644 index 00b2397..0000000 --- a/xsd/libxsd/xsd/cxx/xml/sax/std-input-source.hxx +++ /dev/null @@ -1,152 +0,0 @@ -// file : xsd/cxx/xml/sax/std-input-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_SAX_STD_INPUT_SOURCE_HXX -#define XSD_CXX_XML_SAX_STD_INPUT_SOURCE_HXX - -#include <istream> - -#include <xsd/cxx/xml/string.hxx> - -#include <xercesc/sax/InputSource.hpp> -#include <xercesc/util/BinInputStream.hpp> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace sax - { - class std_input_stream: public xercesc::BinInputStream - { - public: - std_input_stream (std::istream& is) - : is_ (is) - { - } - - virtual XMLFilePos - curPos () const - { - return static_cast<XMLFilePos> (is_.tellg ()); - } - - virtual XMLSize_t - readBytes (XMLByte* const buf, const XMLSize_t size) - { - // Some implementations don't clear gcount if you - // call read() on a stream that is in the eof state. - // - if (is_.eof ()) - return 0; - - // Unset the exception failbit while we are working - // with the stream. - // - std::ios_base::iostate old (is_.exceptions ()); - is_.exceptions (old & ~std::ios_base::failbit); - - is_.read (reinterpret_cast<char*> (buf), - static_cast<std::streamsize> (size)); - - // Clear the fail bit if it was caused by eof and restore - // the original exception state. If there are any pending - // errors then the exception will be thrown now. - // - if (is_.fail () && is_.eof ()) - is_.clear (is_.rdstate () & ~std::ios_base::failbit); - - is_.exceptions (old); - - // Make sure that if we failed, readBytes won't be called - // again. - // - return !is_.fail () - ? static_cast<XMLSize_t> (is_.gcount ()) - : 0; - } - - virtual const XMLCh* - getContentType () const - { - return 0; - } - - private: - std::istream& is_; - }; - - - class std_input_source: public xercesc::InputSource - { - public: - std_input_source (std::istream& is) - : is_ (&is) - { - } - - template <typename C> - std_input_source (std::istream& is, const C* system_id) - : xercesc::InputSource (xml::string (system_id).c_str ()), - is_ (&is) - { - } - - template <typename C> - std_input_source (std::istream& is, - const std::basic_string<C>& system_id) - : xercesc::InputSource (xml::string (system_id).c_str ()), - is_ (&is) - { - } - - template <typename C> - std_input_source (std::istream& is, - const C* system_id, - const C* public_id) - : xercesc::InputSource (xml::string (system_id).c_str (), - xml::string (public_id).c_str ()), - is_ (&is) - { - } - - template <typename C> - std_input_source (std::istream& is, - const std::basic_string<C>& system_id, - const std::basic_string<C>& public_id) - : xercesc::InputSource (xml::string (system_id).c_str (), - xml::string (public_id).c_str ()), - is_ (&is) - { - } - - struct copy {}; - - // Throws the copy exception if this function is called more - // than once. - // - virtual xercesc::BinInputStream* - makeStream () const - { - if (is_ == 0) - throw copy (); - - std::istream& is (*is_); - - is_ = 0; - - return new std_input_stream (is); - } - - private: - mutable std::istream* is_; - }; - } - } - } -} - -#endif // XSD_CXX_XML_SAX_STD_INPUT_SOURCE_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/std-memory-manager.hxx b/xsd/libxsd/xsd/cxx/xml/std-memory-manager.hxx deleted file mode 100644 index e4d6f5b..0000000 --- a/xsd/libxsd/xsd/cxx/xml/std-memory-manager.hxx +++ /dev/null @@ -1,54 +0,0 @@ -// file : xsd/cxx/xml/std-memory-manager.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_STD_MEMORY_MANAGER_HXX -#define XSD_CXX_XML_STD_MEMORY_MANAGER_HXX - -#include <new> // operator new, delete -#include <xercesc/framework/MemoryManager.hpp> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - class std_memory_manager: public xercesc::MemoryManager - { - public: - // Xerces-C++ MemoryManager interface. - // - virtual void* - allocate(XMLSize_t size) - { - return operator new (size); - } - - virtual void - deallocate(void* p) - { - if (p) - operator delete (p); - } - - virtual xercesc::MemoryManager* - getExceptionMemoryManager() - { - return xercesc::XMLPlatformUtils::fgMemoryManager; - } - - // Standard deleter interface. - // - void - operator() (void* p) const - { - if (p) - operator delete (p); - } - }; - } - } -} - -#endif // XSD_CXX_XML_STD_MEMORY_MANAGER_HXX diff --git a/xsd/libxsd/xsd/cxx/xml/string.hxx b/xsd/libxsd/xsd/cxx/xml/string.hxx deleted file mode 100644 index 9f4767b..0000000 --- a/xsd/libxsd/xsd/cxx/xml/string.hxx +++ /dev/null @@ -1,90 +0,0 @@ -// file : xsd/cxx/xml/string.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_STRING_HXX -#define XSD_CXX_XML_STRING_HXX - -#include <string> -#include <cstddef> // std::size_t - -#include <xercesc/util/XercesDefs.hpp> // XMLCh - -#include <xsd/cxx/config.hxx> // XSD_CXX11 - -#ifdef XSD_CXX11 -# include <memory> // std::unique_ptr -#else -# include <xsd/cxx/auto-array.hxx> -#endif - -namespace xsd -{ - namespace cxx - { - namespace xml - { - // Transcode a null-terminated string. - // - template <typename C> - std::basic_string<C> - transcode (const XMLCh* s); - - // Transcode a potentially non-null-terminated string. - // - template <typename C> - std::basic_string<C> - transcode (const XMLCh* s, std::size_t length); - - - // For VC wchar_t and XMLCh are the same type so we cannot overload - // the transcode name. You should not use these functions anyway and - // instead use the xml::string class below. - // - template <typename C> - XMLCh* - transcode_to_xmlch (const C*); - - template <typename C> - XMLCh* - transcode_to_xmlch (const std::basic_string<C>& s); - - // - // - class string - { - public : - template <typename C> - string (const std::basic_string<C>& s) - : s_ (transcode_to_xmlch<C> (s)) {} - - template <typename C> - string (const C* s): s_ (transcode_to_xmlch<C> (s)) {} - - const XMLCh* - c_str () const {return s_.get ();} - - XMLCh* - release () {return s_.release ();} - - private: - string (const string&); - - string& - operator= (const string&); - - private: -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> s_; -#else - auto_array<XMLCh> s_; -#endif - }; - } - } -} - -#endif // XSD_CXX_XML_STRING_HXX - -#include <xsd/cxx/xml/string.ixx> -#include <xsd/cxx/xml/string.txx> diff --git a/xsd/libxsd/xsd/cxx/xml/string.ixx b/xsd/libxsd/xsd/cxx/xml/string.ixx deleted file mode 100644 index ede125e..0000000 --- a/xsd/libxsd/xsd/cxx/xml/string.ixx +++ /dev/null @@ -1,170 +0,0 @@ -// file : xsd/cxx/xml/string.ixx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_STRING_IXX -#define XSD_CXX_XML_STRING_IXX - -#include <xercesc/util/XMLString.hpp> - -// If no transcoder has been included, use the default UTF-8. -// -#ifndef XSD_CXX_XML_TRANSCODER -# include <xsd/cxx/xml/char-utf8.hxx> -#endif - -// We sometimes need this functionality even if we are building for -// wchar_t. -// -namespace xsd -{ - namespace cxx - { - namespace xml - { - template <> - inline std::basic_string<char> - transcode<char> (const XMLCh* s) - { - if (s == 0 || *s == XMLCh (0)) - return std::basic_string<char> (); - -#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP - return char_transcoder::to (s, xercesc::XMLString::stringLen (s)); -#else - return char_transcoder::to (s); -#endif - } - - template <> - inline std::basic_string<char> - transcode<char> (const XMLCh* s, std::size_t len) - { - if (s == 0 || len == 0) - return std::basic_string<char> (); - - return char_transcoder::to (s, len); - } - - template <> - inline XMLCh* - transcode_to_xmlch (const char* s) - { -#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP - return char_transcoder::from (s, std::char_traits<char>::length (s)); -#else - return char_transcoder::from (s); -#endif - } - - template <> - inline XMLCh* - transcode_to_xmlch (const std::basic_string<char>& s) - { -#ifndef XSD_CXX_XML_TRANSCODER_CHAR_LCP - return char_transcoder::from (s.c_str (), s.length ()); -#else - return char_transcoder::from (s.c_str ()); -#endif - } - } - } -} - -#endif // XSD_CXX_XML_STRING_IXX - - -#if defined(XSD_USE_CHAR) || !defined(XSD_USE_WCHAR) - -#ifndef XSD_CXX_XML_STRING_IXX_CHAR -#define XSD_CXX_XML_STRING_IXX_CHAR - -#endif // XSD_CXX_XML_STRING_IXX_CHAR -#endif // XSD_USE_CHAR - - -#if defined(XSD_USE_WCHAR) || !defined(XSD_USE_CHAR) - -#ifndef XSD_CXX_XML_STRING_IXX_WCHAR -#define XSD_CXX_XML_STRING_IXX_WCHAR - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace bits - { - template <typename W, std::size_t S> - struct wchar_transcoder; - - // Specialization for 2-byte wchar_t (resulting encoding is UTF-16). - // - template <typename W> - struct wchar_transcoder<W, 2> - { - static std::basic_string<W> - to (const XMLCh* s, std::size_t length); - - static XMLCh* - from (const W* s, std::size_t length); - }; - - - // Specialization for 4-byte wchar_t (resulting encoding is UCS-4). - // - template <typename W> - struct wchar_transcoder<W, 4> - { - static std::basic_string<W> - to (const XMLCh* s, std::size_t length); - - static XMLCh* - from (const W* s, std::size_t length); - }; - } - - template <> - inline std::basic_string<wchar_t> - transcode<wchar_t> (const XMLCh* s) - { - if (s == 0) - return std::basic_string<wchar_t> (); - - return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::to ( - s, xercesc::XMLString::stringLen (s)); - } - - template <> - inline std::basic_string<wchar_t> - transcode<wchar_t> (const XMLCh* s, std::size_t len) - { - if (s == 0 || len == 0) - return std::basic_string<wchar_t> (); - - return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::to ( - s, len); - } - - template <> - inline XMLCh* - transcode_to_xmlch (const wchar_t* s) - { - return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::from ( - s, std::char_traits<wchar_t>::length (s)); - } - - template <> - inline XMLCh* - transcode_to_xmlch (const std::basic_string<wchar_t>& s) - { - return bits::wchar_transcoder<wchar_t, sizeof (wchar_t)>::from ( - s.c_str (), s.length ()); - } - } - } -} - -#endif // XSD_CXX_XML_STRING_IXX_WCHAR -#endif // XSD_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/xml/string.txx b/xsd/libxsd/xsd/cxx/xml/string.txx deleted file mode 100644 index e6adb98..0000000 --- a/xsd/libxsd/xsd/cxx/xml/string.txx +++ /dev/null @@ -1,162 +0,0 @@ -// file : xsd/cxx/xml/string.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_XML_STRING_TXX -#define XSD_CXX_XML_STRING_TXX - - -#endif // XSD_CXX_XML_STRING_TXX - -#if defined(XSD_USE_WCHAR) || !defined(XSD_USE_CHAR) - -#ifndef XSD_CXX_XML_STRING_TXX_WCHAR -#define XSD_CXX_XML_STRING_TXX_WCHAR - -#include <xsd/cxx/xml/exceptions.hxx> - -namespace xsd -{ - namespace cxx - { - namespace xml - { - namespace bits - { - // wchar_transcoder (specialization for 2-byte wchar_t) - // - template <typename W> - std::basic_string<W> wchar_transcoder<W, 2>:: - to (const XMLCh* s, std::size_t length) - { - std::basic_string<W> r; - r.reserve (length + 1); - r.resize (length); - W* rs (const_cast<W*> (r.c_str ())); - - for (std::size_t i (0); i < length; ++s, ++i) - { - rs[i] = *s; - } - - return r; - } - - template <typename W> - XMLCh* wchar_transcoder<W, 2>:: - from (const W* s, std::size_t length) - { -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> r ( -#else - auto_array<XMLCh> r ( -#endif - new XMLCh[length + 1]); - - XMLCh* ir (r.get ()); - - for (std::size_t i (0); i < length; ++ir, ++i) - { - *ir = static_cast<XMLCh> (s[i]); - } - - *ir = XMLCh (0); - - return r.release (); - } - - - // wchar_transcoder (specialization for 4-byte wchar_t) - // - template <typename W> - std::basic_string<W> wchar_transcoder<W, 4>:: - to (const XMLCh* s, std::size_t length) - { - const XMLCh* end (s + length); - - // Find what the resulting buffer size will be. - // - std::size_t rl (0); - - for (const XMLCh* p (s); p < end; ++p) - { - rl++; - - if ((*p >= 0xD800) && (*p <= 0xDBFF)) - { - // Make sure we have one more char and it has a valid - // value for the second char in a surrogate pair. - // - if (++p == end || !((*p >= 0xDC00) && (*p <= 0xDFFF))) - throw invalid_utf16_string (); - } - } - - std::basic_string<W> r; - r.reserve (rl + 1); - r.resize (rl); - W* rs (const_cast<W*> (r.c_str ())); - - std::size_t i (0); - - for (const XMLCh* p (s); p < end; ++p) - { - XMLCh x (*p); - - if (x < 0xD800 || x > 0xDBFF) - rs[i++] = W (x); - else - rs[i++] = ((x - 0xD800) << 10) + (*++p - 0xDC00) + 0x10000; - } - - return r; - } - - template <typename W> - XMLCh* wchar_transcoder<W, 4>:: - from (const W* s, std::size_t length) - { - // Find what the resulting buffer size will be. - // - std::size_t rl (0); - - for (const W* p (s); p < s + length; ++p) - { - rl += (*p & 0xFFFF0000) ? 2 : 1; - } - -#ifdef XSD_CXX11 - std::unique_ptr<XMLCh[]> r ( -#else - auto_array<XMLCh> r ( -#endif - new XMLCh[rl + 1]); - - XMLCh* ir (r.get ()); - - for (const W* p (s); p < s + length; ++p) - { - W w (*p); - - if (w & 0xFFFF0000) - { - // Surrogate pair. - // - *ir++ = static_cast<XMLCh> (((w - 0x10000) >> 10) + 0xD800); - *ir++ = static_cast<XMLCh> ((w & 0x3FF) + 0xDC00); - } - else - *ir++ = static_cast<XMLCh> (w); - } - - *ir = XMLCh (0); - - return r.release (); - } - } - } - } -} - -#endif // XSD_CXX_XML_STRING_TXX_WCHAR -#endif // XSD_USE_WCHAR diff --git a/xsd/libxsd/xsd/cxx/zc-istream.hxx b/xsd/libxsd/xsd/cxx/zc-istream.hxx deleted file mode 100644 index 440fdd4..0000000 --- a/xsd/libxsd/xsd/cxx/zc-istream.hxx +++ /dev/null @@ -1,216 +0,0 @@ -// file : xsd/cxx/zc-istream.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef XSD_CXX_ZC_ISTREAM_HXX -#define XSD_CXX_ZC_ISTREAM_HXX - -#include <string> -#include <istream> - -#include <xsd/cxx/ro-string.hxx> - -namespace xsd -{ - namespace cxx - { - // Input streambuffer that does not copy the underlying - // buffer (zero copy). - // - template <typename C> - class zc_streambuf: public std::basic_streambuf<C> - { - public: - typedef typename std::basic_streambuf<C>::int_type int_type; - typedef typename std::basic_streambuf<C>::traits_type traits_type; - - public: - zc_streambuf (const ro_string<C>&); - zc_streambuf (const std::basic_string<C>&); - - protected: - virtual std::streamsize - showmanyc (); - - virtual int_type - underflow (); - - private: - void - init (); - - private: - zc_streambuf (const zc_streambuf&); - - zc_streambuf& - operator= (const zc_streambuf&); - - private: - ro_string<C> str_; - }; - - - // Input string stream that does not copy the underlying string. - // - template <typename C> - class zc_istream_base - { - protected: - zc_istream_base (const ro_string<C>&); - zc_istream_base (const std::basic_string<C>&); - - protected: - zc_streambuf<C> buf_; - }; - - template <typename C> - class zc_istream: protected zc_istream_base<C>, - public std::basic_istream<C> - { - typedef std::basic_istream<C> base; - - public: - zc_istream (const ro_string<C>&); - zc_istream (const std::basic_string<C>&); - - bool - exhausted () - { - return this->get () == std::basic_istream<C>::traits_type::eof (); - } - - zc_istream& - operator>> (unsigned char& x) - { - if (check_unsigned ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (signed char& x) - { - if (check_signed ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (unsigned short& x) - { - if (check_unsigned ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (short& x) - { - if (check_signed ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (unsigned int& x) - { - if (check_unsigned ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (int& x) - { - if (check_signed ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (unsigned long& x) - { - if (check_unsigned ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (long& x) - { - if (check_signed ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (unsigned long long& x) - { - if (check_unsigned ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - zc_istream& - operator>> (long long& x) - { - if (check_signed ()) - static_cast<base&> (*this) >> x; - - return *this; - } - - template <typename X> - zc_istream& - operator>> (X& x) - { - static_cast<base&> (*this) >> x; - return *this; - } - - private: - bool - check_signed () - { - typename std::basic_istream<C>::traits_type::int_type p (this->peek ()); - bool r ((p >= C ('0') && p <= C ('9')) || p == C ('-') || p == C ('+')); - - if (!r) - this->setstate (std::ios_base::failbit); - - return r; - } - - bool - check_unsigned () - { - typename std::basic_istream<C>::traits_type::int_type p (this->peek ()); - bool r ((p >= C ('0') && p <= C ('9')) || p == C ('+')); - - if (!r) - this->setstate (std::ios_base::failbit); - - return r; - } - - private: - zc_istream (const zc_istream&); - - zc_istream& - operator= (const zc_istream&); - }; - } -} - -#include <xsd/cxx/zc-istream.txx> - -#endif // XSD_CXX_ZC_ISTREAM_HXX diff --git a/xsd/libxsd/xsd/cxx/zc-istream.txx b/xsd/libxsd/xsd/cxx/zc-istream.txx deleted file mode 100644 index b37e067..0000000 --- a/xsd/libxsd/xsd/cxx/zc-istream.txx +++ /dev/null @@ -1,93 +0,0 @@ -// file : xsd/cxx/zc-istream.txx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -namespace xsd -{ - namespace cxx - { - // zc_streambuf - // - template <typename C> - zc_streambuf<C>:: - zc_streambuf (const ro_string<C>& str) - : str_ (str.data (), str.size ()) - { - init (); - } - - template <typename C> - zc_streambuf<C>:: - zc_streambuf (const std::basic_string<C>& str) - : str_ (str) - { - init (); - } - - template <typename C> - void zc_streambuf<C>:: - init () - { - C* b (const_cast<C*> (str_.data ())); - C* e (b + str_.size ()); - - this->setg (b, b, e); - } - - template <typename C> - std::streamsize zc_streambuf<C>:: - showmanyc () - { - return static_cast<std::streamsize> ( - this->egptr () - this->gptr ()); - } - - template <typename C> - typename zc_streambuf<C>::int_type zc_streambuf<C>:: - underflow () - { - int_type r = traits_type::eof (); - - if (this->gptr () < this->egptr ()) - r = traits_type::to_int_type (*this->gptr ()); - - return r; - } - - - // zc_istream_base - // - template <typename C> - zc_istream_base<C>:: - zc_istream_base (const ro_string<C>& str) - : buf_ (str) - { - } - - template <typename C> - zc_istream_base<C>:: - zc_istream_base (const std::basic_string<C>& str) - : buf_ (str) - { - } - - - // zc_istream - // - template <typename C> - zc_istream<C>:: - zc_istream (const ro_string<C>& str) - : zc_istream_base<C> (str), - std::basic_istream<C> (&this->buf_) - { - } - - template <typename C> - zc_istream<C>:: - zc_istream (const std::basic_string<C>& str) - : zc_istream_base<C> (str), - std::basic_istream<C> (&this->buf_) - { - } - } -} diff --git a/xsd/makefile b/xsd/makefile deleted file mode 100644 index 98e7d62..0000000 --- a/xsd/makefile +++ /dev/null @@ -1,103 +0,0 @@ -# file : makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))build/bootstrap.make - -default := $(out_base)/ -test := $(out_base)/.test -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -dist-pre := $(out_base)/.dist-pre -clean := $(out_base)/.clean - -.PHONY: $(dist-pre) - -$(default): $(out_base)/xsd/ \ - $(out_base)/tests/ \ - $(out_base)/examples/ \ - $(out_base)/doc/ - -# Test. -# -$(test): $(out_base)/tests/.test - - -# Install. -# -$(install): $(out_base)/xsd/.install \ - $(out_base)/libxsd/.install \ - $(out_base)/examples/.install \ - $(out_base)/doc/.install - $(call install-dir,$(src_base)/dist/examples/build,$(install_doc_dir)/xsd/examples/build) - $(call install-dir,$(src_base)/dist/examples/cxx,$(install_doc_dir)/xsd/examples/cxx,-name makefile) - $(call install-data,$(src_base)/dist/examples/makefile,$(install_doc_dir)/xsd/examples/makefile) - $(call install-data,$(src_base)/FLOSSE,$(install_doc_dir)/xsd/FLOSSE) - $(call install-data,$(src_base)/GPLv2,$(install_doc_dir)/xsd/GPLv2) - $(call install-data,$(src_base)/LICENSE,$(install_doc_dir)/xsd/LICENSE) - $(call install-data,$(src_base)/NEWS,$(install_doc_dir)/xsd/NEWS) - $(call install-data,$(src_base)/dist/README-UNIX,$(install_doc_dir)/xsd/README) - - -# Dist. -# -$(dist): $(out_base)/xsd/.dist \ - $(out_base)/libxsd/.dist \ - $(out_base)/examples/.dist \ - $(out_base)/doc/.dist - $(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build) - $(call install-dir,$(src_base)/dist/examples/cxx,$(dist_prefix)/examples/cxx,-name makefile) - $(call install-data,$(src_base)/dist/examples/makefile,$(dist_prefix)/examples/makefile) - $(call install-data,$(src_base)/dist/README-UNIX,$(dist_prefix)/README) - $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/GPLv2) - $(call install-data,$(src_base)/FLOSSE,$(dist_prefix)/FLOSSE) - $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/LICENSE) - $(call install-data,$(src_base)/NEWS,$(dist_prefix)/NEWS) - $(call install-data,$(src_base)/version,$(dist_prefix)/version) - -$(dist-win): $(dist-pre) \ - $(out_base)/xsd/.dist-win \ - $(out_base)/libxsd/.dist-win \ - $(out_base)/examples/.dist-win \ - $(out_base)/doc/.dist-win - $(call install-dir,$(src_base)/dist/etc,$(dist_prefix)/etc) - $(call install-dir,$(src_base)/dist/examples/build,$(dist_prefix)/examples/build) - $(call install-data,$(src_base)/dist/examples/tester.bat,$(dist_prefix)/examples/tester.bat) - $(call install-data,$(src_base)/dist/examples/makefile,$(dist_prefix)/examples/makefile) - $(call install-data,$(src_base)/dist/README-WINDOWS,$(dist_prefix)/README.txt) - $(call message,,todos $(dist_prefix)/README.txt) - $(call install-data,$(src_base)/dist/README-UNIX,$(dist_prefix)/README-CYGWIN.txt) - $(call message,,todos $(dist_prefix)/README-CYGWIN.txt) - $(call install-data,$(src_base)/GPLv2,$(dist_prefix)/GPLv2.txt) - $(call message,,todos $(dist_prefix)/GPLv2.txt) - $(call install-data,$(src_base)/FLOSSE,$(dist_prefix)/FLOSSE.txt) - $(call message,,todos $(dist_prefix)/FLOSSE.txt) - $(call install-data,$(src_base)/LICENSE,$(dist_prefix)/LICENSE.txt) - $(call message,,todos $(dist_prefix)/LICENSE.txt) - $(call install-data,$(src_base)/NEWS,$(dist_prefix)/NEWS.txt) - $(call message,,todos $(dist_prefix)/NEWS.txt) - $(call install-data,$(src_base)/version,$(dist_prefix)/version.txt) - $(call message,,todos $(dist_prefix)/version.txt) - -# We need the project files for the examples copied before we try to -# auto-generate the solution files. So each example target that generates -# solutions should depend in order-only on this target. -# -$(dist-pre): - $(call install-dir,$(src_base)/dist/examples/cxx,$(dist_prefix)/examples/cxx) - -# Clean. -# -$(clean): $(out_base)/xsd/.clean \ - $(out_base)/tests/.clean \ - $(out_base)/examples/.clean \ - $(out_base)/doc/.clean - -$(call include,$(bld_root)/install.make) - -$(call import,$(src_base)/xsd/makefile) -$(call import,$(src_base)/libxsd/makefile) -$(call import,$(src_base)/tests/makefile) -$(call import,$(src_base)/examples/makefile) -$(call import,$(src_base)/doc/makefile) diff --git a/xsd/xsd/options-parser.hxx b/xsd/options-parser.hxx index 0f370cd..afcdf80 100644 --- a/xsd/xsd/options-parser.hxx +++ b/xsd/options-parser.hxx @@ -1,12 +1,11 @@ // file : xsd/options-parser.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef OPTIONS_PARSER_HXX -#define OPTIONS_PARSER_HXX +#ifndef XSD_OPTIONS_PARSER_HXX +#define XSD_OPTIONS_PARSER_HXX -#include <types.hxx> -#include <options.hxx> +#include <xsd/types.hxx> +#include <xsd/options.hxx> namespace cli { @@ -27,4 +26,4 @@ namespace cli }; } -#endif // OPTIONS_PARSER_HXX +#endif // XSD_OPTIONS_PARSER_HXX diff --git a/xsd/xsd/options.cli b/xsd/options.cli index 1ebb38e..3153be9 100644 --- a/xsd/xsd/options.cli +++ b/xsd/options.cli @@ -1,13 +1,15 @@ // file : xsd/options.cli -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file include <cstddef>; // std::size_t +include <cstdint>; // std::uint64_t -include <types.hxx>; // NarrowString, NarrowStrings +include <xsd/types.hxx>; // NarrowString, NarrowStrings class help_options { + std::uint64_t --build2-metadata; // Leave undocumented/hidden. + // These are all documented elsewhere. // bool --help; @@ -104,7 +106,7 @@ class options = 0 anonymous types from the enclosing attributes/elements. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. - Any character can be used as a delimiter instead of \cb{/}. Escaping of + Any character can be used as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. @@ -159,7 +161,7 @@ class options = 0 locations that are specified in the XML Schema include or import elements. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. Any character can - be used as a delimiter instead of \cb{/}. Escaping of the delimiter + be used as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. All the regular expressions are pushed into a stack with the last specified expression considered first. The first match that succeeds is used. @@ -201,7 +203,7 @@ class options = 0 names to file names when the \cb{--file-per-type} option is specified. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. Any character can be - used as a delimiter instead of \cb{/}. Escaping of the delimiter + used as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. All the regular expressions are pushed into a stack with the last specified expression considered first. The first match that succeeds is used. @@ -232,7 +234,7 @@ class options = 0 file names when the \cb{--file-per-type} option is specified. <regex> is a Perl-like regular expression in the form \c{\b{/}\i{pattern}\b{/}\i{replacement}\b{/}}. Any character can be used - as a delimiter instead of \cb{/}. Escaping of the delimiter character in + as a delimiter instead of '\cb{/}'. Escaping of the delimiter character in \ci{pattern} or \ci{replacement} is not supported. All the regular expressions are pushed into a stack with the last specified expression considered first. The first match that succeeds is used. Regular @@ -275,12 +277,19 @@ class options = 0 NarrowString --file-list { "<file>", - "Write a list of generated C++ files to <file>. This option is primarily - useful in the file-per-type compilation mode (\cb{--file-per-type}) to - create a list of generated C++ files, for example, as a makefile - fragment." + "Write a list of generated C++ files to <file> or to \cb{stdout} if + <file> is \cb{-}. This option is primarily useful in the file-per-type + compilation mode (\cb{--file-per-type}) to create a list of generated + C++ files, for example, as a makefile fragment." }; + bool --file-list-only + { + "Only write the list of C++ files that would be generated without + actually generating them. This option only makes sense together with + \cb{--file-list}." + } + NarrowString --file-list-prologue { "<text>", diff --git a/xsd/xsd/cxx/options.cxx b/xsd/pregenerated/xsd/cxx/options.cxx index 1d2e8fd..9eea3a9 100644 --- a/xsd/xsd/cxx/options.cxx +++ b/xsd/pregenerated/xsd/cxx/options.cxx @@ -1,21 +1,25 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // // Begin prologue. // -#include <options-parser.hxx> +#include <xsd/options-parser.hxx> // // End prologue. -#include <cxx/options.hxx> +#include <xsd/cxx/options.hxx> #include <map> #include <set> #include <string> #include <vector> +#include <utility> #include <ostream> #include <sstream> +#include <cstring> namespace cli { @@ -25,13 +29,14 @@ namespace cli static void parse (X& x, bool& xs, scanner& s) { - std::string o (s.next ()); + using namespace std; + const char* o (s.next ()); if (s.more ()) { - std::string v (s.next ()); - std::istringstream is (v); - if (!(is >> x && is.eof ())) + string v (s.next ()); + istringstream is (v); + if (!(is >> x && is.peek () == istringstream::traits_type::eof ())) throw invalid_value (o, v); } else @@ -45,10 +50,31 @@ namespace cli struct parser<bool> { static void - parse (bool& x, scanner& s) + parse (bool& x, bool& xs, scanner& s) { - s.next (); - x = true; + const char* o (s.next ()); + + if (s.more ()) + { + const char* v (s.next ()); + + if (std::strcmp (v, "1") == 0 || + std::strcmp (v, "true") == 0 || + std::strcmp (v, "TRUE") == 0 || + std::strcmp (v, "True") == 0) + x = true; + else if (std::strcmp (v, "0") == 0 || + std::strcmp (v, "false") == 0 || + std::strcmp (v, "FALSE") == 0 || + std::strcmp (v, "False") == 0) + x = false; + else + throw invalid_value (o, v); + } + else + throw missing_value (o); + + xs = true; } }; @@ -70,6 +96,17 @@ namespace cli }; template <typename X> + struct parser<std::pair<X, std::size_t> > + { + static void + parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s) + { + x.second = s.position (); + parser<X>::parse (x.first, xs, s); + } + }; + + template <typename X> struct parser<std::vector<X> > { static void @@ -83,11 +120,11 @@ namespace cli } }; - template <typename X> - struct parser<std::set<X> > + template <typename X, typename C> + struct parser<std::set<X, C> > { static void - parse (std::set<X>& c, bool& xs, scanner& s) + parse (std::set<X, C>& c, bool& xs, scanner& s) { X x; bool dummy; @@ -97,58 +134,98 @@ namespace cli } }; - template <typename K, typename V> - struct parser<std::map<K, V> > + template <typename K, typename V, typename C> + struct parser<std::map<K, V, C> > { static void - parse (std::map<K, V>& m, bool& xs, scanner& s) + parse (std::map<K, V, C>& m, bool& xs, scanner& s) { - std::string o (s.next ()); + const char* o (s.next ()); if (s.more ()) { + std::size_t pos (s.position ()); std::string ov (s.next ()); std::string::size_type p = ov.find ('='); - if (p == std::string::npos) - { - K k = K (); - - if (!ov.empty ()) - { - std::istringstream ks (ov); + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = V (); + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } - else + + if (!vstr.empty ()) { - K k = K (); - V v = V (); - std::string kstr (ov, 0, p); - std::string vstr (ov, p + 1); + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } - if (!kstr.empty ()) - { - std::istringstream ks (kstr); + m[k] = v; + } + else + throw missing_value (o); + + xs = true; + } + }; + + template <typename K, typename V, typename C> + struct parser<std::multimap<K, V, C> > + { + static void + parse (std::multimap<K, V, C>& m, bool& xs, scanner& s) + { + const char* o (s.next ()); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + if (s.more ()) + { + std::size_t pos (s.position ()); + std::string ov (s.next ()); + std::string::size_type p = ov.find ('='); - if (!vstr.empty ()) - { - std::istringstream vs (vstr); + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); - if (!(vs >> v && vs.eof ())) - throw invalid_value (o, ov); - } + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = v; + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } + + if (!vstr.empty ()) + { + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } + + m.insert (typename std::multimap<K, V, C>::value_type (k, v)); } else throw missing_value (o); @@ -164,6 +241,14 @@ namespace cli parser<T>::parse (x.*M, s); } + template <typename X, bool X::*M> + void + thunk (X& x, scanner& s) + { + s.next (); + x.*M = true; + } + template <typename X, typename T, T X::*M, bool X::*S> void thunk (X& x, scanner& s) @@ -173,7 +258,6 @@ namespace cli } #include <map> -#include <cstring> namespace CXX { @@ -182,7 +266,7 @@ namespace CXX options:: options () - : std_ (cxx_version::cxx98), + : std_ (cxx_version::cxx11), std_specified_ (false), char_type_ ("char"), char_type_specified_ (false), @@ -277,19 +361,26 @@ namespace CXX dep_target_specified_ (false), dep_suffix_ (".d"), dep_suffix_specified_ (false), + dep_file_ (), + dep_file_specified_ (false), dep_regex_ (), dep_regex_specified_ (false) { } - void options:: - print_usage (::std::wostream& os) + ::cli::usage_para options:: + print_usage (::std::wostream& os, ::cli::usage_para p) { + CLI_POTENTIALLY_UNUSED (os); + + if (p == ::cli::usage_para::text) + os << ::std::endl; + os << "--std <version> Specify the C++ standard that the generated code" << ::std::endl << " should conform to." << ::std::endl; os << "--char-type <type> Generate code using the provided character <type>" << ::std::endl - << " instead of the default 'char'." << ::std::endl; + << " instead of the default char." << ::std::endl; os << "--char-encoding <enc> Specify the character encoding that should be used" << ::std::endl << " in the generated code." << ::std::endl; @@ -314,36 +405,36 @@ namespace CXX << " C++ namespace names." << ::std::endl; os << "--namespace-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--namespace-regex' option." << ::std::endl; + << " specified with the --namespace-regex option." << ::std::endl; os << "--reserved-name <n>[=<r>] Add name <n> to the list of names that should not" << ::std::endl << " be used as identifiers." << ::std::endl; os << "--include-with-brackets Use angle brackets (<>) instead of quotes (\"\") in" << ::std::endl - << " generated '#include' directives." << ::std::endl; + << " generated #include directives." << ::std::endl; - os << "--include-prefix <prefix> Add <prefix> to generated '#include' directive" << ::std::endl + os << "--include-prefix <prefix> Add <prefix> to generated #include directive" << ::std::endl << " paths." << ::std::endl; os << "--include-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl - << " used to transform '#include' directive paths." << ::std::endl; + << " used to transform #include directive paths." << ::std::endl; os << "--include-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--include-regex' option." << ::std::endl; + << " specified with the --include-regex option." << ::std::endl; os << "--guard-prefix <prefix> Add <prefix> to generated header inclusion guards." << ::std::endl; os << "--hxx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '.hxx' to construct the name of the header file." << ::std::endl; + << " .hxx to construct the name of the header file." << ::std::endl; os << "--ixx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '.ixx' to construct the name of the inline file." << ::std::endl; + << " .ixx to construct the name of the inline file." << ::std::endl; os << "--cxx-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '.cxx' to construct the name of the source file." << ::std::endl; + << " .cxx to construct the name of the source file." << ::std::endl; os << "--fwd-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '-fwd.hxx' to construct the name of the forward" << ::std::endl + << " -fwd.hxx to construct the name of the forward" << ::std::endl << " declaration file." << ::std::endl; os << "--hxx-regex <regex> Use the provided expression to construct the name" << ::std::endl @@ -416,11 +507,11 @@ namespace CXX os << "--export-symbol <symbol> Insert <symbol> in places where DLL export/import" << ::std::endl << " control statements" << ::std::endl - << " ('__declspec(dllexport/dllimport)') are necessary." << ::std::endl; + << " (__declspec(dllexport/dllimport)) are necessary." << ::std::endl; os << "--export-xml-schema Export/import types in the XML Schema namespace" << ::std::endl << " using the export symbol provided with the" << ::std::endl - << " '--export-symbol' option." << ::std::endl; + << " --export-symbol option." << ::std::endl; os << "--export-maps Export polymorphism support maps from a Win32 DLL" << ::std::endl << " into which this generated code is placed." << ::std::endl; @@ -429,20 +520,27 @@ namespace CXX << " executable into which this generated code is" << ::std::endl << " linked." << ::std::endl; - os << "--generate-dep Generate 'make' dependency information." << ::std::endl; + os << "--generate-dep Generate make dependency information." << ::std::endl; - os << "--generate-dep-only Generate 'make' dependency information only." << ::std::endl; + os << "--generate-dep-only Generate make dependency information only." << ::std::endl; os << "--dep-phony Generate phony targets for included/imported" << ::std::endl << " schema files, causing each to depend on nothing." << ::std::endl; os << "--dep-target <target> Change the target of the dependency rule." << ::std::endl; - os << "--dep-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '.d' to construct the name of the dependency file." << ::std::endl; + os << "--dep-suffix <suffix> Use <suffix> instead of the default .d to" << ::std::endl + << " construct the name of the dependency file." << ::std::endl; + + os << "--dep-file <path> Use <path> as the generated dependency file path" << ::std::endl + << " instead of deriving it from the input file name." << ::std::endl; os << "--dep-regex <regex> Use the provided expression to construct the name" << ::std::endl << " of the dependency file." << ::std::endl; + + p = ::cli::usage_para::option; + + return p; } typedef @@ -455,155 +553,158 @@ namespace CXX { _cli_options_map_init () { - _cli_options_map_["--std"] = + _cli_options_map_["--std"] = &::cli::thunk< options, cxx_version, &options::std_, &options::std_specified_ >; - _cli_options_map_["--char-type"] = + _cli_options_map_["--char-type"] = &::cli::thunk< options, NarrowString, &options::char_type_, &options::char_type_specified_ >; - _cli_options_map_["--char-encoding"] = + _cli_options_map_["--char-encoding"] = &::cli::thunk< options, NarrowString, &options::char_encoding_, &options::char_encoding_specified_ >; - _cli_options_map_["--output-dir"] = + _cli_options_map_["--output-dir"] = &::cli::thunk< options, NarrowString, &options::output_dir_, &options::output_dir_specified_ >; - _cli_options_map_["--generate-inline"] = - &::cli::thunk< options, bool, &options::generate_inline_ >; - _cli_options_map_["--generate-xml-schema"] = - &::cli::thunk< options, bool, &options::generate_xml_schema_ >; - _cli_options_map_["--extern-xml-schema"] = + _cli_options_map_["--generate-inline"] = + &::cli::thunk< options, &options::generate_inline_ >; + _cli_options_map_["--generate-xml-schema"] = + &::cli::thunk< options, &options::generate_xml_schema_ >; + _cli_options_map_["--extern-xml-schema"] = &::cli::thunk< options, NarrowString, &options::extern_xml_schema_, &options::extern_xml_schema_specified_ >; - _cli_options_map_["--namespace-map"] = + _cli_options_map_["--namespace-map"] = &::cli::thunk< options, NarrowStrings, &options::namespace_map_, &options::namespace_map_specified_ >; - _cli_options_map_["--namespace-regex"] = + _cli_options_map_["--namespace-regex"] = &::cli::thunk< options, NarrowStrings, &options::namespace_regex_, &options::namespace_regex_specified_ >; - _cli_options_map_["--namespace-regex-trace"] = - &::cli::thunk< options, bool, &options::namespace_regex_trace_ >; - _cli_options_map_["--reserved-name"] = + _cli_options_map_["--namespace-regex-trace"] = + &::cli::thunk< options, &options::namespace_regex_trace_ >; + _cli_options_map_["--reserved-name"] = &::cli::thunk< options, NarrowStrings, &options::reserved_name_, &options::reserved_name_specified_ >; - _cli_options_map_["--include-with-brackets"] = - &::cli::thunk< options, bool, &options::include_with_brackets_ >; - _cli_options_map_["--include-prefix"] = + _cli_options_map_["--include-with-brackets"] = + &::cli::thunk< options, &options::include_with_brackets_ >; + _cli_options_map_["--include-prefix"] = &::cli::thunk< options, NarrowString, &options::include_prefix_, &options::include_prefix_specified_ >; - _cli_options_map_["--include-regex"] = + _cli_options_map_["--include-regex"] = &::cli::thunk< options, NarrowStrings, &options::include_regex_, &options::include_regex_specified_ >; - _cli_options_map_["--include-regex-trace"] = - &::cli::thunk< options, bool, &options::include_regex_trace_ >; - _cli_options_map_["--guard-prefix"] = + _cli_options_map_["--include-regex-trace"] = + &::cli::thunk< options, &options::include_regex_trace_ >; + _cli_options_map_["--guard-prefix"] = &::cli::thunk< options, NarrowString, &options::guard_prefix_, &options::guard_prefix_specified_ >; - _cli_options_map_["--hxx-suffix"] = + _cli_options_map_["--hxx-suffix"] = &::cli::thunk< options, NarrowString, &options::hxx_suffix_, &options::hxx_suffix_specified_ >; - _cli_options_map_["--ixx-suffix"] = + _cli_options_map_["--ixx-suffix"] = &::cli::thunk< options, NarrowString, &options::ixx_suffix_, &options::ixx_suffix_specified_ >; - _cli_options_map_["--cxx-suffix"] = + _cli_options_map_["--cxx-suffix"] = &::cli::thunk< options, NarrowString, &options::cxx_suffix_, &options::cxx_suffix_specified_ >; - _cli_options_map_["--fwd-suffix"] = + _cli_options_map_["--fwd-suffix"] = &::cli::thunk< options, NarrowString, &options::fwd_suffix_, &options::fwd_suffix_specified_ >; - _cli_options_map_["--hxx-regex"] = + _cli_options_map_["--hxx-regex"] = &::cli::thunk< options, NarrowString, &options::hxx_regex_, &options::hxx_regex_specified_ >; - _cli_options_map_["--ixx-regex"] = + _cli_options_map_["--ixx-regex"] = &::cli::thunk< options, NarrowString, &options::ixx_regex_, &options::ixx_regex_specified_ >; - _cli_options_map_["--cxx-regex"] = + _cli_options_map_["--cxx-regex"] = &::cli::thunk< options, NarrowString, &options::cxx_regex_, &options::cxx_regex_specified_ >; - _cli_options_map_["--fwd-regex"] = + _cli_options_map_["--fwd-regex"] = &::cli::thunk< options, NarrowString, &options::fwd_regex_, &options::fwd_regex_specified_ >; - _cli_options_map_["--hxx-prologue"] = + _cli_options_map_["--hxx-prologue"] = &::cli::thunk< options, NarrowStrings, &options::hxx_prologue_, &options::hxx_prologue_specified_ >; - _cli_options_map_["--ixx-prologue"] = + _cli_options_map_["--ixx-prologue"] = &::cli::thunk< options, NarrowStrings, &options::ixx_prologue_, &options::ixx_prologue_specified_ >; - _cli_options_map_["--cxx-prologue"] = + _cli_options_map_["--cxx-prologue"] = &::cli::thunk< options, NarrowStrings, &options::cxx_prologue_, &options::cxx_prologue_specified_ >; - _cli_options_map_["--fwd-prologue"] = + _cli_options_map_["--fwd-prologue"] = &::cli::thunk< options, NarrowStrings, &options::fwd_prologue_, &options::fwd_prologue_specified_ >; - _cli_options_map_["--prologue"] = + _cli_options_map_["--prologue"] = &::cli::thunk< options, NarrowStrings, &options::prologue_, &options::prologue_specified_ >; - _cli_options_map_["--hxx-epilogue"] = + _cli_options_map_["--hxx-epilogue"] = &::cli::thunk< options, NarrowStrings, &options::hxx_epilogue_, &options::hxx_epilogue_specified_ >; - _cli_options_map_["--ixx-epilogue"] = + _cli_options_map_["--ixx-epilogue"] = &::cli::thunk< options, NarrowStrings, &options::ixx_epilogue_, &options::ixx_epilogue_specified_ >; - _cli_options_map_["--cxx-epilogue"] = + _cli_options_map_["--cxx-epilogue"] = &::cli::thunk< options, NarrowStrings, &options::cxx_epilogue_, &options::cxx_epilogue_specified_ >; - _cli_options_map_["--fwd-epilogue"] = + _cli_options_map_["--fwd-epilogue"] = &::cli::thunk< options, NarrowStrings, &options::fwd_epilogue_, &options::fwd_epilogue_specified_ >; - _cli_options_map_["--epilogue"] = + _cli_options_map_["--epilogue"] = &::cli::thunk< options, NarrowStrings, &options::epilogue_, &options::epilogue_specified_ >; - _cli_options_map_["--hxx-prologue-file"] = + _cli_options_map_["--hxx-prologue-file"] = &::cli::thunk< options, NarrowString, &options::hxx_prologue_file_, &options::hxx_prologue_file_specified_ >; - _cli_options_map_["--ixx-prologue-file"] = + _cli_options_map_["--ixx-prologue-file"] = &::cli::thunk< options, NarrowString, &options::ixx_prologue_file_, &options::ixx_prologue_file_specified_ >; - _cli_options_map_["--cxx-prologue-file"] = + _cli_options_map_["--cxx-prologue-file"] = &::cli::thunk< options, NarrowString, &options::cxx_prologue_file_, &options::cxx_prologue_file_specified_ >; - _cli_options_map_["--fwd-prologue-file"] = + _cli_options_map_["--fwd-prologue-file"] = &::cli::thunk< options, NarrowString, &options::fwd_prologue_file_, &options::fwd_prologue_file_specified_ >; - _cli_options_map_["--prologue-file"] = + _cli_options_map_["--prologue-file"] = &::cli::thunk< options, NarrowString, &options::prologue_file_, &options::prologue_file_specified_ >; - _cli_options_map_["--hxx-epilogue-file"] = + _cli_options_map_["--hxx-epilogue-file"] = &::cli::thunk< options, NarrowString, &options::hxx_epilogue_file_, &options::hxx_epilogue_file_specified_ >; - _cli_options_map_["--ixx-epilogue-file"] = + _cli_options_map_["--ixx-epilogue-file"] = &::cli::thunk< options, NarrowString, &options::ixx_epilogue_file_, &options::ixx_epilogue_file_specified_ >; - _cli_options_map_["--cxx-epilogue-file"] = + _cli_options_map_["--cxx-epilogue-file"] = &::cli::thunk< options, NarrowString, &options::cxx_epilogue_file_, &options::cxx_epilogue_file_specified_ >; - _cli_options_map_["--fwd-epilogue-file"] = + _cli_options_map_["--fwd-epilogue-file"] = &::cli::thunk< options, NarrowString, &options::fwd_epilogue_file_, &options::fwd_epilogue_file_specified_ >; - _cli_options_map_["--epilogue-file"] = + _cli_options_map_["--epilogue-file"] = &::cli::thunk< options, NarrowString, &options::epilogue_file_, &options::epilogue_file_specified_ >; - _cli_options_map_["--export-symbol"] = + _cli_options_map_["--export-symbol"] = &::cli::thunk< options, NarrowString, &options::export_symbol_, &options::export_symbol_specified_ >; - _cli_options_map_["--export-xml-schema"] = - &::cli::thunk< options, bool, &options::export_xml_schema_ >; - _cli_options_map_["--export-maps"] = - &::cli::thunk< options, bool, &options::export_maps_ >; - _cli_options_map_["--import-maps"] = - &::cli::thunk< options, bool, &options::import_maps_ >; - _cli_options_map_["--generate-dep"] = - &::cli::thunk< options, bool, &options::generate_dep_ >; - _cli_options_map_["--generate-dep-only"] = - &::cli::thunk< options, bool, &options::generate_dep_only_ >; - _cli_options_map_["--dep-phony"] = - &::cli::thunk< options, bool, &options::dep_phony_ >; - _cli_options_map_["--dep-target"] = + _cli_options_map_["--export-xml-schema"] = + &::cli::thunk< options, &options::export_xml_schema_ >; + _cli_options_map_["--export-maps"] = + &::cli::thunk< options, &options::export_maps_ >; + _cli_options_map_["--import-maps"] = + &::cli::thunk< options, &options::import_maps_ >; + _cli_options_map_["--generate-dep"] = + &::cli::thunk< options, &options::generate_dep_ >; + _cli_options_map_["--generate-dep-only"] = + &::cli::thunk< options, &options::generate_dep_only_ >; + _cli_options_map_["--dep-phony"] = + &::cli::thunk< options, &options::dep_phony_ >; + _cli_options_map_["--dep-target"] = &::cli::thunk< options, NarrowStrings, &options::dep_target_, &options::dep_target_specified_ >; - _cli_options_map_["--dep-suffix"] = + _cli_options_map_["--dep-suffix"] = &::cli::thunk< options, NarrowString, &options::dep_suffix_, &options::dep_suffix_specified_ >; - _cli_options_map_["--dep-regex"] = + _cli_options_map_["--dep-file"] = + &::cli::thunk< options, NarrowString, &options::dep_file_, + &options::dep_file_specified_ >; + _cli_options_map_["--dep-regex"] = &::cli::thunk< options, NarrowString, &options::dep_regex_, &options::dep_regex_specified_ >; } diff --git a/xsd/xsd/cxx/options.hxx b/xsd/pregenerated/xsd/cxx/options.hxx index dea93a0..085aa4c 100644 --- a/xsd/xsd/cxx/options.hxx +++ b/xsd/pregenerated/xsd/cxx/options.hxx @@ -1,9 +1,11 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // -#ifndef CXX_OPTIONS_HXX -#define CXX_OPTIONS_HXX +#ifndef XSD_CXX_OPTIONS_HXX +#define XSD_CXX_OPTIONS_HXX // Begin prologue. // @@ -12,11 +14,11 @@ #include <cstddef> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/option-types.hxx> +#include <xsd/cxx/option-types.hxx> -#include <options.hxx> +#include <xsd/options.hxx> namespace CXX { @@ -311,6 +313,12 @@ namespace CXX dep_suffix_specified () const; const NarrowString& + dep_file () const; + + bool + dep_file_specified () const; + + const NarrowString& dep_regex () const; bool @@ -318,8 +326,9 @@ namespace CXX // Print usage information. // - static void - print_usage (::std::wostream&); + static ::cli::usage_para + print_usage (::std::wostream&, + ::cli::usage_para = ::cli::usage_para::none); // Implementation details. // @@ -425,16 +434,18 @@ namespace CXX bool dep_target_specified_; NarrowString dep_suffix_; bool dep_suffix_specified_; + NarrowString dep_file_; + bool dep_file_specified_; NarrowString dep_regex_; bool dep_regex_specified_; }; } -#include <cxx/options.ixx> +#include <xsd/cxx/options.ixx> // Begin epilogue. // // // End epilogue. -#endif // CXX_OPTIONS_HXX +#endif // XSD_CXX_OPTIONS_HXX diff --git a/xsd/xsd/cxx/options.ixx b/xsd/pregenerated/xsd/cxx/options.ixx index 0a8cafa..8266e31 100644 --- a/xsd/xsd/cxx/options.ixx +++ b/xsd/pregenerated/xsd/cxx/options.ixx @@ -1,4 +1,6 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // @@ -583,6 +585,18 @@ namespace CXX } inline const NarrowString& options:: + dep_file () const + { + return this->dep_file_; + } + + inline bool options:: + dep_file_specified () const + { + return this->dep_file_specified_; + } + + inline const NarrowString& options:: dep_regex () const { return this->dep_regex_; diff --git a/xsd/xsd/cxx/parser/options.cxx b/xsd/pregenerated/xsd/cxx/parser/options.cxx index 6f18446..60667ac 100644 --- a/xsd/xsd/cxx/parser/options.cxx +++ b/xsd/pregenerated/xsd/cxx/parser/options.cxx @@ -1,21 +1,25 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // // Begin prologue. // -#include <options-parser.hxx> +#include <xsd/options-parser.hxx> // // End prologue. -#include <cxx/parser/options.hxx> +#include <xsd/cxx/parser/options.hxx> #include <map> #include <set> #include <string> #include <vector> +#include <utility> #include <ostream> #include <sstream> +#include <cstring> namespace cli { @@ -25,13 +29,14 @@ namespace cli static void parse (X& x, bool& xs, scanner& s) { - std::string o (s.next ()); + using namespace std; + const char* o (s.next ()); if (s.more ()) { - std::string v (s.next ()); - std::istringstream is (v); - if (!(is >> x && is.eof ())) + string v (s.next ()); + istringstream is (v); + if (!(is >> x && is.peek () == istringstream::traits_type::eof ())) throw invalid_value (o, v); } else @@ -45,10 +50,31 @@ namespace cli struct parser<bool> { static void - parse (bool& x, scanner& s) + parse (bool& x, bool& xs, scanner& s) { - s.next (); - x = true; + const char* o (s.next ()); + + if (s.more ()) + { + const char* v (s.next ()); + + if (std::strcmp (v, "1") == 0 || + std::strcmp (v, "true") == 0 || + std::strcmp (v, "TRUE") == 0 || + std::strcmp (v, "True") == 0) + x = true; + else if (std::strcmp (v, "0") == 0 || + std::strcmp (v, "false") == 0 || + std::strcmp (v, "FALSE") == 0 || + std::strcmp (v, "False") == 0) + x = false; + else + throw invalid_value (o, v); + } + else + throw missing_value (o); + + xs = true; } }; @@ -70,6 +96,17 @@ namespace cli }; template <typename X> + struct parser<std::pair<X, std::size_t> > + { + static void + parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s) + { + x.second = s.position (); + parser<X>::parse (x.first, xs, s); + } + }; + + template <typename X> struct parser<std::vector<X> > { static void @@ -83,11 +120,11 @@ namespace cli } }; - template <typename X> - struct parser<std::set<X> > + template <typename X, typename C> + struct parser<std::set<X, C> > { static void - parse (std::set<X>& c, bool& xs, scanner& s) + parse (std::set<X, C>& c, bool& xs, scanner& s) { X x; bool dummy; @@ -97,58 +134,98 @@ namespace cli } }; - template <typename K, typename V> - struct parser<std::map<K, V> > + template <typename K, typename V, typename C> + struct parser<std::map<K, V, C> > { static void - parse (std::map<K, V>& m, bool& xs, scanner& s) + parse (std::map<K, V, C>& m, bool& xs, scanner& s) { - std::string o (s.next ()); + const char* o (s.next ()); if (s.more ()) { + std::size_t pos (s.position ()); std::string ov (s.next ()); std::string::size_type p = ov.find ('='); - if (p == std::string::npos) - { - K k = K (); - - if (!ov.empty ()) - { - std::istringstream ks (ov); + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = V (); + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } - else + + if (!vstr.empty ()) { - K k = K (); - V v = V (); - std::string kstr (ov, 0, p); - std::string vstr (ov, p + 1); + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } - if (!kstr.empty ()) - { - std::istringstream ks (kstr); + m[k] = v; + } + else + throw missing_value (o); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + xs = true; + } + }; - if (!vstr.empty ()) - { - std::istringstream vs (vstr); + template <typename K, typename V, typename C> + struct parser<std::multimap<K, V, C> > + { + static void + parse (std::multimap<K, V, C>& m, bool& xs, scanner& s) + { + const char* o (s.next ()); - if (!(vs >> v && vs.eof ())) - throw invalid_value (o, ov); - } + if (s.more ()) + { + std::size_t pos (s.position ()); + std::string ov (s.next ()); + std::string::size_type p = ov.find ('='); + + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); + + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; + + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); + } - m[k] = v; + if (!vstr.empty ()) + { + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); } + + m.insert (typename std::multimap<K, V, C>::value_type (k, v)); } else throw missing_value (o); @@ -164,6 +241,14 @@ namespace cli parser<T>::parse (x.*M, s); } + template <typename X, bool X::*M> + void + thunk (X& x, scanner& s) + { + s.next (); + x.*M = true; + } + template <typename X, typename T, T X::*M, bool X::*S> void thunk (X& x, scanner& s) @@ -173,7 +258,6 @@ namespace cli } #include <map> -#include <cstring> namespace CXX { @@ -383,9 +467,14 @@ namespace CXX _parse (s, opt, arg); } - void options:: - print_usage (::std::wostream& os) + ::cli::usage_para options:: + print_usage (::std::wostream& os, ::cli::usage_para p) { + CLI_POTENTIALLY_UNUSED (os); + + if (p == ::cli::usage_para::text) + os << ::std::endl; + os << "--type-map <mapfile> Read XML Schema to C++ type mapping information" << ::std::endl << " from <mapfile>." << ::std::endl; @@ -401,7 +490,7 @@ namespace CXX << " nothing (no operation)." << ::std::endl; os << "--generate-print-impl Generate a sample parser implementation that" << ::std::endl - << " prints the XML data to 'STDOUT'." << ::std::endl; + << " prints the XML data to STDOUT." << ::std::endl; os << "--generate-test-driver Generate a test driver for the sample parser" << ::std::endl << " implementation." << ::std::endl; @@ -418,21 +507,25 @@ namespace CXX os << "--root-element <element> Indicate that <element> is the document root." << ::std::endl; os << "--skel-type-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '_pskel' to construct the names of the generated" << ::std::endl + << " _pskel to construct the names of the generated" << ::std::endl << " parser skeletons." << ::std::endl; os << "--skel-file-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '-pskel' to construct the names of the generated" << ::std::endl + << " -pskel to construct the names of the generated" << ::std::endl << " parser skeleton files." << ::std::endl; os << "--impl-type-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '_pimpl' to construct the names of the parser" << ::std::endl + << " _pimpl to construct the names of the parser" << ::std::endl << " implementations for the built-in XML Schema types" << ::std::endl << " as well as sample parser implementations." << ::std::endl; os << "--impl-file-suffix <suffix> Use the provided <suffix> instead of the default" << ::std::endl - << " '-pimpl' to construct the names of the generated" << ::std::endl + << " -pimpl to construct the names of the generated" << ::std::endl << " sample parser implementation files." << ::std::endl; + + p = ::cli::usage_para::option; + + return p; } typedef @@ -445,43 +538,43 @@ namespace CXX { _cli_options_map_init () { - _cli_options_map_["--type-map"] = + _cli_options_map_["--type-map"] = &::cli::thunk< options, NarrowStrings, &options::type_map_, &options::type_map_specified_ >; - _cli_options_map_["--xml-parser"] = + _cli_options_map_["--xml-parser"] = &::cli::thunk< options, NarrowString, &options::xml_parser_, &options::xml_parser_specified_ >; - _cli_options_map_["--generate-validation"] = - &::cli::thunk< options, bool, &options::generate_validation_ >; - _cli_options_map_["--suppress-validation"] = - &::cli::thunk< options, bool, &options::suppress_validation_ >; - _cli_options_map_["--generate-polymorphic"] = - &::cli::thunk< options, bool, &options::generate_polymorphic_ >; - _cli_options_map_["--generate-noop-impl"] = - &::cli::thunk< options, bool, &options::generate_noop_impl_ >; - _cli_options_map_["--generate-print-impl"] = - &::cli::thunk< options, bool, &options::generate_print_impl_ >; - _cli_options_map_["--generate-test-driver"] = - &::cli::thunk< options, bool, &options::generate_test_driver_ >; - _cli_options_map_["--force-overwrite"] = - &::cli::thunk< options, bool, &options::force_overwrite_ >; - _cli_options_map_["--root-element-first"] = - &::cli::thunk< options, bool, &options::root_element_first_ >; - _cli_options_map_["--root-element-last"] = - &::cli::thunk< options, bool, &options::root_element_last_ >; - _cli_options_map_["--root-element"] = + _cli_options_map_["--generate-validation"] = + &::cli::thunk< options, &options::generate_validation_ >; + _cli_options_map_["--suppress-validation"] = + &::cli::thunk< options, &options::suppress_validation_ >; + _cli_options_map_["--generate-polymorphic"] = + &::cli::thunk< options, &options::generate_polymorphic_ >; + _cli_options_map_["--generate-noop-impl"] = + &::cli::thunk< options, &options::generate_noop_impl_ >; + _cli_options_map_["--generate-print-impl"] = + &::cli::thunk< options, &options::generate_print_impl_ >; + _cli_options_map_["--generate-test-driver"] = + &::cli::thunk< options, &options::generate_test_driver_ >; + _cli_options_map_["--force-overwrite"] = + &::cli::thunk< options, &options::force_overwrite_ >; + _cli_options_map_["--root-element-first"] = + &::cli::thunk< options, &options::root_element_first_ >; + _cli_options_map_["--root-element-last"] = + &::cli::thunk< options, &options::root_element_last_ >; + _cli_options_map_["--root-element"] = &::cli::thunk< options, NarrowString, &options::root_element_, &options::root_element_specified_ >; - _cli_options_map_["--skel-type-suffix"] = + _cli_options_map_["--skel-type-suffix"] = &::cli::thunk< options, NarrowString, &options::skel_type_suffix_, &options::skel_type_suffix_specified_ >; - _cli_options_map_["--skel-file-suffix"] = + _cli_options_map_["--skel-file-suffix"] = &::cli::thunk< options, NarrowString, &options::skel_file_suffix_, &options::skel_file_suffix_specified_ >; - _cli_options_map_["--impl-type-suffix"] = + _cli_options_map_["--impl-type-suffix"] = &::cli::thunk< options, NarrowString, &options::impl_type_suffix_, &options::impl_type_suffix_specified_ >; - _cli_options_map_["--impl-file-suffix"] = + _cli_options_map_["--impl-file-suffix"] = &::cli::thunk< options, NarrowString, &options::impl_file_suffix_, &options::impl_file_suffix_specified_ >; } @@ -508,11 +601,16 @@ namespace CXX return false; } - void options:: + bool options:: _parse (::cli::scanner& s, ::cli::unknown_mode opt_mode, ::cli::unknown_mode arg_mode) { + // Can't skip combined flags (--no-combined-flags). + // + assert (opt_mode != ::cli::unknown_mode::skip); + + bool r = false; bool opt = true; while (s.more ()) @@ -521,55 +619,152 @@ namespace CXX if (std::strcmp (o, "--") == 0) { - s.skip (); opt = false; + s.skip (); + r = true; continue; } - if (opt && _parse (o, s)); - else if (opt && std::strncmp (o, "-", 1) == 0 && o[1] != '\0') + if (opt) { - switch (opt_mode) + if (_parse (o, s)) { - case ::cli::unknown_mode::skip: - { - s.skip (); - continue; - } - case ::cli::unknown_mode::stop: - { - break; - } - case ::cli::unknown_mode::fail: - { - throw ::cli::unknown_option (o); - } + r = true; + continue; } - break; - } - else - { - switch (arg_mode) + if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0') { - case ::cli::unknown_mode::skip: + // Handle combined option values. + // + std::string co; + if (const char* v = std::strchr (o, '=')) { - s.skip (); - continue; + co.assign (o, 0, v - o); + ++v; + + int ac (2); + char* av[] = + { + const_cast<char*> (co.c_str ()), + const_cast<char*> (v) + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (_parse (co.c_str (), ns)) + { + // Parsed the option but not its value? + // + if (ns.end () != 2) + throw ::cli::invalid_value (co, v); + + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = co.c_str (); + } } - case ::cli::unknown_mode::stop: + + // Handle combined flags. + // + char cf[3]; { - break; + const char* p = o + 1; + for (; *p != '\0'; ++p) + { + if (!((*p >= 'a' && *p <= 'z') || + (*p >= 'A' && *p <= 'Z') || + (*p >= '0' && *p <= '9'))) + break; + } + + if (*p == '\0') + { + for (p = o + 1; *p != '\0'; ++p) + { + std::strcpy (cf, "-"); + cf[1] = *p; + cf[2] = '\0'; + + int ac (1); + char* av[] = + { + cf + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (!_parse (cf, ns)) + break; + } + + if (*p == '\0') + { + // All handled. + // + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = cf; + } + } } - case ::cli::unknown_mode::fail: + + switch (opt_mode) { - throw ::cli::unknown_argument (o); + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_option (o); + } } + + break; } + } - break; + switch (arg_mode) + { + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_argument (o); + } } + + break; } + + return r; } } } diff --git a/xsd/xsd/cxx/parser/options.hxx b/xsd/pregenerated/xsd/cxx/parser/options.hxx index 976f93b..03b67fd 100644 --- a/xsd/xsd/cxx/parser/options.hxx +++ b/xsd/pregenerated/xsd/cxx/parser/options.hxx @@ -1,9 +1,11 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // -#ifndef CXX_PARSER_OPTIONS_HXX -#define CXX_PARSER_OPTIONS_HXX +#ifndef XSD_CXX_PARSER_OPTIONS_HXX +#define XSD_CXX_PARSER_OPTIONS_HXX // Begin prologue. // @@ -12,9 +14,9 @@ #include <cstddef> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/options.hxx> +#include <xsd/cxx/options.hxx> namespace CXX { @@ -23,6 +25,8 @@ namespace CXX class options: public ::CXX::options { public: + options (); + options (int& argc, char** argv, bool erase = false, @@ -55,8 +59,6 @@ namespace CXX ::cli::unknown_mode option = ::cli::unknown_mode::fail, ::cli::unknown_mode argument = ::cli::unknown_mode::stop); - options (); - // Option accessors. // const NarrowStrings& @@ -130,8 +132,9 @@ namespace CXX // Print usage information. // - static void - print_usage (::std::wostream&); + static ::cli::usage_para + print_usage (::std::wostream&, + ::cli::usage_para = ::cli::usage_para::none); // Implementation details. // @@ -140,7 +143,7 @@ namespace CXX _parse (const char*, ::cli::scanner&); private: - void + bool _parse (::cli::scanner&, ::cli::unknown_mode option, ::cli::unknown_mode argument); @@ -173,11 +176,11 @@ namespace CXX } } -#include <cxx/parser/options.ixx> +#include <xsd/cxx/parser/options.ixx> // Begin epilogue. // // // End epilogue. -#endif // CXX_PARSER_OPTIONS_HXX +#endif // XSD_CXX_PARSER_OPTIONS_HXX diff --git a/xsd/xsd/cxx/parser/options.ixx b/xsd/pregenerated/xsd/cxx/parser/options.ixx index 22ab11d..64c00c5 100644 --- a/xsd/xsd/cxx/parser/options.ixx +++ b/xsd/pregenerated/xsd/cxx/parser/options.ixx @@ -1,4 +1,6 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // diff --git a/xsd/xsd/cxx/tree/options.cxx b/xsd/pregenerated/xsd/cxx/tree/options.cxx index 820ebac..17214c1 100644 --- a/xsd/xsd/cxx/tree/options.cxx +++ b/xsd/pregenerated/xsd/cxx/tree/options.cxx @@ -1,21 +1,25 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // // Begin prologue. // -#include <options-parser.hxx> +#include <xsd/options-parser.hxx> // // End prologue. -#include <cxx/tree/options.hxx> +#include <xsd/cxx/tree/options.hxx> #include <map> #include <set> #include <string> #include <vector> +#include <utility> #include <ostream> #include <sstream> +#include <cstring> namespace cli { @@ -25,13 +29,14 @@ namespace cli static void parse (X& x, bool& xs, scanner& s) { - std::string o (s.next ()); + using namespace std; + const char* o (s.next ()); if (s.more ()) { - std::string v (s.next ()); - std::istringstream is (v); - if (!(is >> x && is.eof ())) + string v (s.next ()); + istringstream is (v); + if (!(is >> x && is.peek () == istringstream::traits_type::eof ())) throw invalid_value (o, v); } else @@ -45,10 +50,31 @@ namespace cli struct parser<bool> { static void - parse (bool& x, scanner& s) + parse (bool& x, bool& xs, scanner& s) { - s.next (); - x = true; + const char* o (s.next ()); + + if (s.more ()) + { + const char* v (s.next ()); + + if (std::strcmp (v, "1") == 0 || + std::strcmp (v, "true") == 0 || + std::strcmp (v, "TRUE") == 0 || + std::strcmp (v, "True") == 0) + x = true; + else if (std::strcmp (v, "0") == 0 || + std::strcmp (v, "false") == 0 || + std::strcmp (v, "FALSE") == 0 || + std::strcmp (v, "False") == 0) + x = false; + else + throw invalid_value (o, v); + } + else + throw missing_value (o); + + xs = true; } }; @@ -70,6 +96,17 @@ namespace cli }; template <typename X> + struct parser<std::pair<X, std::size_t> > + { + static void + parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s) + { + x.second = s.position (); + parser<X>::parse (x.first, xs, s); + } + }; + + template <typename X> struct parser<std::vector<X> > { static void @@ -83,11 +120,11 @@ namespace cli } }; - template <typename X> - struct parser<std::set<X> > + template <typename X, typename C> + struct parser<std::set<X, C> > { static void - parse (std::set<X>& c, bool& xs, scanner& s) + parse (std::set<X, C>& c, bool& xs, scanner& s) { X x; bool dummy; @@ -97,58 +134,98 @@ namespace cli } }; - template <typename K, typename V> - struct parser<std::map<K, V> > + template <typename K, typename V, typename C> + struct parser<std::map<K, V, C> > { static void - parse (std::map<K, V>& m, bool& xs, scanner& s) + parse (std::map<K, V, C>& m, bool& xs, scanner& s) { - std::string o (s.next ()); + const char* o (s.next ()); if (s.more ()) { + std::size_t pos (s.position ()); std::string ov (s.next ()); std::string::size_type p = ov.find ('='); - if (p == std::string::npos) - { - K k = K (); - - if (!ov.empty ()) - { - std::istringstream ks (ov); + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = V (); + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } - else + + if (!vstr.empty ()) { - K k = K (); - V v = V (); - std::string kstr (ov, 0, p); - std::string vstr (ov, p + 1); + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } - if (!kstr.empty ()) - { - std::istringstream ks (kstr); + m[k] = v; + } + else + throw missing_value (o); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + xs = true; + } + }; - if (!vstr.empty ()) - { - std::istringstream vs (vstr); + template <typename K, typename V, typename C> + struct parser<std::multimap<K, V, C> > + { + static void + parse (std::multimap<K, V, C>& m, bool& xs, scanner& s) + { + const char* o (s.next ()); - if (!(vs >> v && vs.eof ())) - throw invalid_value (o, ov); - } + if (s.more ()) + { + std::size_t pos (s.position ()); + std::string ov (s.next ()); + std::string::size_type p = ov.find ('='); + + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); + + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; + + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); + } - m[k] = v; + if (!vstr.empty ()) + { + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); } + + m.insert (typename std::multimap<K, V, C>::value_type (k, v)); } else throw missing_value (o); @@ -164,6 +241,14 @@ namespace cli parser<T>::parse (x.*M, s); } + template <typename X, bool X::*M> + void + thunk (X& x, scanner& s) + { + s.next (); + x.*M = true; + } + template <typename X, typename T, T X::*M, bool X::*S> void thunk (X& x, scanner& s) @@ -173,7 +258,6 @@ namespace cli } #include <map> -#include <cstring> namespace CXX { @@ -725,9 +809,14 @@ namespace CXX _parse (s, opt, arg); } - void options:: - print_usage (::std::wostream& os) + ::cli::usage_para options:: + print_usage (::std::wostream& os, ::cli::usage_para p) { + CLI_POTENTIALLY_UNUSED (os); + + if (p == ::cli::usage_para::text) + os << ::std::endl; + os << "--generate-polymorphic Generate polymorphism-aware code." << ::std::endl; os << "--polymorphic-type <type> Indicate that <type> is a root of a polymorphic" << ::std::endl @@ -753,19 +842,18 @@ namespace CXX os << "--order-container <type> Specify a custom class template that should be" << ::std::endl << " used as a container for the content order in" << ::std::endl - << " ordered types instead of the default" << ::std::endl - << " 'std::vector'." << ::std::endl; + << " ordered types instead of the default std::vector." << ::std::endl; os << "--generate-serialization Generate serialization functions." << ::std::endl; - os << "--generate-ostream Generate ostream insertion operators" << ::std::endl - << " ('operator<<') for generated types." << ::std::endl; + os << "--generate-ostream Generate ostream insertion operators (operator<<)" << ::std::endl + << " for generated types." << ::std::endl; os << "--generate-doxygen Generate documentation comments suitable for" << ::std::endl << " extraction by the Doxygen documentation system." << ::std::endl; - os << "--generate-comparison Generate comparison operators ('operator==' and" << ::std::endl - << " 'operator!=') for complex types." << ::std::endl; + os << "--generate-comparison Generate comparison operators (operator== and" << ::std::endl + << " operator!=) for complex types." << ::std::endl; os << "--generate-default-ctor Generate default constructors even for types that" << ::std::endl << " have required members." << ::std::endl; @@ -781,10 +869,10 @@ namespace CXX os << "--generate-wildcard Generate accessors and modifiers as well as" << ::std::endl << " parsing and serialization code for XML Schema" << ::std::endl - << " wildcards ('any' and 'anyAttribute')." << ::std::endl; + << " wildcards (any and anyAttribute)." << ::std::endl; os << "--generate-any-type Extract and store content of the XML Schema" << ::std::endl - << " 'anyType' type as a DOM fragment." << ::std::endl; + << " anyType type as a DOM fragment." << ::std::endl; os << "--generate-insertion <os> Generate data representation stream insertion" << ::std::endl << " operators for the <os> output stream type." << ::std::endl; @@ -905,8 +993,12 @@ namespace CXX os << "--parts <num> Split generated source code into <num> parts." << ::std::endl; - os << "--parts-suffix <suffix> Use <suffix> instead of the default ''-'' to" << ::std::endl + os << "--parts-suffix <suffix> Use <suffix> instead of the default '-' to" << ::std::endl << " separate the file name from the part number." << ::std::endl; + + p = ::cli::usage_para::option; + + return p; } typedef @@ -919,137 +1011,137 @@ namespace CXX { _cli_options_map_init () { - _cli_options_map_["--generate-polymorphic"] = - &::cli::thunk< options, bool, &options::generate_polymorphic_ >; - _cli_options_map_["--polymorphic-type"] = + _cli_options_map_["--generate-polymorphic"] = + &::cli::thunk< options, &options::generate_polymorphic_ >; + _cli_options_map_["--polymorphic-type"] = &::cli::thunk< options, NarrowStrings, &options::polymorphic_type_, &options::polymorphic_type_specified_ >; - _cli_options_map_["--polymorphic-type-all"] = - &::cli::thunk< options, bool, &options::polymorphic_type_all_ >; - _cli_options_map_["--polymorphic-plate"] = + _cli_options_map_["--polymorphic-type-all"] = + &::cli::thunk< options, &options::polymorphic_type_all_ >; + _cli_options_map_["--polymorphic-plate"] = &::cli::thunk< options, unsigned long, &options::polymorphic_plate_, &options::polymorphic_plate_specified_ >; - _cli_options_map_["--ordered-type"] = + _cli_options_map_["--ordered-type"] = &::cli::thunk< options, NarrowStrings, &options::ordered_type_, &options::ordered_type_specified_ >; - _cli_options_map_["--ordered-type-derived"] = - &::cli::thunk< options, bool, &options::ordered_type_derived_ >; - _cli_options_map_["--ordered-type-mixed"] = - &::cli::thunk< options, bool, &options::ordered_type_mixed_ >; - _cli_options_map_["--ordered-type-all"] = - &::cli::thunk< options, bool, &options::ordered_type_all_ >; - _cli_options_map_["--order-container"] = + _cli_options_map_["--ordered-type-derived"] = + &::cli::thunk< options, &options::ordered_type_derived_ >; + _cli_options_map_["--ordered-type-mixed"] = + &::cli::thunk< options, &options::ordered_type_mixed_ >; + _cli_options_map_["--ordered-type-all"] = + &::cli::thunk< options, &options::ordered_type_all_ >; + _cli_options_map_["--order-container"] = &::cli::thunk< options, NarrowString, &options::order_container_, &options::order_container_specified_ >; - _cli_options_map_["--generate-serialization"] = - &::cli::thunk< options, bool, &options::generate_serialization_ >; - _cli_options_map_["--generate-ostream"] = - &::cli::thunk< options, bool, &options::generate_ostream_ >; - _cli_options_map_["--generate-doxygen"] = - &::cli::thunk< options, bool, &options::generate_doxygen_ >; - _cli_options_map_["--generate-comparison"] = - &::cli::thunk< options, bool, &options::generate_comparison_ >; - _cli_options_map_["--generate-default-ctor"] = - &::cli::thunk< options, bool, &options::generate_default_ctor_ >; - _cli_options_map_["--generate-from-base-ctor"] = - &::cli::thunk< options, bool, &options::generate_from_base_ctor_ >; - _cli_options_map_["--suppress-assignment"] = - &::cli::thunk< options, bool, &options::suppress_assignment_ >; - _cli_options_map_["--generate-detach"] = - &::cli::thunk< options, bool, &options::generate_detach_ >; - _cli_options_map_["--generate-wildcard"] = - &::cli::thunk< options, bool, &options::generate_wildcard_ >; - _cli_options_map_["--generate-any-type"] = - &::cli::thunk< options, bool, &options::generate_any_type_ >; - _cli_options_map_["--generate-insertion"] = + _cli_options_map_["--generate-serialization"] = + &::cli::thunk< options, &options::generate_serialization_ >; + _cli_options_map_["--generate-ostream"] = + &::cli::thunk< options, &options::generate_ostream_ >; + _cli_options_map_["--generate-doxygen"] = + &::cli::thunk< options, &options::generate_doxygen_ >; + _cli_options_map_["--generate-comparison"] = + &::cli::thunk< options, &options::generate_comparison_ >; + _cli_options_map_["--generate-default-ctor"] = + &::cli::thunk< options, &options::generate_default_ctor_ >; + _cli_options_map_["--generate-from-base-ctor"] = + &::cli::thunk< options, &options::generate_from_base_ctor_ >; + _cli_options_map_["--suppress-assignment"] = + &::cli::thunk< options, &options::suppress_assignment_ >; + _cli_options_map_["--generate-detach"] = + &::cli::thunk< options, &options::generate_detach_ >; + _cli_options_map_["--generate-wildcard"] = + &::cli::thunk< options, &options::generate_wildcard_ >; + _cli_options_map_["--generate-any-type"] = + &::cli::thunk< options, &options::generate_any_type_ >; + _cli_options_map_["--generate-insertion"] = &::cli::thunk< options, NarrowStrings, &options::generate_insertion_, &options::generate_insertion_specified_ >; - _cli_options_map_["--generate-extraction"] = + _cli_options_map_["--generate-extraction"] = &::cli::thunk< options, NarrowStrings, &options::generate_extraction_, &options::generate_extraction_specified_ >; - _cli_options_map_["--generate-forward"] = - &::cli::thunk< options, bool, &options::generate_forward_ >; - _cli_options_map_["--suppress-parsing"] = - &::cli::thunk< options, bool, &options::suppress_parsing_ >; - _cli_options_map_["--generate-element-type"] = - &::cli::thunk< options, bool, &options::generate_element_type_ >; - _cli_options_map_["--generate-element-map"] = - &::cli::thunk< options, bool, &options::generate_element_map_ >; - _cli_options_map_["--generate-intellisense"] = - &::cli::thunk< options, bool, &options::generate_intellisense_ >; - _cli_options_map_["--omit-default-attributes"] = - &::cli::thunk< options, bool, &options::omit_default_attributes_ >; - _cli_options_map_["--type-naming"] = + _cli_options_map_["--generate-forward"] = + &::cli::thunk< options, &options::generate_forward_ >; + _cli_options_map_["--suppress-parsing"] = + &::cli::thunk< options, &options::suppress_parsing_ >; + _cli_options_map_["--generate-element-type"] = + &::cli::thunk< options, &options::generate_element_type_ >; + _cli_options_map_["--generate-element-map"] = + &::cli::thunk< options, &options::generate_element_map_ >; + _cli_options_map_["--generate-intellisense"] = + &::cli::thunk< options, &options::generate_intellisense_ >; + _cli_options_map_["--omit-default-attributes"] = + &::cli::thunk< options, &options::omit_default_attributes_ >; + _cli_options_map_["--type-naming"] = &::cli::thunk< options, NarrowString, &options::type_naming_, &options::type_naming_specified_ >; - _cli_options_map_["--function-naming"] = + _cli_options_map_["--function-naming"] = &::cli::thunk< options, NarrowString, &options::function_naming_, &options::function_naming_specified_ >; - _cli_options_map_["--type-regex"] = + _cli_options_map_["--type-regex"] = &::cli::thunk< options, NarrowStrings, &options::type_regex_, &options::type_regex_specified_ >; - _cli_options_map_["--accessor-regex"] = + _cli_options_map_["--accessor-regex"] = &::cli::thunk< options, NarrowStrings, &options::accessor_regex_, &options::accessor_regex_specified_ >; - _cli_options_map_["--one-accessor-regex"] = + _cli_options_map_["--one-accessor-regex"] = &::cli::thunk< options, NarrowStrings, &options::one_accessor_regex_, &options::one_accessor_regex_specified_ >; - _cli_options_map_["--opt-accessor-regex"] = + _cli_options_map_["--opt-accessor-regex"] = &::cli::thunk< options, NarrowStrings, &options::opt_accessor_regex_, &options::opt_accessor_regex_specified_ >; - _cli_options_map_["--seq-accessor-regex"] = + _cli_options_map_["--seq-accessor-regex"] = &::cli::thunk< options, NarrowStrings, &options::seq_accessor_regex_, &options::seq_accessor_regex_specified_ >; - _cli_options_map_["--modifier-regex"] = + _cli_options_map_["--modifier-regex"] = &::cli::thunk< options, NarrowStrings, &options::modifier_regex_, &options::modifier_regex_specified_ >; - _cli_options_map_["--one-modifier-regex"] = + _cli_options_map_["--one-modifier-regex"] = &::cli::thunk< options, NarrowStrings, &options::one_modifier_regex_, &options::one_modifier_regex_specified_ >; - _cli_options_map_["--opt-modifier-regex"] = + _cli_options_map_["--opt-modifier-regex"] = &::cli::thunk< options, NarrowStrings, &options::opt_modifier_regex_, &options::opt_modifier_regex_specified_ >; - _cli_options_map_["--seq-modifier-regex"] = + _cli_options_map_["--seq-modifier-regex"] = &::cli::thunk< options, NarrowStrings, &options::seq_modifier_regex_, &options::seq_modifier_regex_specified_ >; - _cli_options_map_["--parser-regex"] = + _cli_options_map_["--parser-regex"] = &::cli::thunk< options, NarrowStrings, &options::parser_regex_, &options::parser_regex_specified_ >; - _cli_options_map_["--serializer-regex"] = + _cli_options_map_["--serializer-regex"] = &::cli::thunk< options, NarrowStrings, &options::serializer_regex_, &options::serializer_regex_specified_ >; - _cli_options_map_["--const-regex"] = + _cli_options_map_["--const-regex"] = &::cli::thunk< options, NarrowStrings, &options::const_regex_, &options::const_regex_specified_ >; - _cli_options_map_["--enumerator-regex"] = + _cli_options_map_["--enumerator-regex"] = &::cli::thunk< options, NarrowStrings, &options::enumerator_regex_, &options::enumerator_regex_specified_ >; - _cli_options_map_["--element-type-regex"] = + _cli_options_map_["--element-type-regex"] = &::cli::thunk< options, NarrowStrings, &options::element_type_regex_, &options::element_type_regex_specified_ >; - _cli_options_map_["--name-regex-trace"] = - &::cli::thunk< options, bool, &options::name_regex_trace_ >; - _cli_options_map_["--root-element-first"] = - &::cli::thunk< options, bool, &options::root_element_first_ >; - _cli_options_map_["--root-element-last"] = - &::cli::thunk< options, bool, &options::root_element_last_ >; - _cli_options_map_["--root-element-all"] = - &::cli::thunk< options, bool, &options::root_element_all_ >; - _cli_options_map_["--root-element-none"] = - &::cli::thunk< options, bool, &options::root_element_none_ >; - _cli_options_map_["--root-element"] = + _cli_options_map_["--name-regex-trace"] = + &::cli::thunk< options, &options::name_regex_trace_ >; + _cli_options_map_["--root-element-first"] = + &::cli::thunk< options, &options::root_element_first_ >; + _cli_options_map_["--root-element-last"] = + &::cli::thunk< options, &options::root_element_last_ >; + _cli_options_map_["--root-element-all"] = + &::cli::thunk< options, &options::root_element_all_ >; + _cli_options_map_["--root-element-none"] = + &::cli::thunk< options, &options::root_element_none_ >; + _cli_options_map_["--root-element"] = &::cli::thunk< options, NarrowStrings, &options::root_element_, &options::root_element_specified_ >; - _cli_options_map_["--custom-type"] = + _cli_options_map_["--custom-type"] = &::cli::thunk< options, NarrowStrings, &options::custom_type_, &options::custom_type_specified_ >; - _cli_options_map_["--custom-type-regex"] = + _cli_options_map_["--custom-type-regex"] = &::cli::thunk< options, NarrowStrings, &options::custom_type_regex_, &options::custom_type_regex_specified_ >; - _cli_options_map_["--parts"] = + _cli_options_map_["--parts"] = &::cli::thunk< options, std::size_t, &options::parts_, &options::parts_specified_ >; - _cli_options_map_["--parts-suffix"] = + _cli_options_map_["--parts-suffix"] = &::cli::thunk< options, NarrowString, &options::parts_suffix_, &options::parts_suffix_specified_ >; } @@ -1076,11 +1168,16 @@ namespace CXX return false; } - void options:: + bool options:: _parse (::cli::scanner& s, ::cli::unknown_mode opt_mode, ::cli::unknown_mode arg_mode) { + // Can't skip combined flags (--no-combined-flags). + // + assert (opt_mode != ::cli::unknown_mode::skip); + + bool r = false; bool opt = true; while (s.more ()) @@ -1089,55 +1186,152 @@ namespace CXX if (std::strcmp (o, "--") == 0) { - s.skip (); opt = false; + s.skip (); + r = true; continue; } - if (opt && _parse (o, s)); - else if (opt && std::strncmp (o, "-", 1) == 0 && o[1] != '\0') + if (opt) { - switch (opt_mode) + if (_parse (o, s)) { - case ::cli::unknown_mode::skip: - { - s.skip (); - continue; - } - case ::cli::unknown_mode::stop: - { - break; - } - case ::cli::unknown_mode::fail: - { - throw ::cli::unknown_option (o); - } + r = true; + continue; } - break; - } - else - { - switch (arg_mode) + if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0') { - case ::cli::unknown_mode::skip: + // Handle combined option values. + // + std::string co; + if (const char* v = std::strchr (o, '=')) { - s.skip (); - continue; + co.assign (o, 0, v - o); + ++v; + + int ac (2); + char* av[] = + { + const_cast<char*> (co.c_str ()), + const_cast<char*> (v) + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (_parse (co.c_str (), ns)) + { + // Parsed the option but not its value? + // + if (ns.end () != 2) + throw ::cli::invalid_value (co, v); + + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = co.c_str (); + } } - case ::cli::unknown_mode::stop: + + // Handle combined flags. + // + char cf[3]; { - break; + const char* p = o + 1; + for (; *p != '\0'; ++p) + { + if (!((*p >= 'a' && *p <= 'z') || + (*p >= 'A' && *p <= 'Z') || + (*p >= '0' && *p <= '9'))) + break; + } + + if (*p == '\0') + { + for (p = o + 1; *p != '\0'; ++p) + { + std::strcpy (cf, "-"); + cf[1] = *p; + cf[2] = '\0'; + + int ac (1); + char* av[] = + { + cf + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (!_parse (cf, ns)) + break; + } + + if (*p == '\0') + { + // All handled. + // + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = cf; + } + } } - case ::cli::unknown_mode::fail: + + switch (opt_mode) { - throw ::cli::unknown_argument (o); + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_option (o); + } } + + break; } + } - break; + switch (arg_mode) + { + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_argument (o); + } } + + break; } + + return r; } } } diff --git a/xsd/xsd/cxx/tree/options.hxx b/xsd/pregenerated/xsd/cxx/tree/options.hxx index b190dc5..f5a808c 100644 --- a/xsd/xsd/cxx/tree/options.hxx +++ b/xsd/pregenerated/xsd/cxx/tree/options.hxx @@ -1,9 +1,11 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // -#ifndef CXX_TREE_OPTIONS_HXX -#define CXX_TREE_OPTIONS_HXX +#ifndef XSD_CXX_TREE_OPTIONS_HXX +#define XSD_CXX_TREE_OPTIONS_HXX // Begin prologue. // @@ -12,9 +14,9 @@ #include <cstddef> -#include <types.hxx> +#include <xsd/types.hxx> -#include <cxx/options.hxx> +#include <xsd/cxx/options.hxx> namespace CXX { @@ -23,6 +25,8 @@ namespace CXX class options: public ::CXX::options { public: + options (); + options (int& argc, char** argv, bool erase = false, @@ -55,8 +59,6 @@ namespace CXX ::cli::unknown_mode option = ::cli::unknown_mode::fail, ::cli::unknown_mode argument = ::cli::unknown_mode::stop); - options (); - // Option accessors. // const bool& @@ -301,8 +303,9 @@ namespace CXX // Print usage information. // - static void - print_usage (::std::wostream&); + static ::cli::usage_para + print_usage (::std::wostream&, + ::cli::usage_para = ::cli::usage_para::none); // Implementation details. // @@ -311,7 +314,7 @@ namespace CXX _parse (const char*, ::cli::scanner&); private: - void + bool _parse (::cli::scanner&, ::cli::unknown_mode option, ::cli::unknown_mode argument); @@ -401,11 +404,11 @@ namespace CXX } } -#include <cxx/tree/options.ixx> +#include <xsd/cxx/tree/options.ixx> // Begin epilogue. // // // End epilogue. -#endif // CXX_TREE_OPTIONS_HXX +#endif // XSD_CXX_TREE_OPTIONS_HXX diff --git a/xsd/xsd/cxx/tree/options.ixx b/xsd/pregenerated/xsd/cxx/tree/options.ixx index 824fbee..4d34fd9 100644 --- a/xsd/xsd/cxx/tree/options.ixx +++ b/xsd/pregenerated/xsd/cxx/tree/options.ixx @@ -1,4 +1,6 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // diff --git a/xsd/xsd/options.cxx b/xsd/pregenerated/xsd/options.cxx index 3af99f2..3022ec4 100644 --- a/xsd/xsd/options.cxx +++ b/xsd/pregenerated/xsd/options.cxx @@ -1,19 +1,22 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // // Begin prologue. // -#include <options-parser.hxx> +#include <xsd/options-parser.hxx> // // End prologue. -#include <options.hxx> +#include <xsd/options.hxx> #include <map> #include <set> #include <string> #include <vector> +#include <utility> #include <ostream> #include <sstream> #include <cstring> @@ -24,7 +27,7 @@ namespace cli // unknown_option // unknown_option:: - ~unknown_option () throw () + ~unknown_option () noexcept { } @@ -35,7 +38,7 @@ namespace cli } const char* unknown_option:: - what () const throw () + what () const noexcept { return "unknown option"; } @@ -43,7 +46,7 @@ namespace cli // unknown_argument // unknown_argument:: - ~unknown_argument () throw () + ~unknown_argument () noexcept { } @@ -54,7 +57,7 @@ namespace cli } const char* unknown_argument:: - what () const throw () + what () const noexcept { return "unknown argument"; } @@ -62,7 +65,7 @@ namespace cli // missing_value // missing_value:: - ~missing_value () throw () + ~missing_value () noexcept { } @@ -73,7 +76,7 @@ namespace cli } const char* missing_value:: - what () const throw () + what () const noexcept { return "missing option value"; } @@ -81,7 +84,7 @@ namespace cli // invalid_value // invalid_value:: - ~invalid_value () throw () + ~invalid_value () noexcept { } @@ -90,10 +93,13 @@ namespace cli { os << "invalid value '" << value ().c_str () << "' for option '" << option ().c_str () << "'"; + + if (!message ().empty ()) + os << ": " << message ().c_str (); } const char* invalid_value:: - what () const throw () + what () const noexcept { return "invalid option value"; } @@ -107,7 +113,7 @@ namespace cli } const char* eos_reached:: - what () const throw () + what () const noexcept { return "end of argument stream reached"; } @@ -115,7 +121,7 @@ namespace cli // file_io_failure // file_io_failure:: - ~file_io_failure () throw () + ~file_io_failure () noexcept { } @@ -126,7 +132,7 @@ namespace cli } const char* file_io_failure:: - what () const throw () + what () const noexcept { return "unable to open file or read failure"; } @@ -134,7 +140,7 @@ namespace cli // unmatched_quote // unmatched_quote:: - ~unmatched_quote () throw () + ~unmatched_quote () noexcept { } @@ -145,7 +151,7 @@ namespace cli } const char* unmatched_quote:: - what () const throw () + what () const noexcept { return "unmatched quote"; } @@ -192,6 +198,7 @@ namespace cli else ++i_; + ++start_position_; return r; } else @@ -202,13 +209,25 @@ namespace cli skip () { if (i_ < argc_) + { ++i_; + ++start_position_; + } else throw eos_reached (); } + std::size_t argv_scanner:: + position () + { + return start_position_; + } + // argv_file_scanner // + int argv_file_scanner::zero_argc_ = 0; + std::string argv_file_scanner::empty_string_; + bool argv_file_scanner:: more () { @@ -220,24 +239,45 @@ namespace cli // See if the next argument is the file option. // const char* a (base::peek ()); - const option_info* oi; + const option_info* oi = 0; + const char* ov = 0; - if (!skip_ && (oi = find (a))) + if (!skip_) { - base::next (); + if ((oi = find (a)) != 0) + { + base::next (); - if (!base::more ()) - throw missing_value (oi->option); + if (!base::more ()) + throw missing_value (a); + + ov = base::next (); + } + else if (std::strncmp (a, "-", 1) == 0) + { + if ((ov = std::strchr (a, '=')) != 0) + { + std::string o (a, 0, ov - a); + if ((oi = find (o.c_str ())) != 0) + { + base::next (); + ++ov; + } + } + } + } + if (oi != 0) + { if (oi->search_func != 0) { - std::string f (oi->search_func (base::next (), oi->arg)); + std::string f (oi->search_func (ov, oi->arg)); if (!f.empty ()) load (f); } else - load (base::next ()); + load (ov); if (!args_.empty ()) return true; @@ -260,7 +300,25 @@ namespace cli if (!more ()) throw eos_reached (); - return args_.empty () ? base::peek () : args_.front ().c_str (); + return args_.empty () ? base::peek () : args_.front ().value.c_str (); + } + + const std::string& argv_file_scanner:: + peek_file () + { + if (!more ()) + throw eos_reached (); + + return args_.empty () ? empty_string_ : *args_.front ().file; + } + + std::size_t argv_file_scanner:: + peek_line () + { + if (!more ()) + throw eos_reached (); + + return args_.empty () ? 0 : args_.front ().line; } const char* argv_file_scanner:: @@ -273,9 +331,10 @@ namespace cli return base::next (); else { - hold_.swap (args_.front ()); + hold_[i_ == 0 ? ++i_ : --i_].swap (args_.front ().value); args_.pop_front (); - return hold_.c_str (); + ++start_position_; + return hold_[i_].c_str (); } } @@ -288,7 +347,10 @@ namespace cli if (args_.empty ()) return base::skip (); else + { args_.pop_front (); + ++start_position_; + } } const argv_file_scanner::option_info* argv_file_scanner:: @@ -301,6 +363,12 @@ namespace cli return 0; } + std::size_t argv_file_scanner:: + position () + { + return start_position_; + } + void argv_file_scanner:: load (const std::string& file) { @@ -311,7 +379,12 @@ namespace cli if (!is.is_open ()) throw file_io_failure (file); - while (!is.eof ()) + files_.push_back (file); + + arg a; + a.file = &*files_.rbegin (); + + for (a.line = 1; !is.eof (); ++a.line) { string line; getline (is, line); @@ -347,45 +420,59 @@ namespace cli if (line.empty () || line[0] == '#') continue; - string::size_type p (line.find (' ')); - - if (p == string::npos) + string::size_type p (string::npos); + if (line.compare (0, 1, "-") == 0) { - if (!skip_) - skip_ = (line == "--"); + p = line.find (' '); - args_.push_back (line); + string::size_type q (line.find ('=')); + if (q != string::npos && q < p) + p = q; } - else + + string s1; + if (p != string::npos) { - string s1 (line, 0, p); + s1.assign (line, 0, p); // Skip leading whitespaces in the argument. // - n = line.size (); - for (++p; p < n; ++p) + if (line[p] == '=') + ++p; + else { - char c (line[p]); - - if (c != ' ' && c != '\t' && c != '\r') - break; + n = line.size (); + for (++p; p < n; ++p) + { + char c (line[p]); + if (c != ' ' && c != '\t' && c != '\r') + break; + } } + } + else if (!skip_) + skip_ = (line == "--"); - string s2 (line, p); + string s2 (line, p != string::npos ? p : 0); - // If the string is wrapped in quotes, remove them. - // - n = s2.size (); - char cf (s2[0]), cl (s2[n - 1]); + // If the string (which is an option value or argument) is + // wrapped in quotes, remove them. + // + n = s2.size (); + char cf (s2[0]), cl (s2[n - 1]); - if (cf == '"' || cf == '\'' || cl == '"' || cl == '\'') - { - if (n == 1 || cf != cl) - throw unmatched_quote (s2); + if (cf == '"' || cf == '\'' || cl == '"' || cl == '\'') + { + if (n == 1 || cf != cl) + throw unmatched_quote (s2); - s2 = string (s2, 1, n - 2); - } + s2 = string (s2, 1, n - 2); + } + if (!s1.empty ()) + { + // See if this is another file option. + // const option_info* oi; if (!skip_ && (oi = find (s1.c_str ()))) { @@ -394,20 +481,38 @@ namespace cli if (oi->search_func != 0) { - std::string f (oi->search_func (s2.c_str (), oi->arg)); - + string f (oi->search_func (s2.c_str (), oi->arg)); if (!f.empty ()) load (f); } else + { + // If the path of the file being parsed is not simple and the + // path of the file that needs to be loaded is relative, then + // complete the latter using the former as a base. + // +#ifndef _WIN32 + string::size_type p (file.find_last_of ('/')); + bool c (p != string::npos && s2[0] != '/'); +#else + string::size_type p (file.find_last_of ("/\\")); + bool c (p != string::npos && s2[1] != ':'); +#endif + if (c) + s2.insert (0, file, 0, p + 1); + load (s2); + } + + continue; } - else - { - args_.push_back (s1); - args_.push_back (s2); - } + + a.value = s1; + args_.push_back (a); } + + a.value = s2; + args_.push_back (a); } } @@ -417,13 +522,14 @@ namespace cli static void parse (X& x, bool& xs, scanner& s) { - std::string o (s.next ()); + using namespace std; + const char* o (s.next ()); if (s.more ()) { - std::string v (s.next ()); - std::istringstream is (v); - if (!(is >> x && is.eof ())) + string v (s.next ()); + istringstream is (v); + if (!(is >> x && is.peek () == istringstream::traits_type::eof ())) throw invalid_value (o, v); } else @@ -437,10 +543,31 @@ namespace cli struct parser<bool> { static void - parse (bool& x, scanner& s) + parse (bool& x, bool& xs, scanner& s) { - s.next (); - x = true; + const char* o (s.next ()); + + if (s.more ()) + { + const char* v (s.next ()); + + if (std::strcmp (v, "1") == 0 || + std::strcmp (v, "true") == 0 || + std::strcmp (v, "TRUE") == 0 || + std::strcmp (v, "True") == 0) + x = true; + else if (std::strcmp (v, "0") == 0 || + std::strcmp (v, "false") == 0 || + std::strcmp (v, "FALSE") == 0 || + std::strcmp (v, "False") == 0) + x = false; + else + throw invalid_value (o, v); + } + else + throw missing_value (o); + + xs = true; } }; @@ -462,6 +589,17 @@ namespace cli }; template <typename X> + struct parser<std::pair<X, std::size_t> > + { + static void + parse (std::pair<X, std::size_t>& x, bool& xs, scanner& s) + { + x.second = s.position (); + parser<X>::parse (x.first, xs, s); + } + }; + + template <typename X> struct parser<std::vector<X> > { static void @@ -475,11 +613,11 @@ namespace cli } }; - template <typename X> - struct parser<std::set<X> > + template <typename X, typename C> + struct parser<std::set<X, C> > { static void - parse (std::set<X>& c, bool& xs, scanner& s) + parse (std::set<X, C>& c, bool& xs, scanner& s) { X x; bool dummy; @@ -489,58 +627,98 @@ namespace cli } }; - template <typename K, typename V> - struct parser<std::map<K, V> > + template <typename K, typename V, typename C> + struct parser<std::map<K, V, C> > { static void - parse (std::map<K, V>& m, bool& xs, scanner& s) + parse (std::map<K, V, C>& m, bool& xs, scanner& s) { - std::string o (s.next ()); + const char* o (s.next ()); if (s.more ()) { + std::size_t pos (s.position ()); std::string ov (s.next ()); std::string::size_type p = ov.find ('='); - if (p == std::string::npos) - { - K k = K (); - - if (!ov.empty ()) - { - std::istringstream ks (ov); + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = V (); + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } - else + + if (!vstr.empty ()) { - K k = K (); - V v = V (); - std::string kstr (ov, 0, p); - std::string vstr (ov, p + 1); + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } - if (!kstr.empty ()) - { - std::istringstream ks (kstr); + m[k] = v; + } + else + throw missing_value (o); - if (!(ks >> k && ks.eof ())) - throw invalid_value (o, ov); - } + xs = true; + } + }; - if (!vstr.empty ()) - { - std::istringstream vs (vstr); + template <typename K, typename V, typename C> + struct parser<std::multimap<K, V, C> > + { + static void + parse (std::multimap<K, V, C>& m, bool& xs, scanner& s) + { + const char* o (s.next ()); - if (!(vs >> v && vs.eof ())) - throw invalid_value (o, ov); - } + if (s.more ()) + { + std::size_t pos (s.position ()); + std::string ov (s.next ()); + std::string::size_type p = ov.find ('='); + + K k = K (); + V v = V (); + std::string kstr (ov, 0, p); + std::string vstr (ov, (p != std::string::npos ? p + 1 : ov.size ())); + + int ac (2); + char* av[] = + { + const_cast<char*> (o), + 0 + }; - m[k] = v; + bool dummy; + if (!kstr.empty ()) + { + av[1] = const_cast<char*> (kstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<K>::parse (k, dummy, s); } + + if (!vstr.empty ()) + { + av[1] = const_cast<char*> (vstr.c_str ()); + argv_scanner s (0, ac, av, false, pos); + parser<V>::parse (v, dummy, s); + } + + m.insert (typename std::multimap<K, V, C>::value_type (k, v)); } else throw missing_value (o); @@ -556,6 +734,14 @@ namespace cli parser<T>::parse (x.*M, s); } + template <typename X, bool X::*M> + void + thunk (X& x, scanner& s) + { + s.next (); + x.*M = true; + } + template <typename X, typename T, T X::*M, bool X::*S> void thunk (X& x, scanner& s) @@ -565,14 +751,15 @@ namespace cli } #include <map> -#include <cstring> // help_options // help_options:: help_options () -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { @@ -584,7 +771,9 @@ help_options (int& argc, bool erase, ::cli::unknown_mode opt, ::cli::unknown_mode arg) -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { @@ -599,7 +788,9 @@ help_options (int start, bool erase, ::cli::unknown_mode opt, ::cli::unknown_mode arg) -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { @@ -614,7 +805,9 @@ help_options (int& argc, bool erase, ::cli::unknown_mode opt, ::cli::unknown_mode arg) -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { @@ -631,7 +824,9 @@ help_options (int start, bool erase, ::cli::unknown_mode opt, ::cli::unknown_mode arg) -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { @@ -644,16 +839,21 @@ help_options:: help_options (::cli::scanner& s, ::cli::unknown_mode opt, ::cli::unknown_mode arg) -: help_ (), +: build2_metadata_ (), + build2_metadata_specified_ (false), + help_ (), version_ (), proprietary_license_ () { _parse (s, opt, arg); } -void help_options:: -print_usage (::std::wostream&) +::cli::usage_para help_options:: +print_usage (::std::wostream& os, ::cli::usage_para p) { + CLI_POTENTIALLY_UNUSED (os); + + return p; } typedef @@ -666,12 +866,15 @@ struct _cli_help_options_map_init { _cli_help_options_map_init () { - _cli_help_options_map_["--help"] = - &::cli::thunk< help_options, bool, &help_options::help_ >; - _cli_help_options_map_["--version"] = - &::cli::thunk< help_options, bool, &help_options::version_ >; - _cli_help_options_map_["--proprietary-license"] = - &::cli::thunk< help_options, bool, &help_options::proprietary_license_ >; + _cli_help_options_map_["--build2-metadata"] = + &::cli::thunk< help_options, std::uint64_t, &help_options::build2_metadata_, + &help_options::build2_metadata_specified_ >; + _cli_help_options_map_["--help"] = + &::cli::thunk< help_options, &help_options::help_ >; + _cli_help_options_map_["--version"] = + &::cli::thunk< help_options, &help_options::version_ >; + _cli_help_options_map_["--proprietary-license"] = + &::cli::thunk< help_options, &help_options::proprietary_license_ >; } }; @@ -691,11 +894,16 @@ _parse (const char* o, ::cli::scanner& s) return false; } -void help_options:: +bool help_options:: _parse (::cli::scanner& s, ::cli::unknown_mode opt_mode, ::cli::unknown_mode arg_mode) { + // Can't skip combined flags (--no-combined-flags). + // + assert (opt_mode != ::cli::unknown_mode::skip); + + bool r = false; bool opt = true; while (s.more ()) @@ -704,55 +912,152 @@ _parse (::cli::scanner& s, if (std::strcmp (o, "--") == 0) { - s.skip (); opt = false; + s.skip (); + r = true; continue; } - if (opt && _parse (o, s)); - else if (opt && std::strncmp (o, "-", 1) == 0 && o[1] != '\0') + if (opt) { - switch (opt_mode) + if (_parse (o, s)) { - case ::cli::unknown_mode::skip: - { - s.skip (); - continue; - } - case ::cli::unknown_mode::stop: - { - break; - } - case ::cli::unknown_mode::fail: - { - throw ::cli::unknown_option (o); - } + r = true; + continue; } - break; - } - else - { - switch (arg_mode) + if (std::strncmp (o, "-", 1) == 0 && o[1] != '\0') { - case ::cli::unknown_mode::skip: + // Handle combined option values. + // + std::string co; + if (const char* v = std::strchr (o, '=')) { - s.skip (); - continue; + co.assign (o, 0, v - o); + ++v; + + int ac (2); + char* av[] = + { + const_cast<char*> (co.c_str ()), + const_cast<char*> (v) + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (_parse (co.c_str (), ns)) + { + // Parsed the option but not its value? + // + if (ns.end () != 2) + throw ::cli::invalid_value (co, v); + + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = co.c_str (); + } } - case ::cli::unknown_mode::stop: + + // Handle combined flags. + // + char cf[3]; { - break; + const char* p = o + 1; + for (; *p != '\0'; ++p) + { + if (!((*p >= 'a' && *p <= 'z') || + (*p >= 'A' && *p <= 'Z') || + (*p >= '0' && *p <= '9'))) + break; + } + + if (*p == '\0') + { + for (p = o + 1; *p != '\0'; ++p) + { + std::strcpy (cf, "-"); + cf[1] = *p; + cf[2] = '\0'; + + int ac (1); + char* av[] = + { + cf + }; + + ::cli::argv_scanner ns (0, ac, av); + + if (!_parse (cf, ns)) + break; + } + + if (*p == '\0') + { + // All handled. + // + s.next (); + r = true; + continue; + } + else + { + // Set the unknown option and fall through. + // + o = cf; + } + } } - case ::cli::unknown_mode::fail: + + switch (opt_mode) { - throw ::cli::unknown_argument (o); + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_option (o); + } } + + break; } + } - break; + switch (arg_mode) + { + case ::cli::unknown_mode::skip: + { + s.skip (); + r = true; + continue; + } + case ::cli::unknown_mode::stop: + { + break; + } + case ::cli::unknown_mode::fail: + { + throw ::cli::unknown_argument (o); + } } + + break; } + + return r; } // options @@ -791,6 +1096,7 @@ options () fat_type_file_ (), file_list_ (), file_list_specified_ (false), + file_list_only_ (), file_list_prologue_ (), file_list_prologue_specified_ (false), file_list_epilogue_ (), @@ -802,9 +1108,14 @@ options () { } -void options:: -print_usage (::std::wostream& os) +::cli::usage_para options:: +print_usage (::std::wostream& os, ::cli::usage_para p) { + CLI_POTENTIALLY_UNUSED (os); + + if (p == ::cli::usage_para::text) + os << ::std::endl; + os << "--disable-warning <warn> Disable printing warning with id <warn>." << ::std::endl; os << "--options-file <file> Read additional options from <file>." << ::std::endl; @@ -831,7 +1142,7 @@ print_usage (::std::wostream& os) << " enclosing attributes/elements." << ::std::endl; os << "--anonymous-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--anonymous-regex' option." << ::std::endl; + << " specified with the --anonymous-regex option." << ::std::endl; os << "--location-map <ol>=<nl> Map the original schema location <ol> that is" << ::std::endl << " specified in the XML Schema include or import" << ::std::endl @@ -842,30 +1153,34 @@ print_usage (::std::wostream& os) << " the XML Schema include or import elements." << ::std::endl; os << "--location-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--location-regex' option." << ::std::endl; + << " specified with the --location-regex option." << ::std::endl; os << "--file-per-type Generate a separate set of C++ files for each type" << ::std::endl << " defined in XML Schema." << ::std::endl; os << "--type-file-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl << " used to translate type names to file names when" << ::std::endl - << " the '--file-per-type' option is specified." << ::std::endl; + << " the --file-per-type option is specified." << ::std::endl; os << "--type-file-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--type-file-regex' option." << ::std::endl; + << " specified with the --type-file-regex option." << ::std::endl; os << "--schema-file-regex <regex> Add <regex> to the list of regular expressions" << ::std::endl << " used to translate schema file names when the" << ::std::endl - << " '--file-per-type' option is specified." << ::std::endl; + << " --file-per-type option is specified." << ::std::endl; os << "--schema-file-regex-trace Trace the process of applying regular expressions" << ::std::endl - << " specified with the '--schema-file-regex' option." << ::std::endl; + << " specified with the --schema-file-regex option." << ::std::endl; os << "--fat-type-file Generate code corresponding to global elements" << ::std::endl << " into type files instead of schema files when the" << ::std::endl - << " '--type-file-regex' option is specified." << ::std::endl; + << " --type-file-regex option is specified." << ::std::endl; + + os << "--file-list <file> Write a list of generated C++ files to <file> or" << ::std::endl + << " to stdout if <file> is -." << ::std::endl; - os << "--file-list <file> Write a list of generated C++ files to <file>." << ::std::endl; + os << "--file-list-only Only write the list of C++ files that would be" << ::std::endl + << " generated without actually generating them." << ::std::endl; os << "--file-list-prologue <text> Insert <text> at the beginning of the file list." << ::std::endl; @@ -873,6 +1188,10 @@ print_usage (::std::wostream& os) os << "--file-list-delim <text> Delimit file names written to the file list with" << ::std::endl << " <text> instead of new lines." << ::std::endl; + + p = ::cli::usage_para::option; + + return p; } typedef @@ -885,71 +1204,73 @@ struct _cli_options_map_init { _cli_options_map_init () { - _cli_options_map_["--disable-warning"] = + _cli_options_map_["--disable-warning"] = &::cli::thunk< options, NarrowStrings, &options::disable_warning_, &options::disable_warning_specified_ >; - _cli_options_map_["--options-file"] = + _cli_options_map_["--options-file"] = &::cli::thunk< options, std::string, &options::options_file_, &options::options_file_specified_ >; - _cli_options_map_["--show-sloc"] = - &::cli::thunk< options, bool, &options::show_sloc_ >; - _cli_options_map_["--sloc-limit"] = + _cli_options_map_["--show-sloc"] = + &::cli::thunk< options, &options::show_sloc_ >; + _cli_options_map_["--sloc-limit"] = &::cli::thunk< options, std::size_t, &options::sloc_limit_, &options::sloc_limit_specified_ >; - _cli_options_map_["--proprietary-license"] = - &::cli::thunk< options, bool, &options::proprietary_license_ >; - _cli_options_map_["--custom-literals"] = + _cli_options_map_["--proprietary-license"] = + &::cli::thunk< options, &options::proprietary_license_ >; + _cli_options_map_["--custom-literals"] = &::cli::thunk< options, NarrowString, &options::custom_literals_, &options::custom_literals_specified_ >; - _cli_options_map_["--preserve-anonymous"] = - &::cli::thunk< options, bool, &options::preserve_anonymous_ >; - _cli_options_map_["--show-anonymous"] = - &::cli::thunk< options, bool, &options::show_anonymous_ >; - _cli_options_map_["--anonymous-regex"] = + _cli_options_map_["--preserve-anonymous"] = + &::cli::thunk< options, &options::preserve_anonymous_ >; + _cli_options_map_["--show-anonymous"] = + &::cli::thunk< options, &options::show_anonymous_ >; + _cli_options_map_["--anonymous-regex"] = &::cli::thunk< options, NarrowStrings, &options::anonymous_regex_, &options::anonymous_regex_specified_ >; - _cli_options_map_["--anonymous-regex-trace"] = - &::cli::thunk< options, bool, &options::anonymous_regex_trace_ >; - _cli_options_map_["--morph-anonymous"] = - &::cli::thunk< options, bool, &options::morph_anonymous_ >; - _cli_options_map_["--location-map"] = + _cli_options_map_["--anonymous-regex-trace"] = + &::cli::thunk< options, &options::anonymous_regex_trace_ >; + _cli_options_map_["--morph-anonymous"] = + &::cli::thunk< options, &options::morph_anonymous_ >; + _cli_options_map_["--location-map"] = &::cli::thunk< options, NarrowStrings, &options::location_map_, &options::location_map_specified_ >; - _cli_options_map_["--location-regex"] = + _cli_options_map_["--location-regex"] = &::cli::thunk< options, NarrowStrings, &options::location_regex_, &options::location_regex_specified_ >; - _cli_options_map_["--location-regex-trace"] = - &::cli::thunk< options, bool, &options::location_regex_trace_ >; - _cli_options_map_["--file-per-type"] = - &::cli::thunk< options, bool, &options::file_per_type_ >; - _cli_options_map_["--type-file-regex"] = + _cli_options_map_["--location-regex-trace"] = + &::cli::thunk< options, &options::location_regex_trace_ >; + _cli_options_map_["--file-per-type"] = + &::cli::thunk< options, &options::file_per_type_ >; + _cli_options_map_["--type-file-regex"] = &::cli::thunk< options, NarrowStrings, &options::type_file_regex_, &options::type_file_regex_specified_ >; - _cli_options_map_["--type-file-regex-trace"] = - &::cli::thunk< options, bool, &options::type_file_regex_trace_ >; - _cli_options_map_["--schema-file-regex"] = + _cli_options_map_["--type-file-regex-trace"] = + &::cli::thunk< options, &options::type_file_regex_trace_ >; + _cli_options_map_["--schema-file-regex"] = &::cli::thunk< options, NarrowStrings, &options::schema_file_regex_, &options::schema_file_regex_specified_ >; - _cli_options_map_["--schema-file-regex-trace"] = - &::cli::thunk< options, bool, &options::schema_file_regex_trace_ >; - _cli_options_map_["--fat-type-file"] = - &::cli::thunk< options, bool, &options::fat_type_file_ >; - _cli_options_map_["--file-list"] = + _cli_options_map_["--schema-file-regex-trace"] = + &::cli::thunk< options, &options::schema_file_regex_trace_ >; + _cli_options_map_["--fat-type-file"] = + &::cli::thunk< options, &options::fat_type_file_ >; + _cli_options_map_["--file-list"] = &::cli::thunk< options, NarrowString, &options::file_list_, &options::file_list_specified_ >; - _cli_options_map_["--file-list-prologue"] = + _cli_options_map_["--file-list-only"] = + &::cli::thunk< options, &options::file_list_only_ >; + _cli_options_map_["--file-list-prologue"] = &::cli::thunk< options, NarrowString, &options::file_list_prologue_, &options::file_list_prologue_specified_ >; - _cli_options_map_["--file-list-epilogue"] = + _cli_options_map_["--file-list-epilogue"] = &::cli::thunk< options, NarrowString, &options::file_list_epilogue_, &options::file_list_epilogue_specified_ >; - _cli_options_map_["--file-list-delim"] = + _cli_options_map_["--file-list-delim"] = &::cli::thunk< options, NarrowString, &options::file_list_delim_, &options::file_list_delim_specified_ >; - _cli_options_map_["--disable-multi-import"] = - &::cli::thunk< options, bool, &options::disable_multi_import_ >; - _cli_options_map_["--disable-full-check"] = - &::cli::thunk< options, bool, &options::disable_full_check_ >; + _cli_options_map_["--disable-multi-import"] = + &::cli::thunk< options, &options::disable_multi_import_ >; + _cli_options_map_["--disable-full-check"] = + &::cli::thunk< options, &options::disable_full_check_ >; } }; diff --git a/xsd/xsd/options.hxx b/xsd/pregenerated/xsd/options.hxx index ed243bc..0f4383c 100644 --- a/xsd/xsd/options.hxx +++ b/xsd/pregenerated/xsd/options.hxx @@ -1,23 +1,55 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // -#ifndef OPTIONS_HXX -#define OPTIONS_HXX +#ifndef XSD_OPTIONS_HXX +#define XSD_OPTIONS_HXX // Begin prologue. // // // End prologue. +#include <list> #include <deque> #include <iosfwd> #include <string> #include <cstddef> #include <exception> +#ifndef CLI_POTENTIALLY_UNUSED +# if defined(_MSC_VER) || defined(__xlC__) +# define CLI_POTENTIALLY_UNUSED(x) (void*)&x +# else +# define CLI_POTENTIALLY_UNUSED(x) (void)x +# endif +#endif + namespace cli { + class usage_para + { + public: + enum value + { + none, + text, + option + }; + + usage_para (value); + + operator value () const + { + return v_; + } + + private: + value v_; + }; + class unknown_mode { public: @@ -28,7 +60,7 @@ namespace cli fail }; - unknown_mode (value v); + unknown_mode (value); operator value () const { @@ -56,7 +88,7 @@ namespace cli { public: virtual - ~unknown_option () throw (); + ~unknown_option () noexcept; unknown_option (const std::string& option); @@ -67,7 +99,7 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string option_; @@ -77,7 +109,7 @@ namespace cli { public: virtual - ~unknown_argument () throw (); + ~unknown_argument () noexcept; unknown_argument (const std::string& argument); @@ -88,7 +120,7 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string argument_; @@ -98,7 +130,7 @@ namespace cli { public: virtual - ~missing_value () throw (); + ~missing_value () noexcept; missing_value (const std::string& option); @@ -109,7 +141,7 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string option_; @@ -119,10 +151,11 @@ namespace cli { public: virtual - ~invalid_value () throw (); + ~invalid_value () noexcept; invalid_value (const std::string& option, - const std::string& value); + const std::string& value, + const std::string& message = std::string ()); const std::string& option () const; @@ -130,15 +163,19 @@ namespace cli const std::string& value () const; + const std::string& + message () const; + virtual void print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string option_; std::string value_; + std::string message_; }; class eos_reached: public exception @@ -148,14 +185,14 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; }; class file_io_failure: public exception { public: virtual - ~file_io_failure () throw (); + ~file_io_failure () noexcept; file_io_failure (const std::string& file); @@ -166,7 +203,7 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string file_; @@ -176,7 +213,7 @@ namespace cli { public: virtual - ~unmatched_quote () throw (); + ~unmatched_quote () noexcept; unmatched_quote (const std::string& argument); @@ -187,12 +224,26 @@ namespace cli print (::std::wostream&) const; virtual const char* - what () const throw (); + what () const noexcept; private: std::string argument_; }; + // Command line argument scanner interface. + // + // The values returned by next() are guaranteed to be valid + // for the two previous arguments up until a call to a third + // peek() or next(). + // + // The position() function returns a monotonically-increasing + // number which, if stored, can later be used to determine the + // relative position of the argument returned by the following + // call to next(). Note that if multiple scanners are used to + // extract arguments from multiple sources, then the end + // position of the previous scanner should be used as the + // start position of the next. + // class scanner { public: @@ -210,13 +261,24 @@ namespace cli virtual void skip () = 0; + + virtual std::size_t + position () = 0; }; class argv_scanner: public scanner { public: - argv_scanner (int& argc, char** argv, bool erase = false); - argv_scanner (int start, int& argc, char** argv, bool erase = false); + argv_scanner (int& argc, + char** argv, + bool erase = false, + std::size_t start_position = 0); + + argv_scanner (int start, + int& argc, + char** argv, + bool erase = false, + std::size_t start_position = 0); int end () const; @@ -233,7 +295,11 @@ namespace cli virtual void skip (); - private: + virtual std::size_t + position (); + + protected: + std::size_t start_position_; int i_; int& argc_; char** argv_; @@ -246,13 +312,19 @@ namespace cli argv_file_scanner (int& argc, char** argv, const std::string& option, - bool erase = false); + bool erase = false, + std::size_t start_position = 0); argv_file_scanner (int start, int& argc, char** argv, const std::string& option, - bool erase = false); + bool erase = false, + std::size_t start_position = 0); + + argv_file_scanner (const std::string& file, + const std::string& option, + std::size_t start_position = 0); struct option_info { @@ -269,14 +341,21 @@ namespace cli char** argv, const option_info* options, std::size_t options_count, - bool erase = false); + bool erase = false, + std::size_t start_position = 0); argv_file_scanner (int start, int& argc, char** argv, const option_info* options, std::size_t options_count, - bool erase = false); + bool erase = false, + std::size_t start_position = 0); + + argv_file_scanner (const std::string& file, + const option_info* options = 0, + std::size_t options_count = 0, + std::size_t start_position = 0); virtual bool more (); @@ -290,6 +369,22 @@ namespace cli virtual void skip (); + virtual std::size_t + position (); + + // Return the file path if the peeked at argument came from a file and + // the empty string otherwise. The reference is guaranteed to be valid + // till the end of the scanner lifetime. + // + const std::string& + peek_file (); + + // Return the 1-based line number if the peeked at argument came from + // a file and zero otherwise. + // + std::size_t + peek_line (); + private: const option_info* find (const char*) const; @@ -304,9 +399,25 @@ namespace cli const option_info* options_; std::size_t options_count_; - std::string hold_; - std::deque<std::string> args_; + struct arg + { + std::string value; + const std::string* file; + std::size_t line; + }; + + std::deque<arg> args_; + std::list<std::string> files_; + + // Circular buffer of two arguments. + // + std::string hold_[2]; + std::size_t i_; + bool skip_; + + static int zero_argc_; + static std::string empty_string_; }; template <typename X> @@ -315,11 +426,15 @@ namespace cli #include <cstddef> -#include <types.hxx> +#include <cstdint> + +#include <xsd/types.hxx> class help_options { public: + help_options (); + help_options (int& argc, char** argv, bool erase = false, @@ -352,10 +467,14 @@ class help_options ::cli::unknown_mode option = ::cli::unknown_mode::fail, ::cli::unknown_mode argument = ::cli::unknown_mode::stop); - help_options (); - // Option accessors. // + const std::uint64_t& + build2_metadata () const; + + bool + build2_metadata_specified () const; + const bool& help () const; @@ -367,8 +486,9 @@ class help_options // Print usage information. // - static void - print_usage (::std::wostream&); + static ::cli::usage_para + print_usage (::std::wostream&, + ::cli::usage_para = ::cli::usage_para::none); // Implementation details. // @@ -377,12 +497,14 @@ class help_options _parse (const char*, ::cli::scanner&); private: - void + bool _parse (::cli::scanner&, ::cli::unknown_mode option, ::cli::unknown_mode argument); public: + std::uint64_t build2_metadata_; + bool build2_metadata_specified_; bool help_; bool version_; bool proprietary_license_; @@ -486,6 +608,9 @@ class options bool file_list_specified () const; + const bool& + file_list_only () const; + const NarrowString& file_list_prologue () const; @@ -512,8 +637,9 @@ class options // Print usage information. // - static void - print_usage (::std::wostream&); + static ::cli::usage_para + print_usage (::std::wostream&, + ::cli::usage_para = ::cli::usage_para::none); // Implementation details. // @@ -555,6 +681,7 @@ class options bool fat_type_file_; NarrowString file_list_; bool file_list_specified_; + bool file_list_only_; NarrowString file_list_prologue_; bool file_list_prologue_specified_; NarrowString file_list_epilogue_; @@ -565,11 +692,11 @@ class options bool disable_full_check_; }; -#include <options.ixx> +#include <xsd/options.ixx> // Begin epilogue. // // // End epilogue. -#endif // OPTIONS_HXX +#endif // XSD_OPTIONS_HXX diff --git a/xsd/xsd/options.ixx b/xsd/pregenerated/xsd/options.ixx index f30c651..d87e59c 100644 --- a/xsd/xsd/options.ixx +++ b/xsd/pregenerated/xsd/options.ixx @@ -1,4 +1,6 @@ -// This code was generated by CLI, a command line interface +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface // compiler for C++. // @@ -7,8 +9,18 @@ // // End prologue. +#include <cassert> + namespace cli { + // usage_para + // + inline usage_para:: + usage_para (value v) + : v_ (v) + { + } + // unknown_mode // inline unknown_mode:: @@ -72,8 +84,11 @@ namespace cli // inline invalid_value:: invalid_value (const std::string& option, - const std::string& value) - : option_ (option), value_ (value) + const std::string& value, + const std::string& message) + : option_ (option), + value_ (value), + message_ (message) { } @@ -89,6 +104,12 @@ namespace cli return value_; } + inline const std::string& invalid_value:: + message () const + { + return message_; + } + // file_io_failure // inline file_io_failure:: @@ -120,14 +141,29 @@ namespace cli // argv_scanner // inline argv_scanner:: - argv_scanner (int& argc, char** argv, bool erase) - : i_ (1), argc_ (argc), argv_ (argv), erase_ (erase) + argv_scanner (int& argc, + char** argv, + bool erase, + std::size_t sp) + : start_position_ (sp + 1), + i_ (1), + argc_ (argc), + argv_ (argv), + erase_ (erase) { } inline argv_scanner:: - argv_scanner (int start, int& argc, char** argv, bool erase) - : i_ (start), argc_ (argc), argv_ (argv), erase_ (erase) + argv_scanner (int start, + int& argc, + char** argv, + bool erase, + std::size_t sp) + : start_position_ (sp + static_cast<std::size_t> (start)), + i_ (start), + argc_ (argc), + argv_ (argv), + erase_ (erase) { } @@ -143,11 +179,13 @@ namespace cli argv_file_scanner (int& argc, char** argv, const std::string& option, - bool erase) - : argv_scanner (argc, argv, erase), + bool erase, + std::size_t sp) + : argv_scanner (argc, argv, erase, sp), option_ (option), options_ (&option_info_), options_count_ (1), + i_ (1), skip_ (false) { option_info_.option = option_.c_str (); @@ -159,15 +197,34 @@ namespace cli int& argc, char** argv, const std::string& option, - bool erase) - : argv_scanner (start, argc, argv, erase), + bool erase, + std::size_t sp) + : argv_scanner (start, argc, argv, erase, sp), + option_ (option), + options_ (&option_info_), + options_count_ (1), + i_ (1), + skip_ (false) + { + option_info_.option = option_.c_str (); + option_info_.search_func = 0; + } + + inline argv_file_scanner:: + argv_file_scanner (const std::string& file, + const std::string& option, + std::size_t sp) + : argv_scanner (0, zero_argc_, 0, sp), option_ (option), options_ (&option_info_), options_count_ (1), + i_ (1), skip_ (false) { option_info_.option = option_.c_str (); option_info_.search_func = 0; + + load (file); } inline argv_file_scanner:: @@ -175,10 +232,12 @@ namespace cli char** argv, const option_info* options, std::size_t options_count, - bool erase) - : argv_scanner (argc, argv, erase), + bool erase, + std::size_t sp) + : argv_scanner (argc, argv, erase, sp), options_ (options), options_count_ (options_count), + i_ (1), skip_ (false) { } @@ -189,18 +248,46 @@ namespace cli char** argv, const option_info* options, std::size_t options_count, - bool erase) - : argv_scanner (start, argc, argv, erase), + bool erase, + std::size_t sp) + : argv_scanner (start, argc, argv, erase, sp), + options_ (options), + options_count_ (options_count), + i_ (1), + skip_ (false) + { + } + + inline argv_file_scanner:: + argv_file_scanner (const std::string& file, + const option_info* options, + std::size_t options_count, + std::size_t sp) + : argv_scanner (0, zero_argc_, 0, sp), options_ (options), options_count_ (options_count), + i_ (1), skip_ (false) { + load (file); } } // help_options // +inline const std::uint64_t& help_options:: +build2_metadata () const +{ + return this->build2_metadata_; +} + +inline bool help_options:: +build2_metadata_specified () const +{ + return this->build2_metadata_specified_; +} + inline const bool& help_options:: help () const { @@ -408,6 +495,12 @@ file_list_specified () const return this->file_list_specified_; } +inline const bool& options:: +file_list_only () const +{ + return this->file_list_only_; +} + inline const NarrowString& options:: file_list_prologue () const { diff --git a/xsd/xsd/processing/cardinality/processor.cxx b/xsd/processing/cardinality/processor.cxx index f43395a..c8c5dc5 100644 --- a/xsd/xsd/processing/cardinality/processor.cxx +++ b/xsd/processing/cardinality/processor.cxx @@ -1,15 +1,14 @@ -// file : processing/cardinality/processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +// file : xsd/processing/cardinality/processor.cxx // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <map> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> -#include <elements.hxx> +#include <xsd/elements.hxx> -#include <processing/cardinality/processor.hxx> +#include <xsd/processing/cardinality/processor.hxx> using namespace std; diff --git a/xsd/processing/cardinality/processor.hxx b/xsd/processing/cardinality/processor.hxx new file mode 100644 index 0000000..93a85fb --- /dev/null +++ b/xsd/processing/cardinality/processor.hxx @@ -0,0 +1,28 @@ +// file : xsd/processing/cardinality/processor.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_PROCESSING_CARDINALITY_PROCESSOR_HXX +#define XSD_PROCESSING_CARDINALITY_PROCESSOR_HXX + +#include <libxsd-frontend/semantic-graph/elements.hxx> // Path +#include <libxsd-frontend/semantic-graph/schema.hxx> + +#include <xsd/types.hxx> + +namespace Processing +{ + namespace Cardinality + { + class Processor + { + public: + struct Failed {}; + + void + process (XSDFrontend::SemanticGraph::Schema&, + XSDFrontend::SemanticGraph::Path const& file); + }; + } +} + +#endif // XSD_PROCESSING_CARDINALITY_PROCESSOR_HXX diff --git a/xsd/xsd/processing/inheritance/processor.cxx b/xsd/processing/inheritance/processor.cxx index 6680a39..6c0e40e 100644 --- a/xsd/xsd/processing/inheritance/processor.cxx +++ b/xsd/processing/inheritance/processor.cxx @@ -1,16 +1,15 @@ -// file : processing/inheritance/processor.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC +// file : xsd/processing/inheritance/processor.cxx // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <set> #include <iostream> -#include <processing/inheritance/processor.hxx> +#include <xsd/processing/inheritance/processor.hxx> -#include <elements.hxx> +#include <xsd/elements.hxx> -#include <xsd-frontend/semantic-graph.hxx> -#include <xsd-frontend/traversal.hxx> +#include <libxsd-frontend/semantic-graph.hxx> +#include <libxsd-frontend/traversal.hxx> using namespace std; diff --git a/xsd/processing/inheritance/processor.hxx b/xsd/processing/inheritance/processor.hxx new file mode 100644 index 0000000..2a70e02 --- /dev/null +++ b/xsd/processing/inheritance/processor.hxx @@ -0,0 +1,28 @@ +// file : xsd/processing/inheritance/processor.hxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_PROCESSING_INHERITANCE_PROCESSOR_HXX +#define XSD_PROCESSING_INHERITANCE_PROCESSOR_HXX + +#include <libxsd-frontend/semantic-graph/elements.hxx> // Path +#include <libxsd-frontend/semantic-graph/schema.hxx> + +#include <xsd/types.hxx> + +namespace Processing +{ + namespace Inheritance + { + class Processor + { + public: + struct Failed {}; + + void + process (XSDFrontend::SemanticGraph::Schema&, + XSDFrontend::SemanticGraph::Path const& file); + }; + } +} + +#endif // XSD_PROCESSING_INHERITANCE_PROCESSOR_HXX diff --git a/xsd/tests/clash/clash.xsd b/xsd/tests/clash/clash.xsd deleted file mode 100644 index 8458908..0000000 --- a/xsd/tests/clash/clash.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test/bar" - xmlns:f="http://www.codesynthesis.com/xmlns/test/foo" - targetNamespace="http://www.codesynthesis.com/xmlns/test/bar"> - - <xsd:import namespace="http://www.codesynthesis.com/xmlns/test/foo" schemaLocation="foo.xsd"/> - - <!-- example of a name clash. --> - - <xsd:element name="foo" type="xsd:string"/> - - <xsd:complexType name="Foo"> - <xsd:sequence> - <xsd:element ref="foo"/> - <xsd:element name="foo" type="xsd:long"/> - <xsd:element ref="f:foo"/> - <xsd:element ref="f:foo"/> - </xsd:sequence> - <xsd:attribute name="foo" type="xsd:string"/> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/clash/foo.xsd b/xsd/tests/clash/foo.xsd deleted file mode 100644 index 8a06ba8..0000000 --- a/xsd/tests/clash/foo.xsd +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test/foo" - targetNamespace="http://www.codesynthesis.com/xmlns/test/foo"> - - <xsd:element name="foo" type="xsd:int"/> - <xsd:element name="bar" type="xsd:int"/> - -</xsd:schema> diff --git a/xsd/tests/code/name-conflict/test.xsd b/xsd/tests/code/name-conflict/test.xsd deleted file mode 100644 index a017cc8..0000000 --- a/xsd/tests/code/name-conflict/test.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:simpleType name="enumeration"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="enumeration"/> - <xsd:enumeration value="enumeration1"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:element name="enumeration" type="enumeration"/> - - <xsd:complexType name="complex"> - <xsd:sequence> - <xsd:element name="complex" type="xsd:string"/> - <xsd:element name="complex1" type="xsd:string"/> - <xsd:element name="type" type="xsd:string"/> - <xsd:element name="container" type="xsd:string" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="complex" type="complex"/> - - <xsd:complexType name="anonymous"> - <xsd:sequence> - <xsd:element name="anonymous"> - <xsd:complexType> <!-- this is really twisted --> - <xsd:sequence> - <xsd:element name="anonymous2" type="xsd:string"/> - <xsd:element name="anonymous21" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - <xsd:element name="anonymous1" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="anonymous" type="anonymous"/> - -</xsd:schema> diff --git a/xsd/tests/code/name-escaping/test.xsd b/xsd/tests/code/name-escaping/test.xsd deleted file mode 100644 index 08c7530..0000000 --- a/xsd/tests/code/name-escaping/test.xsd +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- type --> - - <xsd:simpleType name="long"> - <xsd:restriction base="xsd:long"/> - </xsd:simpleType> - - <xsd:simpleType name="strange.type-name."> - <xsd:restriction base="long"/> - </xsd:simpleType> - - <xsd:element name="one-two-explicit"> - <xsd:simpleType> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="on.e-"/> - <xsd:enumeration value="t-wo."/> - <xsd:enumeration value="explicit"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:element> - - - <!-- element [global/local] --> - - <xsd:element name="switch" type="long"/> - <xsd:element name="strange.element-name." type="strange.type-name."/> - - - <xsd:element name="with-anonymous-type-1"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="for" type="long"/> - <xsd:element name="switch" minOccurs="0" type="long"/> - <xsd:element name="strange.element-name." maxOccurs="unbounded" type="strange.type-name."/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - - <!-- attributes [global/local] --> - - <xsd:attribute name="default" type="long"/> - <xsd:attribute name="strange.attribute-name." type="strange.type-name."/> - - <xsd:element name="with-anonymous-type-2"> - <xsd:complexType> - <xsd:attribute name="and" type="long" use="required"/> - <xsd:attribute name="strange.attribute-name." type="strange.type-name."/> - </xsd:complexType> - </xsd:element> - - -</xsd:schema> diff --git a/xsd/tests/cxx/makefile b/xsd/tests/cxx/makefile deleted file mode 100644 index 2e1364a..0000000 --- a/xsd/tests/cxx/makefile +++ /dev/null @@ -1,16 +0,0 @@ -# file : tests/cxx/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../build/bootstrap.make - -default := $(out_base)/ -test := $(out_base)/.test -clean := $(out_base)/.clean - -$(default): $(out_base)/parser/ $(out_base)/tree/ -$(test): $(out_base)/parser/.test $(out_base)/tree/.test -$(clean): $(out_base)/parser/.clean $(out_base)/tree/.clean - -$(call import,$(src_base)/parser/makefile) -$(call import,$(src_base)/tree/makefile) diff --git a/xsd/tests/cxx/parser/built-in/driver.cxx b/xsd/tests/cxx/parser/built-in/driver.cxx deleted file mode 100644 index 2791387..0000000 --- a/xsd/tests/cxx/parser/built-in/driver.cxx +++ /dev/null @@ -1,530 +0,0 @@ -// file : tests/cxx/parser/built-in/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test built-in type parsing. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct any_type_pimpl: xml_schema::any_type_pimpl -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - _start_any_element (ro_string const&, - ro_string const& n, - ro_string const*) - { - cout << " start any element '" << n << "'" << endl; - } - - virtual void - _end_any_element (ro_string const&, ro_string const& n) - { - cout << " end any element '" << n << "'" << endl; - } - - virtual void - _any_attribute (ro_string const&, - ro_string const& n, - ro_string const& v) - { - cout << " any attribute " << n << " = '" << v << "'" << endl; - } - - virtual void - _any_characters (ro_string const& s) - { - cout << " any text: '" << s << "'" << endl; - } - - virtual void - post_any_type () - { - cout << "}" << endl - << endl; - } -}; - -struct any_simple_type_pimpl: xml_schema::any_simple_type_pimpl -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - _any_characters (ro_string const& s) - { - cout << " any text: '" << s << "'" << endl; - } - - virtual void - post_any_simple_type () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ - virtual void - boolean (bool v) - { - cout << v << endl; - } - - virtual void - byte (signed char v) - { - cout << short (v) << endl; - } - - virtual void - unsigned_byte (unsigned char v) - { - cout << (unsigned short) (v) << endl; - } - - virtual void - short_ (short v) - { - cout << v << endl; - } - - virtual void - unsigned_short (unsigned short v) - { - cout << v << endl; - } - - virtual void - int_ (int v) - { - cout << v << endl; - } - - virtual void - unsigned_int (unsigned int v) - { - cout << v << endl; - } - - virtual void - long_ (long long v) - { - cout << v << endl; - } - - virtual void - unsigned_long (unsigned long long v) - { - cout << v << endl; - } - - virtual void - integer (long long v) - { - cout << v << endl; - } - - virtual void - negative_integer (long long v) - { - cout << v << endl; - } - - - virtual void - non_positive_integer (long long v) - { - cout << v << endl; - } - - - virtual void - positive_integer (unsigned long long v) - { - cout << v << endl; - } - - virtual void - non_negative_integer (unsigned long long v) - { - cout << v << endl; - } - - virtual void - float_ (float v) - { - cout << v << endl; - } - - virtual void - double_ (double v) - { - cout << v << endl; - } - - virtual void - decimal (double v) - { - cout << v << endl; - } - - virtual void - string (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - normalized_string (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - token (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - name (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - nmtoken (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - nmtokens (xml_schema::string_sequence const& s) - { - cout << "'"; - - for (xml_schema::string_sequence::const_iterator i (s.begin ()); - i != s.end (); ++i) - cout << *i << " "; - - cout << "'" << endl; - } - - virtual void - ncname (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - id (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - idref (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - idrefs (xml_schema::string_sequence const& s) - { - cout << "'"; - - for (xml_schema::string_sequence::const_iterator i (s.begin ()); - i != s.end (); ++i) - cout << *i << " "; - - cout << "'" << endl; - } - - virtual void - language (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - uri (std::string const& v) - { - cout << "'" << v << "'" << endl; - } - - virtual void - qname (xml_schema::qname const& v) - { - cout << "'" << v.prefix () << ":" << v.name () << "'" << endl; - } - - virtual void - base64_binary (XSD_AUTO_PTR<xml_schema::buffer> v) - { - std::string tmp (v->data (), v->size ()); - cout << "'" << tmp << "'" << endl; - } - - virtual void - hex_binary (XSD_AUTO_PTR<xml_schema::buffer> v) - { - std::string tmp (v->data (), v->size ()); - cout << "'" << tmp << "'" << endl; - } - - virtual void - gday (xml_schema::gday const& v) - { - cout << v.day (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - gmonth (xml_schema::gmonth const& v) - { - cout << v.month (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - gyear (xml_schema::gyear const& v) - { - cout << v.year (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - gmonth_day (xml_schema::gmonth_day const& v) - { - cout << v.month () << '-' << v.day (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - gyear_month (xml_schema::gyear_month const& v) - { - cout << v.year () << '-' << v.month (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - date (xml_schema::date const& v) - { - cout << v.year () << '-' << v.month () << '-' << v.day (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - time (xml_schema::time const& v) - { - cout << v.hours () << ':' << v.minutes () << ':' << v.seconds (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - date_time (xml_schema::date_time const& v) - { - cout << v.year () << '-' << v.month () << '-' << v.day () << 'T' - << v.hours () << ':' << v.minutes () << ':' << v.seconds (); - - if (v.zone_present ()) - cout << (v.zone_hours () < 0 ? "" : "+") << v.zone_hours () - << ':' << v.zone_minutes (); - - cout << endl; - } - - virtual void - duration (xml_schema::duration const& v) - { - cout << (v.negative () ? "-" : "") << 'P' - << v.years () << 'Y' - << v.months () << 'M' - << v.days () << 'D' - << 'T' - << v.hours () << 'H' - << v.minutes () << 'M' - << v.seconds () << 'S' - << endl; - } -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - any_type_pimpl any_type_p; - any_simple_type_pimpl any_simple_type_p; - - xml_schema::boolean_pimpl boolean_p; - - xml_schema::byte_pimpl byte_p; - xml_schema::unsigned_byte_pimpl unsigned_byte_p; - xml_schema::short_pimpl short_p; - xml_schema::unsigned_short_pimpl unsigned_short_p; - xml_schema::int_pimpl int_p; - xml_schema::unsigned_int_pimpl unsigned_int_p; - xml_schema::long_pimpl long_p; - xml_schema::unsigned_long_pimpl unsigned_long_p; - - xml_schema::integer_pimpl integer_p; - xml_schema::negative_integer_pimpl negative_integer_p; - xml_schema::non_positive_integer_pimpl non_positive_integer_p; - xml_schema::positive_integer_pimpl positive_integer_p; - xml_schema::non_negative_integer_pimpl non_negative_integer_p; - - xml_schema::float_pimpl float_p; - xml_schema::double_pimpl double_p; - xml_schema::decimal_pimpl decimal_p; - - xml_schema::string_pimpl string_p; - xml_schema::normalized_string_pimpl normalized_string_p; - xml_schema::token_pimpl token_p; - xml_schema::name_pimpl name_p; - xml_schema::nmtoken_pimpl nmtoken_p; - xml_schema::nmtokens_pimpl nmtokens_p; - xml_schema::ncname_pimpl ncname_p; - xml_schema::id_pimpl id_p; - xml_schema::idref_pimpl idref_p; - xml_schema::idrefs_pimpl idrefs_p; - - xml_schema::language_pimpl language_p; - xml_schema::uri_pimpl uri_p; - xml_schema::qname_pimpl qname_p; - - xml_schema::base64_binary_pimpl base64_binary_p; - xml_schema::hex_binary_pimpl hex_binary_p; - - xml_schema::gday_pimpl gday_p; - xml_schema::gmonth_pimpl gmonth_p; - xml_schema::gyear_pimpl gyear_p; - xml_schema::gmonth_day_pimpl gmonth_day_p; - xml_schema::gyear_month_pimpl gyear_month_p; - xml_schema::date_pimpl date_p; - xml_schema::time_pimpl time_p; - xml_schema::date_time_pimpl date_time_p; - xml_schema::duration_pimpl duration_p; - - type_pimpl type_p; - - type_p.parsers (any_type_p, - any_simple_type_p, - boolean_p, - byte_p, - unsigned_byte_p, - short_p, - unsigned_short_p, - int_p, - unsigned_int_p, - long_p, - unsigned_long_p, - integer_p, - negative_integer_p, - non_positive_integer_p, - positive_integer_p, - non_negative_integer_p, - float_p, - double_p, - decimal_p, - string_p, - normalized_string_p, - token_p, - name_p, - nmtoken_p, - nmtokens_p, - ncname_p, - id_p, - idref_p, - idrefs_p, - language_p, - uri_p, - qname_p, - base64_binary_p, - hex_binary_p, - gday_p, - gmonth_p, - gyear_p, - gmonth_day_p, - gyear_month_p, - date_p, - time_p, - date_time_p, - duration_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/built-in/makefile b/xsd/tests/cxx/parser/built-in/makefile deleted file mode 100644 index 64987d0..0000000 --- a/xsd/tests/cxx/parser/built-in/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : tests/cxx/parser/built-in/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/built-in/output b/xsd/tests/cxx/parser/built-in/output deleted file mode 100644 index 756abcd..0000000 --- a/xsd/tests/cxx/parser/built-in/output +++ /dev/null @@ -1,164 +0,0 @@ -{ - any attribute x = 'x' - any text: ' - ' - start any element 'a' - any text: 'a' - end any element 'a' - any text: ' - ' - start any element 'any-type' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any-type' - any text: ' - ' -} - -{ - any text: '123abc' -} - -1 -0 -1 -0 -0 -127 --128 -123 -0 -255 -123 -0 -32767 --32768 --12345 -0 -65535 -12345 -0 -2147483647 --2147483648 --1234567890 -0 -4294967295 -1234567890 -0 -9223372036854775807 --9223372036854775808 --1234567890123456789 -0 -18446744073709551615 -12345678901234567890 -0 -2147483647 --2147483648 --1234567890 --2147483648 --1234567890 -0 --2147483648 --1234567890 -4294967295 -1234567890 -0 -4294967295 -1234567890 -0 -0 --0 -inf --inf -nan -123.567 -123.567 --1.23567e+07 --4.5e-06 -0 -0 --0 -inf --inf -nan -123.567 -123.567 --1.23567e+07 --4.5e-06 -0 -0 --0 -123.567 -123.567 --123.567 -'string space -newline - ' -' string space newline ' -'string space newline' -'as123:345-.abs' -'1as123:345-.abs' -'abc 123 ' -'as123_345-.abs' -'as123_345-.abs' -'abc' -'a123' -'as123_345-.abs' -'abc a123 ' -'x' -'en' -'en-us' -'one-two-three-four44-seven77-eight888' -'' -'relative' -'#id' -'http://www.example.com/foo#bar' -':schemaLocation' -'xsi:schemaLocation' -'12345abcjk' -'a' -'ab' -'abc' -'' -'12345abcjk' -12+12:0 -1 -31 -15+0:0 -15-14:0 -10+12:0 -1 -12+0:0 -2007+12:0 -1 --20000+0:0 -10-28+12:0 -12-31 -1-1+0:0 -2007-12+12:0 --2007-10 -20007-10+0:0 --20007-1 -2007-12-26+12:0 --2007-10-15 -20007-12-31+0:0 --20007-1-1 -12:46:23.456+12:0 -12:13:14 -12:13:14+0:0 -2007-12-26T12:13:14.123+12:0 --2007-10-15T12:13:14 -20007-12-31T12:13:14+0:0 --20007-1-1T12:13:14 --P2007Y13M32DT25H61M61.123S -P1Y0M0DT0H0M0S -P0Y1M0DT0H0M0S -P0Y0M1DT0H0M0S -P0Y0M0DT1H0M0S -P0Y0M0DT0H1M0S -P0Y0M0DT0H0M1.1S -P1Y0M0DT0H0M1S diff --git a/xsd/tests/cxx/parser/built-in/test.xml b/xsd/tests/cxx/parser/built-in/test.xml deleted file mode 100644 index 8d9332a..0000000 --- a/xsd/tests/cxx/parser/built-in/test.xml +++ /dev/null @@ -1,199 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <any-type x="x"> - <a>a</a> - <any-type x="xxx">aaa<a>bbb</a>ccc</any-type> - </any-type> - - <any-simple-type>123abc</any-simple-type> - - <boolean>1</boolean> - <boolean> 0 </boolean> - <boolean>true</boolean> - <boolean> false </boolean> - - <byte>0</byte> - <byte>+127</byte> - <byte>-128</byte> - <byte> 123 </byte> - - <unsigned-byte>0</unsigned-byte> - <unsigned-byte>255</unsigned-byte> - <unsigned-byte> 123 </unsigned-byte> - - <short>0</short> - <short>+32767</short> - <short>-32768</short> - <short> -12345 </short> - - <unsigned-short>0</unsigned-short> - <unsigned-short>65535</unsigned-short> - <unsigned-short> 12345 </unsigned-short> - - <int>0</int> - <int>+2147483647</int> - <int>-2147483648</int> - <int> -1234567890 </int> - - <unsigned-int>0</unsigned-int> - <unsigned-int>4294967295</unsigned-int> - <unsigned-int> 1234567890 </unsigned-int> - - <long>0</long> - <long>+9223372036854775807</long> - <long>-9223372036854775808</long> - <long> -1234567890123456789 </long> - - <unsigned-long>0</unsigned-long> - <unsigned-long>18446744073709551615</unsigned-long> - <unsigned-long> 12345678901234567890 </unsigned-long> - - <integer>0</integer> - <integer> +2147483647 </integer> - <integer>-02147483648</integer> - <integer>-1234567890</integer> - - <negative-integer>-02147483648</negative-integer> - <negative-integer> -1234567890 </negative-integer> - - <non-positive-integer>0</non-positive-integer> - <non-positive-integer>-02147483648</non-positive-integer> - <non-positive-integer> -1234567890 </non-positive-integer> - - <positive-integer>4294967295</positive-integer> - <positive-integer> +01234567890 </positive-integer> - - <non-negative-integer>0</non-negative-integer> - <non-negative-integer>4294967295</non-negative-integer> - <non-negative-integer> +01234567890 </non-negative-integer> - - <float>0</float> - <float>+0</float> - <float>-0</float> - <float>INF</float> - <float>-INF</float> - <float>NaN</float> - <float> 123.567 </float> - <float>+123.567</float> - <float>-123.567e5</float> - <float>-.45E-5</float> - - <double>0</double> - <double>+0</double> - <double>-0</double> - <double>INF</double> - <double>-INF</double> - <double>NaN</double> - <double> 123.567 </double> - <double>+123.567</double> - <double>-123.567e5</double> - <double>-.45E-5</double> - - <decimal>0</decimal> - <decimal>+0</decimal> - <decimal>-0</decimal> - <decimal> 123.567 </decimal> - <decimal>+123.567</decimal> - <decimal>-123.567</decimal> - - <string>string space -newline - </string> - - <normalized-string> string space -newline - - </normalized-string> - - <token> string space -newline - - </token> - - <name> as123:345-.abs </name> - - <nmtoken> 1as123:345-.abs </nmtoken> - - <nmtokens> abc 123 </nmtokens> - - <ncname> as123_345-.abs </ncname> - - <id> as123_345-.abs </id> - <id> abc </id> - <id> a123 </id> - - <idref> as123_345-.abs </idref> - - <idrefs> abc a123 </idrefs> - - <language> x </language> - <language> en </language> - <language> en-us </language> - <language>one-two-three-four44-seven77-eight888</language> - - <uri> </uri> - <uri> relative </uri> - <uri> #id </uri> - <uri> http://www.example.com/foo#bar </uri> - - <qname>schemaLocation</qname> - <qname>xsi:schemaLocation</qname> - - <base64_binary> MTIzND - VhYmNqaw = =</base64_binary> - <base64_binary>YQ==</base64_binary> - <base64_binary>YWI=</base64_binary> - <base64_binary>YWJj</base64_binary> - - <hex_binary> </hex_binary> - <hex_binary> 31323334356162636a6b </hex_binary> - - <gday> ---12+12:00 </gday> - <gday>---01</gday> - <gday>---31</gday> - <gday>---15Z</gday> - <gday>---15-14:00</gday> - - <gmonth> --10+12:00 </gmonth> - <gmonth>--01</gmonth> - <gmonth>--12Z</gmonth> - - <gyear> 2007+12:00 </gyear> - <gyear>0001</gyear> - <gyear>-20000Z</gyear> - - <gmonth_day> --10-28+12:00 </gmonth_day> - <gmonth_day>--12-31</gmonth_day> - <gmonth_day>--01-01Z</gmonth_day> - - <gyear_month> 2007-12+12:00 </gyear_month> - <gyear_month>-2007-10</gyear_month> - <gyear_month>20007-10Z</gyear_month> - <gyear_month>-20007-01</gyear_month> - - <date> 2007-12-26+12:00 </date> - <date>-2007-10-15</date> - <date>20007-12-31Z</date> - <date>-20007-01-01</date> - - <time> 12:46:23.456+12:00 </time> - <time>12:13:14</time> - <time>12:13:14Z</time> - - <date_time> 2007-12-26T12:13:14.123+12:00 </date_time> - <date_time>-2007-10-15T12:13:14</date_time> - <date_time>20007-12-31T12:13:14Z</date_time> - <date_time>-20007-01-01T12:13:14</date_time> - - <duration> -P2007Y13M32DT25H61M61.123S </duration> - <duration>P1Y</duration> - <duration>P1M</duration> - <duration>P1D</duration> - <duration>PT1H</duration> - <duration>PT1M</duration> - <duration>PT1.1S</duration> - <duration>P1YT1S</duration> - -</t:root> diff --git a/xsd/tests/cxx/parser/built-in/test.xsd b/xsd/tests/cxx/parser/built-in/test.xsd deleted file mode 100644 index 9c00eb4..0000000 --- a/xsd/tests/cxx/parser/built-in/test.xsd +++ /dev/null @@ -1,63 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="any-type" type="anyType" maxOccurs="unbounded"/> - <element name="any-simple-type" type="anySimpleType" maxOccurs="unbounded"/> - - <element name="boolean" type="boolean" maxOccurs="unbounded"/> - - <element name="byte" type="byte" maxOccurs="unbounded"/> - <element name="unsigned-byte" type="unsignedByte" maxOccurs="unbounded"/> - <element name="short" type="short" maxOccurs="unbounded"/> - <element name="unsigned-short" type="unsignedShort" maxOccurs="unbounded"/> - <element name="int" type="int" maxOccurs="unbounded"/> - <element name="unsigned-int" type="unsignedInt" maxOccurs="unbounded"/> - <element name="long" type="long" maxOccurs="unbounded"/> - <element name="unsigned-long" type="unsignedLong" maxOccurs="unbounded"/> - - <element name="integer" type="integer" maxOccurs="unbounded"/> - <element name="negative-integer" type="negativeInteger" maxOccurs="unbounded"/> - <element name="non-positive-integer" type="nonPositiveInteger" maxOccurs="unbounded"/> - <element name="positive-integer" type="positiveInteger" maxOccurs="unbounded"/> - <element name="non-negative-integer" type="nonNegativeInteger" maxOccurs="unbounded"/> - - <element name="float" type="float" maxOccurs="unbounded"/> - <element name="double" type="double" maxOccurs="unbounded"/> - <element name="decimal" type="decimal" maxOccurs="unbounded"/> - - <element name="string" type="string" maxOccurs="unbounded"/> - <element name="normalized-string" type="normalizedString" maxOccurs="unbounded"/> - <element name="token" type="token" maxOccurs="unbounded"/> - <element name="name" type="Name" maxOccurs="unbounded"/> - <element name="nmtoken" type="NMTOKEN" maxOccurs="unbounded"/> - <element name="nmtokens" type="NMTOKENS" maxOccurs="unbounded"/> - <element name="ncname" type="NCName" maxOccurs="unbounded"/> - <element name="id" type="ID" maxOccurs="unbounded"/> - <element name="idref" type="IDREF" maxOccurs="unbounded"/> - <element name="idrefs" type="IDREFS" maxOccurs="unbounded"/> - - <element name="language" type="language" maxOccurs="unbounded"/> - <element name="uri" type="anyURI" maxOccurs="unbounded"/> - <element name="qname" type="QName" maxOccurs="unbounded"/> - - <element name="base64_binary" type="base64Binary" maxOccurs="unbounded"/> - <element name="hex_binary" type="hexBinary" maxOccurs="unbounded"/> - - <element name="gday" type="gDay" maxOccurs="unbounded"/> - <element name="gmonth" type="gMonth" maxOccurs="unbounded"/> - <element name="gyear" type="gYear" maxOccurs="unbounded"/> - <element name="gmonth_day" type="gMonthDay" maxOccurs="unbounded"/> - <element name="gyear_month" type="gYearMonth" maxOccurs="unbounded"/> - <element name="date" type="date" maxOccurs="unbounded"/> - <element name="time" type="time" maxOccurs="unbounded"/> - <element name="date_time" type="dateTime" maxOccurs="unbounded"/> - <element name="duration" type="duration" maxOccurs="unbounded"/> - - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/enumeration/driver.cxx b/xsd/tests/cxx/parser/enumeration/driver.cxx deleted file mode 100644 index acd95a0..0000000 --- a/xsd/tests/cxx/parser/enumeration/driver.cxx +++ /dev/null @@ -1,82 +0,0 @@ -// file : tests/cxx/parser/enumeration/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test xsd:enumeration parsing. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace xml_schema; - -struct digit_pimpl: test::digit_pskel, int_pimpl -{ -}; - -struct gender_pimpl: test::gender_pskel, string_pimpl -{ - virtual ::gender - post_gender () - { - std::string str (post_string ()); - - if (str == "male") - return male; - else - return female; - } -}; - -struct type_pimpl: test::type_pskel -{ - virtual void - digit (int i) - { - cout << i << endl; - } - - virtual void - gender (::gender g) - { - cout << g << endl; - } -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - digit_pimpl digit_p; - gender_pimpl gender_p; - type_pimpl type_p; - - type_p.parsers (digit_p, gender_p); - - document doc_p (type_p, "test", "root"); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/enumeration/gender.hxx b/xsd/tests/cxx/parser/enumeration/gender.hxx deleted file mode 100644 index 7540888..0000000 --- a/xsd/tests/cxx/parser/enumeration/gender.hxx +++ /dev/null @@ -1,14 +0,0 @@ -// file : tests/cxx/parser/enumeration/gender.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef GENDER_HXX -#define GENDER_HXX - -enum gender -{ - male, - female -}; - -#endif // GENDER_HXX diff --git a/xsd/tests/cxx/parser/enumeration/makefile b/xsd/tests/cxx/parser/enumeration/makefile deleted file mode 100644 index e991260..0000000 --- a/xsd/tests/cxx/parser/enumeration/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# file : tests/cxx/parser/enumeration/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --type-map $(src_base)/test.map -$(gen): $(out_root)/xsd/xsd $(src_base)/test.map - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/enumeration/output b/xsd/tests/cxx/parser/enumeration/output deleted file mode 100644 index 16db301..0000000 --- a/xsd/tests/cxx/parser/enumeration/output +++ /dev/null @@ -1,3 +0,0 @@ -1 -0 -1 diff --git a/xsd/tests/cxx/parser/enumeration/test.map b/xsd/tests/cxx/parser/enumeration/test.map deleted file mode 100644 index f8868d6..0000000 --- a/xsd/tests/cxx/parser/enumeration/test.map +++ /dev/null @@ -1,7 +0,0 @@ -namespace test -{ - include "gender.hxx"; - - digit int int; - gender ::gender ::gender; -} diff --git a/xsd/tests/cxx/parser/enumeration/test.xml b/xsd/tests/cxx/parser/enumeration/test.xml deleted file mode 100644 index a6fa893..0000000 --- a/xsd/tests/cxx/parser/enumeration/test.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <digit>1</digit> - - <gender>male</gender> - <gender>female</gender> - -</t:root> diff --git a/xsd/tests/cxx/parser/enumeration/test.xsd b/xsd/tests/cxx/parser/enumeration/test.xsd deleted file mode 100644 index ded3a18..0000000 --- a/xsd/tests/cxx/parser/enumeration/test.xsd +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="digit"> - <restriction base="int"> - <enumeration value="0"/> - <enumeration value="1"/> - <enumeration value="2"/> - <enumeration value="3"/> - <enumeration value="4"/> - <enumeration value="5"/> - <enumeration value="6"/> - <enumeration value="7"/> - <enumeration value="8"/> - <enumeration value="9"/> - </restriction> - </simpleType> - - <simpleType name="gender"> - <restriction base="string"> - <enumeration value="male"/> - <enumeration value="female"/> - </restriction> - </simpleType> - - <complexType name="type"> - <choice maxOccurs="unbounded"> - <element name="digit" type="t:digit"/> - <element name="gender" type="t:gender"/> - </choice> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/generated-impl/makefile b/xsd/tests/cxx/parser/generated-impl/makefile deleted file mode 100644 index 251fd41..0000000 --- a/xsd/tests/cxx/parser/generated-impl/makefile +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/cxx/parser/generated-impl/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd - -obj := $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.o) $(xsd:.xsd=-pimpl.o) $(xsd:.xsd=-driver.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/$(xsd:.xsd=-driver) -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) \ - $(xsd:.xsd=-pskel.ixx) \ - $(xsd:.xsd=-pskel.cxx) \ - $(xsd:.xsd=-pimpl.hxx) \ - $(xsd:.xsd=-pimpl.cxx) \ - $(xsd:.xsd=-driver.cxx) - -gen := $(addprefix $(out_base)/,$(genf)) - - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-print-impl --generate-test-driver \ ---force-overwrite -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pimpl.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := $(xsd:.xsd=-driver) $(genf) -$(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) - -xsd_parser_impl_suffix := -pimpl - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/generated-impl/output b/xsd/tests/cxx/parser/generated-impl/output deleted file mode 100644 index 7c58647..0000000 --- a/xsd/tests/cxx/parser/generated-impl/output +++ /dev/null @@ -1,122 +0,0 @@ -gender: male -foo: foo -gender: male -int: 0 -int: 1 -int: 2 -int: 3 -foo: foo -int: 3 -int: 2 -int: 1 -int: 0 -union: 9 -foo: foo -union: string -x: x -a: aaa -x: x -y: y -a: aaa -b: bbb -boolean: 1 -boolean: 0 -boolean: 1 -boolean: 0 -byte: 0 -byte: 123 -byte: -123 -unsigned-byte: 0 -unsigned-byte: 123 -short: 0 -short: -1234 -short: 1234 -unsigned-short: 0 -unsigned-short: 1234 -int: 0 -int: -12345 -int: 12345 -unsigned-int: 0 -unsigned-int: 12345 -long: 0 -long: -123456 -long: 123456 -unsigned-long: 0 -unsigned-long: 123456 -integer: 0 -integer: -123456 -integer: 123456 -negative-integer: -123456 -non-positive-integer: 0 -non-positive-integer: -123456 -positive-integer: 123456 -non-negative-integer: 0 -non-negative-integer: 123456 -float: 0 -float: 1.123 -float: -1.123 -double: 0 -double: 1.1234 -double: -1.1234 -decimal: 0 -decimal: 1.1234 -decimal: -1.1234 -string: string space newline -normalized-string: string space newline -token: string space newline -name: as123:345-.abs -nmtoken: 1as123:345-.abs -nmtokens: abc 123 -ncname: as123_345-.abs -id: abc -id: a123 -idref: abc -idrefs: abc a123 -language: en -language: en-us -uri: http://www.example.com/foo#bar -qname: schemaLocation -qname: xsi:schemaLocation -base64_binary: 10 bytes -base64_binary: 1 bytes -base64_binary: 2 bytes -base64_binary: 3 bytes -hex_binary: 0 bytes -hex_binary: 10 bytes -gday: ---12+12:0 -gday: ---1 -gday: ---31 -gday: ---15+0:0 -gday: ---15-14:0 -gmonth: --10+12:0 -gmonth: --1 -gmonth: --12+0:0 -gyear: 2007+12:0 -gyear: 1 -gyear: -20000+0:0 -gmonth_day: --10-28+12:0 -gmonth_day: --12-31 -gmonth_day: --1-1+0:0 -gyear_month: 2007-12+12:0 -gyear_month: -2007-10 -gyear_month: 20007-10+0:0 -gyear_month: -20007-1 -date: 2007-12-26+12:0 -date: -2007-10-15 -date: 20007-12-31+0:0 -date: -20007-1-1 -time: 12:46:23.456+12:0 -time: 12:13:14 -time: 12:13:14+0:0 -date_time: 2007-12-26T12:13:14.123+12:0 -date_time: -2007-10-15T12:13:14 -date_time: 20007-12-31T12:13:14+0:0 -date_time: -20007-1-1T12:13:14 -duration: -P2007Y13M32DT25H61M61.123S -duration: P1Y0M0DT0H0M0S -duration: P0Y1M0DT0H0M0S -duration: P0Y0M1DT0H0M0S -duration: P0Y0M0DT1H0M0S -duration: P0Y0M0DT0H1M0S -duration: P0Y0M0DT0H0M1.1S -duration: P1Y0M0DT0H0M1S diff --git a/xsd/tests/cxx/parser/generated-impl/test.xml b/xsd/tests/cxx/parser/generated-impl/test.xml deleted file mode 100644 index 2f29a39..0000000 --- a/xsd/tests/cxx/parser/generated-impl/test.xml +++ /dev/null @@ -1,168 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <gender>male</gender> - <gender-extension foo="foo">male</gender-extension> - - <list>0 1 2 3</list> - <list-extension foo="foo">3 2 1 0</list-extension> - - <union>9</union> - <union-extension foo="foo">string</union-extension> - - <complex x="x"> - <a>aaa</a> - </complex> - - <complex-extension x="x" y="y"> - <a>aaa</a> - <b>bbb</b> - </complex-extension> - - <any-type>aaa<b>bbb</b>ccc</any-type> - <any-simple-type>abc123</any-simple-type> - - <boolean>1</boolean> - <boolean> 0 </boolean> - <boolean>true</boolean> - <boolean> false </boolean> - - <byte>0</byte> - <byte>123</byte> - <byte>-123</byte> - - <unsigned-byte>0</unsigned-byte> - <unsigned-byte>123</unsigned-byte> - - <short>0</short> - <short>-1234</short> - <short>1234</short> - - <unsigned-short>0</unsigned-short> - <unsigned-short>1234</unsigned-short> - - <int>0</int> - <int>-12345</int> - <int>12345</int> - - <unsigned-int>0</unsigned-int> - <unsigned-int>12345</unsigned-int> - - <long>0</long> - <long>-123456</long> - <long>123456</long> - - <unsigned-long>0</unsigned-long> - <unsigned-long>123456</unsigned-long> - - <integer>0</integer> - <integer>-123456</integer> - <integer>123456</integer> - - <negative-integer>-123456</negative-integer> - - <non-positive-integer>0</non-positive-integer> - <non-positive-integer>-123456</non-positive-integer> - - <positive-integer>123456</positive-integer> - - <non-negative-integer>0</non-negative-integer> - <non-negative-integer>123456</non-negative-integer> - - <float>0</float> - <float>1.123</float> - <float>-1.123</float> - - <double>0</double> - <double>1.1234</double> - <double>-1.1234</double> - - <decimal>0</decimal> - <decimal>1.1234</decimal> - <decimal>-1.1234</decimal> - - <string>string space newline</string> - - <normalized-string>string space newline</normalized-string> - - <token> string space newline</token> - - <name>as123:345-.abs</name> - - <nmtoken>1as123:345-.abs</nmtoken> - - <nmtokens>abc 123</nmtokens> - - <ncname>as123_345-.abs</ncname> - - <id>abc</id> - <id>a123</id> - - <idref>abc</idref> - - <idrefs>abc a123</idrefs> - - <language>en</language> - <language>en-us</language> - - <uri>http://www.example.com/foo#bar</uri> - - <qname>schemaLocation</qname> - <qname>xsi:schemaLocation</qname> - - <base64_binary>MTIzNDVhYmNqaw==</base64_binary> - <base64_binary>YQ==</base64_binary> - <base64_binary>YWI=</base64_binary> - <base64_binary>YWJj</base64_binary> - - <hex_binary></hex_binary> - <hex_binary>31323334356162636a6b</hex_binary> - - <gday>---12+12:00</gday> - <gday>---01</gday> - <gday>---31</gday> - <gday>---15Z</gday> - <gday>---15-14:00</gday> - - <gmonth>--10+12:00</gmonth> - <gmonth>--01</gmonth> - <gmonth>--12Z</gmonth> - - <gyear>2007+12:00</gyear> - <gyear>0001</gyear> - <gyear>-20000Z</gyear> - - <gmonth_day>--10-28+12:00</gmonth_day> - <gmonth_day>--12-31</gmonth_day> - <gmonth_day>--01-01Z</gmonth_day> - - <gyear_month>2007-12+12:00</gyear_month> - <gyear_month>-2007-10</gyear_month> - <gyear_month>20007-10Z</gyear_month> - <gyear_month>-20007-01</gyear_month> - - <date>2007-12-26+12:00</date> - <date>-2007-10-15</date> - <date>20007-12-31Z</date> - <date>-20007-01-01</date> - - <time>12:46:23.456+12:00</time> - <time>12:13:14</time> - <time>12:13:14Z</time> - - <date_time>2007-12-26T12:13:14.123+12:00</date_time> - <date_time>-2007-10-15T12:13:14</date_time> - <date_time>20007-12-31T12:13:14Z</date_time> - <date_time>-20007-01-01T12:13:14</date_time> - - <duration>-P2007Y13M32DT25H61M61.123S</duration> - <duration>P1Y</duration> - <duration>P1M</duration> - <duration>P1D</duration> - <duration>PT1H</duration> - <duration>PT1M</duration> - <duration>PT1.1S</duration> - <duration>P1YT1S</duration> - -</t:root> diff --git a/xsd/tests/cxx/parser/generated-impl/test.xsd b/xsd/tests/cxx/parser/generated-impl/test.xsd deleted file mode 100644 index 7bc8f23..0000000 --- a/xsd/tests/cxx/parser/generated-impl/test.xsd +++ /dev/null @@ -1,142 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- enum --> - - <simpleType name="gender"> - <restriction base="string"> - <enumeration value="male"/> - <enumeration value="female"/> - </restriction> - </simpleType> - - <complexType name="gender-extension"> - <simpleContent> - <extension base="t:gender"> - <attribute name="foo" type="string"/> - </extension> - </simpleContent> - </complexType> - - <!-- list --> - - <simpleType name="list"> - <list itemType="int"/> - </simpleType> - - <complexType name="list-extension"> - <simpleContent> - <extension base="t:list"> - <attribute name="foo" type="string"/> - </extension> - </simpleContent> - </complexType> - - <!-- union --> - - <simpleType name="union"> - <union memberTypes="int string"/> - </simpleType> - - <complexType name="union-extension"> - <simpleContent> - <extension base="t:union"> - <attribute name="foo" type="string"/> - </extension> - </simpleContent> - </complexType> - - <!-- complex --> - - <complexType name="complex"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="x" type="string"/> - </complexType> - - <complexType name="complex-extension"> - <complexContent> - <extension base="t:complex"> - <sequence> - <element name="b" type="string"/> - </sequence> - <attribute name="y" type="string"/> - </extension> - </complexContent> - </complexType> - - <complexType name="type"> - <sequence> - <element name="gender" type="t:gender"/> - <element name="gender-extension" type="t:gender-extension"/> - - <element name="list" type="t:list"/> - <element name="list-extension" type="t:list-extension"/> - - <element name="union" type="t:union"/> - <element name="union-extension" type="t:union-extension"/> - - <element name="complex" type="t:complex"/> - <element name="complex-extension" type="t:complex-extension"/> - - <!-- Built-in types. --> - - <element name="any-type" type="anyType" maxOccurs="unbounded"/> - <element name="any-simple-type" type="anySimpleType" maxOccurs="unbounded"/> - - <element name="boolean" type="boolean" maxOccurs="unbounded"/> - - <element name="byte" type="byte" maxOccurs="unbounded"/> - <element name="unsigned-byte" type="unsignedByte" maxOccurs="unbounded"/> - <element name="short" type="short" maxOccurs="unbounded"/> - <element name="unsigned-short" type="unsignedShort" maxOccurs="unbounded"/> - <element name="int" type="int" maxOccurs="unbounded"/> - <element name="unsigned-int" type="unsignedInt" maxOccurs="unbounded"/> - <element name="long" type="long" maxOccurs="unbounded"/> - <element name="unsigned-long" type="unsignedLong" maxOccurs="unbounded"/> - - <element name="integer" type="integer" maxOccurs="unbounded"/> - <element name="negative-integer" type="negativeInteger" maxOccurs="unbounded"/> - <element name="non-positive-integer" type="nonPositiveInteger" maxOccurs="unbounded"/> - <element name="positive-integer" type="positiveInteger" maxOccurs="unbounded"/> - <element name="non-negative-integer" type="nonNegativeInteger" maxOccurs="unbounded"/> - - <element name="float" type="float" maxOccurs="unbounded"/> - <element name="double" type="double" maxOccurs="unbounded"/> - <element name="decimal" type="decimal" maxOccurs="unbounded"/> - - <element name="string" type="string" maxOccurs="unbounded"/> - <element name="normalized-string" type="normalizedString" maxOccurs="unbounded"/> - <element name="token" type="token" maxOccurs="unbounded"/> - <element name="name" type="Name" maxOccurs="unbounded"/> - <element name="nmtoken" type="NMTOKEN" maxOccurs="unbounded"/> - <element name="nmtokens" type="NMTOKENS" maxOccurs="unbounded"/> - <element name="ncname" type="NCName" maxOccurs="unbounded"/> - <element name="id" type="ID" maxOccurs="unbounded"/> - <element name="idref" type="IDREF" maxOccurs="unbounded"/> - <element name="idrefs" type="IDREFS" maxOccurs="unbounded"/> - - <element name="language" type="language" maxOccurs="unbounded"/> - <element name="uri" type="anyURI" maxOccurs="unbounded"/> - <element name="qname" type="QName" maxOccurs="unbounded"/> - - <element name="base64_binary" type="base64Binary" maxOccurs="unbounded"/> - <element name="hex_binary" type="hexBinary" maxOccurs="unbounded"/> - - <element name="gday" type="gDay" maxOccurs="unbounded"/> - <element name="gmonth" type="gMonth" maxOccurs="unbounded"/> - <element name="gyear" type="gYear" maxOccurs="unbounded"/> - <element name="gmonth_day" type="gMonthDay" maxOccurs="unbounded"/> - <element name="gyear_month" type="gYearMonth" maxOccurs="unbounded"/> - <element name="date" type="date" maxOccurs="unbounded"/> - <element name="time" type="time" maxOccurs="unbounded"/> - <element name="date_time" type="dateTime" maxOccurs="unbounded"/> - <element name="duration" type="duration" maxOccurs="unbounded"/> - - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/list/driver.cxx b/xsd/tests/cxx/parser/list/driver.cxx deleted file mode 100644 index 0a4071a..0000000 --- a/xsd/tests/cxx/parser/list/driver.cxx +++ /dev/null @@ -1,106 +0,0 @@ -// file : tests/cxx/parser/list/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test xsd:list parsing. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct string_list_pimpl: string_list_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - item (string const& v) - { - cout << " '" << v << "'" << endl; - } - - virtual void - post_string_list () - { - cout << "}" << endl - << endl; - } -}; - -struct string_list_lang_pimpl: string_list_lang_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - item (string const& v) - { - cout << " '" << v << "'" << endl; - } - - virtual void - lang (string const& v) - { - cout << " lang: '" << v << "'" << endl; - } - - virtual void - post_string_list_lang () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - string_list_pimpl string_list_p; - string_list_lang_pimpl string_list_lang_p; - type_pimpl type_p; - - string_list_p.parsers (string_p); - string_list_lang_p.parsers (string_p, string_p); - type_p.parsers (string_list_p, string_list_lang_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/list/makefile b/xsd/tests/cxx/parser/list/makefile deleted file mode 100644 index 9fc63fd..0000000 --- a/xsd/tests/cxx/parser/list/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : tests/cxx/parser/list/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/list/output b/xsd/tests/cxx/parser/list/output deleted file mode 100644 index 3642c4d..0000000 --- a/xsd/tests/cxx/parser/list/output +++ /dev/null @@ -1,26 +0,0 @@ -{ -} - -{ -} - -{ -} - -{ - 'one' -} - -{ - 'one' - 'two' - 'three' -} - -{ - lang: 'en' - 'one' - 'two' - 'three' -} - diff --git a/xsd/tests/cxx/parser/list/test.xml b/xsd/tests/cxx/parser/list/test.xml deleted file mode 100644 index 52229db..0000000 --- a/xsd/tests/cxx/parser/list/test.xml +++ /dev/null @@ -1,25 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <string-list/> - - <string-list> </string-list> - - <string-list> - - </string-list> - - <string-list>one</string-list> - - <string-list> - one two - three - </string-list> - - <string-list-lang lang="en"> - one two - three - </string-list-lang> - -</t:root> diff --git a/xsd/tests/cxx/parser/list/test.xsd b/xsd/tests/cxx/parser/list/test.xsd deleted file mode 100644 index 79bd084..0000000 --- a/xsd/tests/cxx/parser/list/test.xsd +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="string-list"> - <list itemType="string"/> - </simpleType> - - <complexType name="string-list-lang"> - <simpleContent> - <extension base="t:string-list"> - <attribute name="lang" type="string"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="type"> - <choice maxOccurs="unbounded"> - <element name="string-list" type="t:string-list"/> - <element name="string-list-lang" type="t:string-list-lang"/> - </choice> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/makefile b/xsd/tests/cxx/parser/makefile deleted file mode 100644 index 8031478..0000000 --- a/xsd/tests/cxx/parser/makefile +++ /dev/null @@ -1,19 +0,0 @@ -# file : tests/cxx/parser/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -tests := built-in enumeration generated-impl list recursive \ -name-clash/inheritance polymorphism test-template validation \ -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/xsd/tests/cxx/parser/name-clash/inheritance/driver.cxx b/xsd/tests/cxx/parser/name-clash/inheritance/driver.cxx deleted file mode 100644 index af70f88..0000000 --- a/xsd/tests/cxx/parser/name-clash/inheritance/driver.cxx +++ /dev/null @@ -1,63 +0,0 @@ -// file : tests/cxx/parser/name-clash/inheritance/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test for name clashes across inheritance hierarchy. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct derived_pimpl: derived_pskel -{ - virtual void - e (string const& v) - { - cout << "e: " << v << endl; - } - - virtual void - e1 (string const& v) - { - cout << "e1: " << v << endl; - } -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - derived_pimpl derived_p; - - derived_p.parsers (string_p, string_p); - - xml_schema::document doc_p (derived_p, "test", "root"); - - derived_p.pre (); - doc_p.parse (argv[1]); - derived_p.post_derived (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/name-clash/inheritance/makefile b/xsd/tests/cxx/parser/name-clash/inheritance/makefile deleted file mode 100644 index 273c03c..0000000 --- a/xsd/tests/cxx/parser/name-clash/inheritance/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# file : tests/cxx/parser/name-clash/inheritance/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/name-clash/inheritance/output b/xsd/tests/cxx/parser/name-clash/inheritance/output deleted file mode 100644 index 4efd51b..0000000 --- a/xsd/tests/cxx/parser/name-clash/inheritance/output +++ /dev/null @@ -1,2 +0,0 @@ -e: e -e1: e1 diff --git a/xsd/tests/cxx/parser/name-clash/inheritance/test.xml b/xsd/tests/cxx/parser/name-clash/inheritance/test.xml deleted file mode 100644 index 8c17101..0000000 --- a/xsd/tests/cxx/parser/name-clash/inheritance/test.xml +++ /dev/null @@ -1,8 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <e>e</e> - <e>e1</e> - -</t:root> diff --git a/xsd/tests/cxx/parser/name-clash/inheritance/test.xsd b/xsd/tests/cxx/parser/name-clash/inheritance/test.xsd deleted file mode 100644 index 62a782e..0000000 --- a/xsd/tests/cxx/parser/name-clash/inheritance/test.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="base"> - <sequence> - <element name="e" type="string"/> - </sequence> - </complexType> - - <complexType name="derived"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="e" type="string"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="root" type="t:derived"/> - -</schema> diff --git a/xsd/tests/cxx/parser/polymorphism/makefile b/xsd/tests/cxx/parser/polymorphism/makefile deleted file mode 100644 index bb1ebeb..0000000 --- a/xsd/tests/cxx/parser/polymorphism/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/parser/polymorphism/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := same-type recursive - -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/xsd/tests/cxx/parser/polymorphism/recursive/driver.cxx b/xsd/tests/cxx/parser/polymorphism/recursive/driver.cxx deleted file mode 100644 index 2ad96cd..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/driver.cxx +++ /dev/null @@ -1,69 +0,0 @@ -// file : tests/cxx/parser/polymorphism/recursive/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test polymorphic recursive parsing. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" -#include "test-pimpl.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::int_pimpl int_p; - - root_pimpl root_p; - expression_pimpl expression_p; - recursive_pimpl recursive_p; - value_a_pimpl value_a_p; - value_b_pimpl value_b_p; - - xml_schema::parser_map_impl expression_map; - - // Connect the parsers together. - // - root_p.parsers (expression_p); - expression_map.insert(value_a_p); - expression_map.insert(value_b_p); - expression_map.insert(recursive_p); - - root_p.expression_parser(expression_map); - - recursive_p.parsers(expression_p); - recursive_p.expression_parser(expression_map); - - value_a_p.parsers(int_p); - value_b_p.parsers(int_p); - - xml_schema::document doc_p (root_p, "test", "root", true); - - root_p.pre (); - doc_p.parse (argv[1]); - root_p.post_root (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/makefile b/xsd/tests/cxx/parser/polymorphism/recursive/makefile deleted file mode 100644 index 50e4f3d..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# file : tests/cxx/parser/polymorphism/recursive/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx test-pimpl.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/output b/xsd/tests/cxx/parser/polymorphism/recursive/output deleted file mode 100644 index 28a835f..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/output +++ /dev/null @@ -1,22 +0,0 @@ -root start -recursive start -value_a begin -value->constant -value: post_expression override -value_a: post_value override -value_a end -recursive->expression event -recursive start -value_b begin -value->constant -value: post_expression override -value_b: post_value override -value_b end -recursive->expression event -recursive: post_expression override -recursive end -recursive->expression event -recursive: post_expression override -recursive end -root->expression -root end diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.cxx b/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.cxx deleted file mode 100644 index fe32626..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.cxx +++ /dev/null @@ -1,148 +0,0 @@ -// file : tests/cxx/parser/polymorphism/recursive/test-pimpl.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include <iostream> - -#include "test-pimpl.hxx" - -using namespace std; - -namespace test -{ - // root_pimpl - // - - void root_pimpl:: - pre () - { - cout << "root start" << endl; - } - - void root_pimpl:: - expression () - { - cout << "root->expression" << endl; - } - - void root_pimpl:: - post_root () - { - cout << "root end" << endl; - } - - // expression_pimpl - // - - void expression_pimpl:: - pre () - { - cout << "expression begin" << endl; - } - - void expression_pimpl:: - post_expression () - { - cout << "expression end" << endl; - } - - // recursive_pimpl - // - - void recursive_pimpl:: - pre () - { - cout << "recursive start" << endl; - } - - void recursive_pimpl:: - expression () - { - cout << "recursive->expression event" << endl; - } - - void recursive_pimpl:: - post_expression () - { - cout << "recursive: post_expression override" << endl; - post_recursive (); - } - - void recursive_pimpl:: - post_recursive () - { - cout << "recursive end" << endl; - } - - // value_pimpl - // - - void value_pimpl:: - pre () - { - cout << "value begin" << endl; - } - - void value_pimpl:: - constant (int) - { - cout << "value->constant" << endl; - } - - void value_pimpl:: - post_expression () - { - cout << "value: post_expression override" << endl; - post_value (); - } - - void value_pimpl:: - post_value () - { - cout << "value end" << endl; - } - - // value_a_pimpl - // - - void value_a_pimpl:: - pre () - { - cout << "value_a begin" << endl; - } - - void value_a_pimpl:: - post_value () - { - cout << "value_a: post_value override" << endl; - post_value_a (); - } - - void value_a_pimpl:: - post_value_a () - { - cout << "value_a end" << endl; - } - - // value_b_pimpl - // - - void value_b_pimpl:: - pre () - { - cout << "value_b begin" << endl; - } - - void value_b_pimpl:: - post_value () - { - cout << "value_b: post_value override" << endl; - post_value_b (); - } - - void value_b_pimpl:: - post_value_b () - { - cout << "value_b end" << endl; - } -} diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.hxx b/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.hxx deleted file mode 100644 index f345720..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/test-pimpl.hxx +++ /dev/null @@ -1,95 +0,0 @@ -// file : tests/cxx/parser/polymorphism/recursive/test-pimpl.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef TEST_PIMPL_HXX -#define TEST_PIMPL_HXX - -#include "test-pskel.hxx" - -namespace test -{ - class root_pimpl: public virtual root_pskel - { - public: - virtual void - pre (); - - virtual void - expression (); - - virtual void - post_root (); - }; - - class expression_pimpl: public virtual expression_pskel - { - public: - virtual void - pre (); - - virtual void - post_expression (); - }; - - class recursive_pimpl: public virtual recursive_pskel, - public expression_pimpl - { - public: - virtual void - pre (); - - virtual void - expression (); - - virtual void - post_expression (); - - virtual void - post_recursive (); - }; - - class value_pimpl: public virtual value_pskel, public expression_pimpl - { - public: - virtual void - pre (); - - virtual void - constant (int); - - virtual void - post_expression (); - - virtual void - post_value (); - }; - - class value_a_pimpl: public virtual value_a_pskel, public value_pimpl - { - public: - virtual void - pre (); - - virtual void - post_value (); - - virtual void - post_value_a (); - }; - - class value_b_pimpl: public virtual value_b_pskel, public value_pimpl - { - public: - virtual void - pre (); - - virtual void - post_value (); - - virtual void - post_value_b (); - }; -} - -#endif // TEST_PIMPL_HXX diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/test.xml b/xsd/tests/cxx/parser/polymorphism/recursive/test.xml deleted file mode 100644 index 42035ba..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/test.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<root xmlns="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - <recursive> - <value-a> - <constant>1</constant> - </value-a> - <recursive> - <value-b> - <constant>2</constant> - </value-b> - </recursive> - </recursive> -</root> diff --git a/xsd/tests/cxx/parser/polymorphism/recursive/test.xsd b/xsd/tests/cxx/parser/polymorphism/recursive/test.xsd deleted file mode 100644 index affcc8a..0000000 --- a/xsd/tests/cxx/parser/polymorphism/recursive/test.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:t="test" - targetNamespace="test" - elementFormDefault="qualified"> - - <element name="root" type="t:root"/> - <complexType name="root"> - <sequence> - <element ref="t:expression" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="expression" type="t:expression" abstract="true"/> - <complexType name="expression" abstract="true"/> - - <element name="recursive" type="t:recursive" substitutionGroup="t:expression"/> - <complexType name="recursive"> - <complexContent> - <extension base="t:expression"> - <sequence minOccurs="0" maxOccurs="unbounded"> - <element ref="t:expression"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="value" type="t:value" abstract="true" substitutionGroup="t:expression"/> - <complexType name="value" abstract="true"> - <complexContent> - <extension base="t:expression"> - <sequence> - <element name="constant" type="int"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="value-a" type="t:value-a" substitutionGroup="t:expression"/> - <complexType name="value-a"> - <complexContent> - <extension base="t:value"/> - </complexContent> - </complexType> - - <element name="value-b" type="t:value-b" substitutionGroup="t:expression"/> - <complexType name="value-b"> - <complexContent> - <extension base="t:value"/> - </complexContent> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/parser/polymorphism/same-type/driver.cxx b/xsd/tests/cxx/parser/polymorphism/same-type/driver.cxx deleted file mode 100644 index 05abc3c..0000000 --- a/xsd/tests/cxx/parser/polymorphism/same-type/driver.cxx +++ /dev/null @@ -1,63 +0,0 @@ -// file : tests/cxx/parser/polymorphism/same-type/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test substitution group and xsi:type that don't change the type. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct base_pimpl: base_pskel -{ - virtual void - a (string const& v) - { - cout << v << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - base_pimpl base_p; - type_pimpl type_p; - - base_p.parsers (string_p); - type_p.parsers (base_p); - - xml_schema::document doc_p (type_p, "test", "root", true); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/polymorphism/same-type/makefile b/xsd/tests/cxx/parser/polymorphism/same-type/makefile deleted file mode 100644 index 256b34d..0000000 --- a/xsd/tests/cxx/parser/polymorphism/same-type/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# file : tests/cxx/parser/polymorphism/same-type/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/polymorphism/same-type/output b/xsd/tests/cxx/parser/polymorphism/same-type/output deleted file mode 100644 index d418277..0000000 --- a/xsd/tests/cxx/parser/polymorphism/same-type/output +++ /dev/null @@ -1,4 +0,0 @@ -a1 -a2 -a3 -a4 diff --git a/xsd/tests/cxx/parser/polymorphism/same-type/test.xml b/xsd/tests/cxx/parser/polymorphism/same-type/test.xml deleted file mode 100644 index f8b6d1e..0000000 --- a/xsd/tests/cxx/parser/polymorphism/same-type/test.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <t:base><a>a1</a></t:base> - <t:derived><a>a2</a></t:derived> - <t:base xsi:type="t:base"><a>a3</a></t:base> - <t:derived xsi:type="t:base"><a>a4</a></t:derived> - -</t:root> diff --git a/xsd/tests/cxx/parser/polymorphism/same-type/test.xsd b/xsd/tests/cxx/parser/polymorphism/same-type/test.xsd deleted file mode 100644 index a4157d3..0000000 --- a/xsd/tests/cxx/parser/polymorphism/same-type/test.xsd +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="base" type="t:base"/> - <element name="derived" type="t:base" substitutionGroup="t:base"/> - - <complexType name="type"> - <sequence> - <element ref="t:base" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/recursive/driver.cxx b/xsd/tests/cxx/parser/recursive/driver.cxx deleted file mode 100644 index 41f21e7..0000000 --- a/xsd/tests/cxx/parser/recursive/driver.cxx +++ /dev/null @@ -1,140 +0,0 @@ -// file : tests/cxx/parser/recursive/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test recursive parser invocation. -// - -#include <iostream> -#include <string> - -#include "test-pskel.hxx" - -using namespace std; - -struct sub_pimpl: sub_type_pskel -{ - virtual void - pre () - { - cout << "sub::pre" << endl; - } - - virtual void - sub () - { - cout << "sub::sub" << endl; - } - - virtual void - sub2 () - { - cout << "sub::sub2" << endl; - } - - virtual void - name (string const& n) - { - cout << "sub::name: " << n << endl; - } - - virtual void - post_sub_type () - { - cout << "sub::post" << endl; - } -}; - -struct indir_pimpl: indir_type_pskel -{ - virtual void - pre () - { - cout << "indir::pre" << endl; - } - - virtual void - sub () - { - cout << "indir::sub" << endl; - } - - virtual void - name (string const& n) - { - cout << "indir::name: " << n << endl; - } - - virtual void - post_indir_type () - { - cout << "indir::post" << endl; - } -}; - -struct test_pimpl: test_type_pskel -{ - virtual void - pre () - { - cout << "test::pre" << endl; - } - - virtual void - sub () - { - cout << "test::sub" << endl; - } - - virtual void - name (string const& n) - { - cout << "test::name: " << n << endl; - } - - virtual void - post_test_type () - { - cout << "test::post" << endl; - } -}; - - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - - sub_pimpl sub_p; - indir_pimpl indir_p; - test_pimpl test_p; - - sub_p.parsers (sub_p, indir_p, sub_p, string_p); - indir_p.parsers (sub_p, string_p); - test_p.parsers (sub_p, string_p); - - xml_schema::document doc_p (test_p, "test"); - - test_p.pre (); - doc_p.parse (argv[1]); - test_p.post_test_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/recursive/makefile b/xsd/tests/cxx/parser/recursive/makefile deleted file mode 100644 index 8ccf0bc..0000000 --- a/xsd/tests/cxx/parser/recursive/makefile +++ /dev/null @@ -1,84 +0,0 @@ -# file : tests/cxx/parser/recursive/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/recursive/output b/xsd/tests/cxx/parser/recursive/output deleted file mode 100644 index f26fb72..0000000 --- a/xsd/tests/cxx/parser/recursive/output +++ /dev/null @@ -1,22 +0,0 @@ -test::pre -test::name: testName -sub::pre -sub::name: subName -sub::pre -sub::name: sub-subName -sub::post -sub::sub -indir::pre -indir::name: sub-indirName -sub::pre -sub::name: sub-indir-subName -sub::post -indir::sub -indir::post -sub::pre -sub::name: sub-sub2Name -sub::post -sub::sub2 -sub::post -test::sub -test::post diff --git a/xsd/tests/cxx/parser/recursive/test.xml b/xsd/tests/cxx/parser/recursive/test.xml deleted file mode 100644 index f6c219d..0000000 --- a/xsd/tests/cxx/parser/recursive/test.xml +++ /dev/null @@ -1,11 +0,0 @@ -<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:noNamespaceSchemaLocation="test.xsd" - name="testName"> - <sub name="subName"> - <sub name="sub-subName"/> - <indir name="sub-indirName"> - <sub name="sub-indir-subName"/> - </indir> - <sub2 name="sub-sub2Name"/> - </sub> -</test> diff --git a/xsd/tests/cxx/parser/recursive/test.xsd b/xsd/tests/cxx/parser/recursive/test.xsd deleted file mode 100644 index 33e1d2d..0000000 --- a/xsd/tests/cxx/parser/recursive/test.xsd +++ /dev/null @@ -1,27 +0,0 @@ -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> - - <xs:complexType name="sub_type"> - <xs:sequence> - <xs:element name="sub" type="sub_type" minOccurs="0"/> - <xs:element name="indir" type="indir_type" minOccurs="0"/> - <xs:element name="sub2" type="sub_type" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="name" type="xs:string" /> - </xs:complexType> - - <xs:complexType name="indir_type"> - <xs:sequence> - <xs:element name="sub" type="sub_type" minOccurs="0"/> - </xs:sequence> - <xs:attribute name="name" type="xs:string" /> - </xs:complexType> - - <xs:complexType name="test_type"> - <xs:sequence> - <xs:element name="sub" type="sub_type" /> - </xs:sequence> - <xs:attribute name="name" type="xs:string" /> - </xs:complexType> - - <xs:element name="test" type="test_type" /> -</xs:schema> diff --git a/xsd/tests/cxx/parser/test-template/driver.cxx b/xsd/tests/cxx/parser/test-template/driver.cxx deleted file mode 100644 index 01ef390..0000000 --- a/xsd/tests/cxx/parser/test-template/driver.cxx +++ /dev/null @@ -1,67 +0,0 @@ -// file : tests/cxx/parser/test-template/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Insert test description here. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct type_pimpl: type_pskel -{ - virtual void - pre () - { - } - - virtual void - a (string const& v) - { - cout << v << endl; - } - - virtual void - post_type () - { - } -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - type_pimpl type_p; - - type_p.parsers (string_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/test-template/makefile b/xsd/tests/cxx/parser/test-template/makefile deleted file mode 100644 index dd1e19f..0000000 --- a/xsd/tests/cxx/parser/test-template/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : tests/cxx/parser/test-template/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/test-template/output b/xsd/tests/cxx/parser/test-template/output deleted file mode 100644 index 7898192..0000000 --- a/xsd/tests/cxx/parser/test-template/output +++ /dev/null @@ -1 +0,0 @@ -a diff --git a/xsd/tests/cxx/parser/test-template/test.xml b/xsd/tests/cxx/parser/test-template/test.xml deleted file mode 100644 index 624a80c..0000000 --- a/xsd/tests/cxx/parser/test-template/test.xml +++ /dev/null @@ -1,7 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>a</a> - -</t:root> diff --git a/xsd/tests/cxx/parser/test-template/test.xsd b/xsd/tests/cxx/parser/test-template/test.xsd deleted file mode 100644 index 07bebc7..0000000 --- a/xsd/tests/cxx/parser/test-template/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/union/driver.cxx b/xsd/tests/cxx/parser/union/driver.cxx deleted file mode 100644 index 5a576ba..0000000 --- a/xsd/tests/cxx/parser/union/driver.cxx +++ /dev/null @@ -1,61 +0,0 @@ -// file : tests/cxx/parser/union/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test xsd:union parsing. -// - -#include <string> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct int_string_union_pimpl: int_string_union_pskel -{ - virtual void - _characters (const xml_schema::ro_string& s) - { - cout << "'" << s << "'" << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - int_string_union_pimpl int_string_union_p; - type_pimpl type_p; - - type_p.parsers (int_string_union_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - type_p.pre (); - doc_p.parse (argv[1]); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (std::ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/union/makefile b/xsd/tests/cxx/parser/union/makefile deleted file mode 100644 index 7de92ad..0000000 --- a/xsd/tests/cxx/parser/union/makefile +++ /dev/null @@ -1,83 +0,0 @@ -# file : tests/cxx/parser/union/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/union/output b/xsd/tests/cxx/parser/union/output deleted file mode 100644 index a92ffc3..0000000 --- a/xsd/tests/cxx/parser/union/output +++ /dev/null @@ -1,2 +0,0 @@ -'one' -'1' diff --git a/xsd/tests/cxx/parser/union/test.xml b/xsd/tests/cxx/parser/union/test.xml deleted file mode 100644 index 5b3e799..0000000 --- a/xsd/tests/cxx/parser/union/test.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <int-string-union/> - <int-string-union> </int-string-union> - <int-string-union>one</int-string-union> - <int-string-union>1</int-string-union> - -</t:root> diff --git a/xsd/tests/cxx/parser/union/test.xsd b/xsd/tests/cxx/parser/union/test.xsd deleted file mode 100644 index 5bf3d47..0000000 --- a/xsd/tests/cxx/parser/union/test.xsd +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="int-string-union"> - <union memberTypes="int string"/> - </simpleType> - - <complexType name="type"> - <choice maxOccurs="unbounded"> - <element name="int-string-union" type="t:int-string-union"/> - </choice> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/all/driver.cxx b/xsd/tests/cxx/parser/validation/all/driver.cxx deleted file mode 100644 index 71a21a0..0000000 --- a/xsd/tests/cxx/parser/validation/all/driver.cxx +++ /dev/null @@ -1,99 +0,0 @@ -// file : tests/cxx/parser/validation/all/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the all compositor validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct all_pimpl: all_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - c (string const& v) - { - cout << " c = " << v << endl; - } - - virtual void - post_all () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - all_pimpl all_p; - type_pimpl type_p; - - all_p.parsers (string_p, string_p, string_p); - type_p.parsers (all_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - try - { - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cout << " " << e << endl - << "}" << endl - << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/all/makefile b/xsd/tests/cxx/parser/validation/all/makefile deleted file mode 100644 index acc0a79..0000000 --- a/xsd/tests/cxx/parser/validation/all/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/all/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 001 002 003 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/all/test-000.std b/xsd/tests/cxx/parser/validation/all/test-000.std deleted file mode 100644 index b4445f2..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-000.std +++ /dev/null @@ -1,46 +0,0 @@ -{ - a = a - b = b - c = c -} - -{ - a = a - c = c - b = b -} - -{ - b = b - a = a - c = c -} - -{ - b = b - c = c - a = a -} - -{ - c = c - a = a - b = b -} - -{ - c = c - b = b - a = a -} - -{ - a = a - b = b -} - -{ - a = a - b = b -} - diff --git a/xsd/tests/cxx/parser/validation/all/test-000.xml b/xsd/tests/cxx/parser/validation/all/test-000.xml deleted file mode 100644 index 6e46fae..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-000.xml +++ /dev/null @@ -1,53 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- all combinations --> - <all> - <a>a</a> - <b>b</b> - <c>c</c> - </all> - - <all> - <a>a</a> - <c>c</c> - <b>b</b> - </all> - - <all> - <b>b</b> - <a>a</a> - <c>c</c> - </all> - - <all> - <b>b</b> - <c>c</c> - <a>a</a> - </all> - - <all> - <c>c</c> - <a>a</a> - <b>b</b> - </all> - - <all> - <c>c</c> - <b>b</b> - <a>a</a> - </all> - - <!-- optional c is not present --> - <all> - <a>a</a> - <b>b</b> - </all> - - <all> - <a>a</a> - <b>b</b> - </all> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/all/test-001.std b/xsd/tests/cxx/parser/validation/all/test-001.std deleted file mode 100644 index 0472ad9..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-001.std +++ /dev/null @@ -1,6 +0,0 @@ -{ - a = a - c = c - :9:9 error: expected element 'b' -} - diff --git a/xsd/tests/cxx/parser/validation/all/test-001.xml b/xsd/tests/cxx/parser/validation/all/test-001.xml deleted file mode 100644 index 3df5600..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-001.xml +++ /dev/null @@ -1,11 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- required b is not present (invalid) --> - <all> - <a>a</a> - <c>c</c> - </all> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/all/test-002.std b/xsd/tests/cxx/parser/validation/all/test-002.std deleted file mode 100644 index c014230..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-002.std +++ /dev/null @@ -1,4 +0,0 @@ -{ - :7:9 error: expected element 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/all/test-002.xml b/xsd/tests/cxx/parser/validation/all/test-002.xml deleted file mode 100644 index aed0c0c..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-002.xml +++ /dev/null @@ -1,9 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <all> - </all> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/all/test-003.std b/xsd/tests/cxx/parser/validation/all/test-003.std deleted file mode 100644 index dd8c0d3..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-003.std +++ /dev/null @@ -1,6 +0,0 @@ -{ - a = a - b = b - :9:7 error: unexpected element 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/all/test-003.xml b/xsd/tests/cxx/parser/validation/all/test-003.xml deleted file mode 100644 index b147cba..0000000 --- a/xsd/tests/cxx/parser/validation/all/test-003.xml +++ /dev/null @@ -1,12 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <all> - <a>a</a> - <b>b</b> - <a>a</a> - </all> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/all/test.xsd b/xsd/tests/cxx/parser/validation/all/test.xsd deleted file mode 100644 index 1f670e3..0000000 --- a/xsd/tests/cxx/parser/validation/all/test.xsd +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="all"> - <all minOccurs="1"> - <element name="a" type="string"/> - <element name="b" type="string"/> - <element name="c" type="string" minOccurs="0"/> - </all> - </complexType> - - <complexType name="type"> - <sequence> - <element name="all" type="t:all" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/any/driver.cxx b/xsd/tests/cxx/parser/validation/any/driver.cxx deleted file mode 100644 index f7773b4..0000000 --- a/xsd/tests/cxx/parser/validation/any/driver.cxx +++ /dev/null @@ -1,122 +0,0 @@ -// file : tests/cxx/parser/validation/any/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the any particle validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct any_a_pimpl: any_a_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - x (string const& v) - { - cout << " x = " << v << endl; - } - - virtual void - _start_any_element (ro_string const&, - ro_string const& n, - ro_string const*) - { - cout << " start any element '" << n << "'" << endl; - } - - virtual void - _end_any_element (ro_string const&, ro_string const& n) - { - cout << " end any element '" << n << "'" << endl; - } - - virtual void - _any_attribute (ro_string const&, - ro_string const& n, - ro_string const& v) - { - cout << " any attribute " << n << " = '" << v << "'" << endl; - } - - virtual void - _any_characters (ro_string const& s) - { - cout << " any text: '" << s << "'" << endl; - } - - virtual void - post_any_a () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - any_a_pimpl any_a_p; - type_pimpl type_p; - - any_a_p.parsers (string_p, string_p); - type_p.parsers (any_a_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - try - { - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cout << " " << e << endl - << "}" << endl - << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/any/makefile b/xsd/tests/cxx/parser/validation/any/makefile deleted file mode 100644 index ae6735d..0000000 --- a/xsd/tests/cxx/parser/validation/any/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/any/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/any/test-000.std b/xsd/tests/cxx/parser/validation/any/test-000.std deleted file mode 100644 index a1cc6e3..0000000 --- a/xsd/tests/cxx/parser/validation/any/test-000.std +++ /dev/null @@ -1,29 +0,0 @@ -{ - start any element 'any' - end any element 'any' -} - -{ - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' -} - -{ - x = x - a = a - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' -} - diff --git a/xsd/tests/cxx/parser/validation/any/test-000.xml b/xsd/tests/cxx/parser/validation/any/test-000.xml deleted file mode 100644 index f1a0c83..0000000 --- a/xsd/tests/cxx/parser/validation/any/test-000.xml +++ /dev/null @@ -1,21 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- test dispatching of any-nested elements and attributes --> - - <any-a> - <o:any/> - </any-a> - - <any-a> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </any-a> - - <any-a x="x"> - <a>a</a> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </any-a> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/any/test.xsd b/xsd/tests/cxx/parser/validation/any/test.xsd deleted file mode 100644 index c05aeb5..0000000 --- a/xsd/tests/cxx/parser/validation/any/test.xsd +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="any-a"> - <sequence> - <element name="a" type="string" minOccurs="0"/> - <any namespace="other" processContents="skip" maxOccurs="unbounded"/> - </sequence> - <attribute name="x" type="string"/> - </complexType> - - <complexType name="type"> - <choice maxOccurs="unbounded"> - <element name="any-a" type="t:any-a"/> - </choice> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/attribute/driver.cxx b/xsd/tests/cxx/parser/validation/attribute/driver.cxx deleted file mode 100644 index 7e4de25..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/driver.cxx +++ /dev/null @@ -1,198 +0,0 @@ -// file : tests/cxx/parser/validation/attribute/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test attribute and attribute wildcard (anyAttribute) validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct pass_a_pimpl: pass_a_pskel -{ - virtual void - pre () - { - cout << "pass-a" << endl - << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - _any_attribute (ro_string const& ns, - ro_string const& name, - ro_string const& value) - { - cout << " any: " << ns << "#" << name << " = " << value << endl; - } - - virtual void - post_pass_a () - { - cout << "}" << endl - << endl; - } -}; - -struct pass_b_pimpl: pass_b_pskel -{ - virtual void - pre () - { - cout << "pass-b" << endl - << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - _any_attribute (ro_string const& ns, - ro_string const& name, - ro_string const& value) - { - cout << " any: " << ns << "#" << name << " = " << value << endl; - } - - virtual void - post_pass_b () - { - cout << "}" << endl - << endl; - } -}; - -struct pass_c_pimpl: pass_c_pskel -{ - virtual void - pre () - { - cout << "pass-c" << endl - << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - post_pass_c () - { - cout << "}" << endl - << endl; - } -}; - -struct fail_pimpl: fail_pskel -{ - virtual void - pre () - { - cout << "fail" << endl - << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - post_fail () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - pass_a_pimpl pass_a_p; - pass_b_pimpl pass_b_p; - pass_c_pimpl pass_c_p; - fail_pimpl fail_p; - type_pimpl type_p; - - pass_a_p.parsers (string_p, string_p); - pass_b_p.parsers (string_p, string_p); - pass_c_p.parsers (string_p, string_p); - fail_p.parsers (string_p); - type_p.parsers (pass_a_p, pass_b_p, pass_c_p, fail_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - try - { - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cout << " " << e << endl - << "}" << endl - << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/attribute/makefile b/xsd/tests/cxx/parser/validation/attribute/makefile deleted file mode 100644 index 94e5369..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/attribute/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/attribute/test-000.std b/xsd/tests/cxx/parser/validation/attribute/test-000.std deleted file mode 100644 index 847b054..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/test-000.std +++ /dev/null @@ -1,24 +0,0 @@ -pass-a -{ - b = b - any: test#foo = foo - any: test#bar = bar -} - -pass-b -{ - a = a - b = b -} - -pass-c -{ - a = a - b = b -} - -fail -{ - :8:10 error: expected attribute 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/attribute/test-000.xml b/xsd/tests/cxx/parser/validation/attribute/test-000.xml deleted file mode 100644 index b994d1a..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/test-000.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <pass-a b="b" t:foo="foo" t:bar="bar"/> - <pass-b a="a" b="b"/> - <pass-c a="a" b="b"/> - <fail/> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/attribute/test.xsd b/xsd/tests/cxx/parser/validation/attribute/test.xsd deleted file mode 100644 index 833eb8e..0000000 --- a/xsd/tests/cxx/parser/validation/attribute/test.xsd +++ /dev/null @@ -1,71 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - - <!-- Test optional and required attributes as well as a wildcard. --> - <complexType name="pass-a"> - <attribute name="a" type="string" use="optional"/> - <attribute name="b" type="string" use="required"/> - <anyAttribute namespace="##targetNamespace" processContents="skip"/> - </complexType> - - - <!-- Test that in inheritance attributes are checked before wildcards. --> - <complexType name="pass-b-base"> - <attribute name="a" type="string"/> - <anyAttribute namespace="#any" processContents="skip"/> - </complexType> - - <complexType name="pass-b"> - <complexContent> - <extension base="t:pass-b-base"> - <attribute name="b" type="string"/> - <anyAttribute namespace="#any" processContents="skip"/> - </extension> - </complexContent> - </complexType> - - - <!-- Test that in inheritance by restriction required attribute is - checked for even though it is not explicitly mentioned in - derived. --> - <complexType name="pass-c-base"> - <attribute name="a" type="string" use="required"/> - <attribute name="b" type="string" use="optional"/> - </complexType> - - <complexType name="pass-c"> - <complexContent> - <restriction base="t:pass-c-base"> - <attribute name="b" type="string" use="required"/> - </restriction> - </complexContent> - </complexType> - - - <!-- Test detection of missing required attribute. --> - <complexType name="fail-base"> - <attribute name="a" type="string" use="optional"/> - </complexType> - - <complexType name="fail"> - <complexContent> - <restriction base="t:fail-base"> - <attribute name="a" type="string" use="required"/> - </restriction> - </complexContent> - </complexType> - - - <complexType name="type"> - <sequence> - <element name="pass-a" type="t:pass-a"/> - <element name="pass-b" type="t:pass-b"/> - <element name="pass-c" type="t:pass-c"/> - <element name="fail" type="t:fail"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/built-in/any-type/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/any-type/driver.cxx deleted file mode 100644 index 4b03218..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/any-type/driver.cxx +++ /dev/null @@ -1,155 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/any-type/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the anyType and anySimpleType validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct any_type_pimpl: xml_schema::any_type_pimpl -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - _start_any_element (ro_string const&, - ro_string const& n, - ro_string const*) - { - cout << " start any element '" << n << "'" << endl; - } - - virtual void - _end_any_element (ro_string const&, ro_string const& n) - { - cout << " end any element '" << n << "'" << endl; - } - - virtual void - _any_attribute (ro_string const&, - ro_string const& n, - ro_string const& v) - { - cout << " any attribute " << n << " = '" << v << "'" << endl; - } - - virtual void - _any_characters (ro_string const& s) - { - cout << " any text: '" << s << "'" << endl; - } - - virtual void - post_any_type () - { - cout << "}" << endl - << endl; - } -}; - -struct any_simple_type_pimpl: xml_schema::any_simple_type_pimpl -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - _any_characters (ro_string const& s) - { - cout << " any text: '" << s << "'" << endl; - } - - virtual void - post_any_simple_type () - { - cout << "}" << endl - << endl; - } -}; - -struct any_extension_pimpl: virtual any_extension_pskel, - any_type_pimpl - -{ - virtual void - x (const string& v) - { - cout << " x = " << v << endl; - } -}; - -struct any_simple_extension_pimpl: virtual any_simple_extension_pskel, - any_simple_type_pimpl -{ - virtual void - x (const string& v) - { - cout << " x = " << v << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - - any_type_pimpl any_type_p; - any_simple_type_pimpl any_simple_type_p; - - any_extension_pimpl any_extension_p; - any_simple_extension_pimpl any_simple_extension_p; - - type_pimpl type_p; - - any_extension_p.parsers (string_p); - any_simple_extension_p.parsers (string_p); - - type_p.parsers (any_type_p, - any_extension_p, - any_simple_extension_p, - any_simple_type_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/any-type/makefile b/xsd/tests/cxx/parser/validation/built-in/any-type/makefile deleted file mode 100644 index 7ae3a96..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/any-type/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/any-type/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.std b/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.std deleted file mode 100644 index 84d7b3a..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.std +++ /dev/null @@ -1,99 +0,0 @@ -{ - any text: '123abc' -} - -{ - any text: ' - ' - start any element 'any' - end any element 'any' - any text: ' - ' -} - -{ - any text: ' - ' - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' - any text: ' - ' -} - -{ - any attribute x = 'x' - any text: ' - ' - start any element 'a' - any text: 'a' - end any element 'a' - any text: ' - ' - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' - any text: ' - ' -} - -{ - any text: ' - ' - start any element 'any' - end any element 'any' - any text: ' - ' -} - -{ - any text: ' - ' - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' - any text: ' - ' -} - -{ - x = x - any text: ' - ' - start any element 'a' - any text: 'a' - end any element 'a' - any text: ' - ' - start any element 'any' - any attribute x = 'xxx' - any text: 'aaa' - start any element 'a' - any text: 'bbb' - end any element 'a' - any text: 'ccc' - end any element 'any' - any text: ' - ' -} - -{ - x = x - any text: 'abc123' -} - diff --git a/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.xml b/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.xml deleted file mode 100644 index 7875b7e..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/any-type/test-000.xml +++ /dev/null @@ -1,41 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - as="123abc"> - - <!-- test dispatching of anyType nested elements and attributes --> - - <a> - <o:any/> - </a> - - <a> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </a> - - <a x="x"> - <a>a</a> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </a> - - <!-- anyType extension --> - - <a-extension> - <o:any/> - </a-extension> - - <a-extension> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </a-extension> - - <a-extension x="x"> - <a>a</a> - <o:any x="xxx">aaa<a>bbb</a>ccc</o:any> - </a-extension> - - <!-- anySimpleType extension --> - - <as-extension x="x">abc123</as-extension> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/built-in/any-type/test.xsd b/xsd/tests/cxx/parser/validation/built-in/any-type/test.xsd deleted file mode 100644 index 86a4e13..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/any-type/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="any-extension"> - <complexContent mixed="true"> - <extension base="anyType"> - <attribute name="x" type="string"/> - </extension> - </complexContent> - </complexType> - - <complexType name="any-simple-extension"> - <simpleContent> - <extension base="anySimpleType"> - <attribute name="x" type="string"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="type"> - <choice maxOccurs="unbounded"> - <element name="a" type="anyType"/> - <element name="a-extension" type="t:any-extension"/> - <element name="as-extension" type="t:any-simple-extension"/> - </choice> - <attribute name="as" type="anySimpleType"/> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/built-in/binary/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/binary/driver.cxx deleted file mode 100644 index 96f6d4e..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/binary/driver.cxx +++ /dev/null @@ -1,154 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/binary/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in base64Binary and hexBinary types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - typedef xsd::cxx::parser::buffer buffer; - - // Good. - // - - // hexBinary - // - { - hex_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters (" "); - p._post (); - assert (*p.post_hex_binary () == buffer ()); - } - - { - hex_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n313"); - p._characters ("23334356162636a6b "); - p._post (); - assert (*p.post_hex_binary () == buffer ("12345abcjk", 10)); - } - - // base64Binary - // - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("MTIzND "); - p._characters ("VhYmNqaw = = "); - p._post (); - assert (*p.post_base64_binary () == buffer ("12345abcjk", 10)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("YQ=="); - p._post (); - assert (*p.post_base64_binary () == buffer ("a", 1)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("YWI="); - p._post (); - assert (*p.post_base64_binary () == buffer ("ab", 2)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("YWJj"); - p._post (); - assert (*p.post_base64_binary () == buffer ("abc", 3)); - } - - // Bad - // - - // hexBinary - // - { - hex_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("313"); - assert (test_post_fail (p)); - } - - { - hex_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("313233343X6162636a6b"); - assert (test_post_fail (p)); - } - - // base64Binary - // - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("YQ"); - assert (test_post_fail (p)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("=="); - assert (test_post_fail (p)); - } - - { - base64_binary_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("MTIzNDVhYmNqaw=A"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/binary/makefile b/xsd/tests/cxx/parser/validation/built-in/binary/makefile deleted file mode 100644 index fe48886..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/binary/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/binary/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/boolean/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/boolean/driver.cxx deleted file mode 100644 index 6ebe23c..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/boolean/driver.cxx +++ /dev/null @@ -1,146 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/boolean/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in boolean type validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -bool -test_post_fail (boolean_pimpl<char>& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("true"); - p._post (); - assert (p.post_boolean ()); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1"); - p._post (); - assert (p.post_boolean ()); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("false"); - p._post (); - assert (!p.post_boolean ()); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (!p.post_boolean ()); - } - - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" true "); - p._post (); - assert (p.post_boolean ()); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._characters (" \n "); - p._characters (" fa"); - p._characters ("l"); - p._characters ("se "); - p._characters (" \n "); - p._characters (" "); - p._post (); - assert (!p.post_boolean ()); - } - - // Bad - // - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - //p._characters (""); - assert (test_post_fail (p)); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - assert (test_post_fail (p)); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - assert (test_post_fail (p)); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("fal"); - p._characters ("s "); - p._characters ("e"); - assert (test_post_fail (p)); - } - - { - boolean_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("01"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/boolean/makefile b/xsd/tests/cxx/parser/validation/built-in/boolean/makefile deleted file mode 100644 index f5812a5..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/boolean/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/boolean/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/byte/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/byte/driver.cxx deleted file mode 100644 index 48d91df..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/byte/driver.cxx +++ /dev/null @@ -1,257 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/byte/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in byte and unsigned byte types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("123"); - p._post (); - assert (p.post_byte () == 123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("\t +123 \n "); - p._post (); - assert (p.post_byte () == 123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123"); - p._post (); - assert (p.post_byte () == -123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+123"); - p._post (); - assert (p.post_byte () == 123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0000000000000000123"); - p._post (); - assert (p.post_byte () == 123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+0000000000000000123"); - p._post (); - assert (p.post_byte () == 123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0000000000000000123"); - p._post (); - assert (p.post_byte () == -123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("\t \n"); - p._characters (" -"); - p._characters ("00000"); - p._characters ("001"); - p._characters ("23 \n\t"); - p._post (); - assert (p.post_byte () == -123); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-128"); - p._post (); - assert (p.post_byte () == -128); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("127"); - p._post (); - assert (p.post_byte () == 127); - } - - { - unsigned_byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+123"); - p._post (); - assert (p.post_unsigned_byte () == 123); - } - - { - unsigned_byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_unsigned_byte () == 0); - } - - { - unsigned_byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("255"); - p._post (); - assert (p.post_unsigned_byte () == 255); - } - - // Bad - // - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n \t "); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+"); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-"); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("++01"); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--01"); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-01"); - p._characters (" "); - p._characters ("23 "); - assert (test_post_fail (p)); - } - - { - unsigned_byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123"); - assert (test_post_fail (p)); - } - - // Ranges - // - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-129"); - assert (test_post_fail (p)); - } - - { - byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("128"); - assert (test_post_fail (p)); - } - - { - unsigned_byte_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("256"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/byte/makefile b/xsd/tests/cxx/parser/validation/built-in/byte/makefile deleted file mode 100644 index cdaabfc..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/byte/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/byte/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/date-time/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/date-time/driver.cxx deleted file mode 100644 index 015205a..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/date-time/driver.cxx +++ /dev/null @@ -1,1534 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/date-time/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in date and time types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - typedef xsd::cxx::parser::gday gday; - typedef xsd::cxx::parser::gmonth gmonth; - typedef xsd::cxx::parser::gyear gyear; - typedef xsd::cxx::parser::gmonth_day gmonth_day; - typedef xsd::cxx::parser::gyear_month gyear_month; - typedef xsd::cxx::parser::date date; - typedef xsd::cxx::parser::time time; - typedef xsd::cxx::parser::date_time date_time; - typedef xsd::cxx::parser::duration duration; - - // Good. - // - - // gday & time zone parsing - // - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("---1"); - p._characters ("2+12:00"); - p._post (); - assert (p.post_gday () == gday (12, 12, 00)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---01"); - p._post (); - assert (p.post_gday () == gday (1)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---31"); - p._post (); - assert (p.post_gday () == gday (31)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---15Z"); - p._post (); - assert (p.post_gday () == gday (15, 0, 0)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---15-14:00"); - p._post (); - assert (p.post_gday () == gday (15, -14, 0)); - } - - // gmonth - // - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("--1"); - p._characters ("0+12:00"); - p._post (); - assert (p.post_gmonth () == gmonth (10, 12, 0)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--01"); - p._post (); - assert (p.post_gmonth () == gmonth (1)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12Z"); - p._post (); - assert (p.post_gmonth () == gmonth (12, 0, 0)); - } - - // gyear - // - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("20"); - p._characters ("07+12:00"); - p._post (); - assert (p.post_gyear () == gyear (2007, 12, 00)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0001"); - p._post (); - assert (p.post_gyear () == gyear (1)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-20000Z"); - p._post (); - assert (p.post_gyear () == gyear (-20000, 0, 0)); - } - - // gmonth_day - // - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("--1"); - p._characters ("0-28+12:00 "); - p._post (); - assert (p.post_gmonth_day () == gmonth_day (10, 28, 12, 00)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12-31"); - p._post (); - assert (p.post_gmonth_day () == gmonth_day (12, 31)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--01-01Z"); - p._post (); - assert (p.post_gmonth_day () == gmonth_day (1, 1, 0, 0)); - } - - // gyear_month - // - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("200"); - p._characters ("7-12+12:00 "); - p._post (); - assert (p.post_gyear_month () == gyear_month (2007, 12, 12, 00)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2007-10"); - p._post (); - assert (p.post_gyear_month () == gyear_month (-2007, 10)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20007-10Z"); - p._post (); - assert (p.post_gyear_month () == gyear_month (20007, 10, 0, 0)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-20007-01"); - p._post (); - assert (p.post_gyear_month () == gyear_month (-20007, 1)); - } - - // date - // - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("200"); - p._characters ("7-12-26+12:00 "); - p._post (); - assert (p.post_date () == date (2007, 12, 26, 12, 0)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2007-10-15"); - p._post (); - assert (p.post_date () == date (-2007, 10, 15)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20007-12-31Z"); - p._post (); - assert (p.post_date () == date (20007, 12, 31, 0, 0)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-20007-01-01"); - p._post (); - assert (p.post_date () == date (-20007, 1, 1)); - } - - // time - // - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("12:"); - p._characters ("46:23.456+12:00 "); - p._post (); - assert (p.post_time () == time (12, 46, 23.456, 12, 0)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("12:13:14"); - p._post (); - assert (p.post_time () == time (12, 13, 14.0)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("12:13:14Z"); - p._post (); - assert (p.post_time () == time (12, 13, 14.0, 0, 0)); - } - - // date_time - // - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("200"); - p._characters ("7-12-26T12:13:14.123+12:00 "); - p._post (); - assert (p.post_date_time () == - date_time (2007, 12, 26, 12, 13, 14.123, 12, 0)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2007-10-15T12:13:14"); - p._post (); - assert (p.post_date_time () == date_time (-2007, 10, 15, 12, 13, 14.0)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20007-12-31T12:13:14Z"); - p._post (); - assert (p.post_date_time () == - date_time (20007, 12, 31, 12, 13, 14.0, 0, 0)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-20007-01-01T12:13:14"); - p._post (); - assert (p.post_date_time () == date_time (-20007, 1, 1, 12, 13, 14.0)); - } - - // duration - // - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \t\n "); - p._characters ("-P200"); - p._characters ("7Y13M32DT25H61M61.123S "); - p._post (); - assert (p.post_duration () == - duration (true, 2007, 13, 32, 25, 61, 61.123)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1Y"); - p._post (); - assert (p.post_duration () == duration (false, 1, 0, 0, 0, 0, 0.0)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1M"); - p._post (); - assert (p.post_duration () == duration (false, 0, 1, 0, 0, 0, 0.0)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1D"); - p._post (); - assert (p.post_duration () == duration (false, 0, 0, 1, 0, 0, 0.0)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT1H"); - p._post (); - assert (p.post_duration () == duration (false, 0, 0, 0, 1, 0, 0.0)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT1M"); - p._post (); - assert (p.post_duration () == duration (false, 0, 0, 0, 0, 1, 0.0)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT1.1S"); - p._post (); - assert (p.post_duration () == duration (false, 0, 0, 0, 0, 0, 1.1)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1YT1S"); - p._post (); - assert (p.post_duration () == duration (false, 1, 0, 0, 0, 0, 1.0)); - } - - // Bad - // - - // gday & time zone parsing - // - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---1"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---00"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---32"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---2X"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12asd"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12X"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---1212:00"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12+2:00"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12+1200"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12+15:00"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12+12:60"); - assert (test_post_fail (p)); - } - - { - gday_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("---12+14:01"); - assert (test_post_fail (p)); - } - - // gmonth - // - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12"); - assert (test_post_fail (p)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--00"); - assert (test_post_fail (p)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--13"); - assert (test_post_fail (p)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--1X"); - assert (test_post_fail (p)); - } - - { - gmonth_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--11+12:3o"); - assert (test_post_fail (p)); - } - - // gyear - // - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("207"); - assert (test_post_fail (p)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-207"); - assert (test_post_fail (p)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0000"); - assert (test_post_fail (p)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20X7"); - assert (test_post_fail (p)); - } - - { - gyear_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007+12:3o"); - assert (test_post_fail (p)); - } - - // gmonth_day - // - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12-12"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--1212"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12?12"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--00-12"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12-00"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--13-23"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12-32"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--1X-12"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--12-2X"); - assert (test_post_fail (p)); - } - - { - gmonth_day_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("--11-11+12:3o"); - assert (test_post_fail (p)); - } - - // gyear_month - // - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("207-01"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-207-01"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0000-01"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20X7-01"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007?12"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-0"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-00"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-13"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-1X"); - assert (test_post_fail (p)); - } - - { - gyear_month_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01+12:3o"); - assert (test_post_fail (p)); - } - - // date - // - { - date_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("207-01-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-207-01-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0000-01-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20X7-01-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007?01-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-0-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-00-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-13-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-1X-01"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10?12"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-0"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-00"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-32"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-2X"); - assert (test_post_fail (p)); - } - - { - date_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01+12:3o"); - assert (test_post_fail (p)); - } - - // time - // - { - time_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1:01:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2X:01:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23?01:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:0:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:60:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:4X:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10?12"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10:"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10:0"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10:01."); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10:60"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:10:2X"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("24:01:00"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("24:00:01"); - assert (test_post_fail (p)); - } - - { - time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:01:01+12:3o"); - assert (test_post_fail (p)); - } - - // date_time - // - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("207-01-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-207-01-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0000-01-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("20X7-01-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007?01-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-0-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-00-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-13-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-1X-01T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10?12T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-0T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-00T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-32T12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-10-2XT12:13:14"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T1:01:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T2X:01:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23?01:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:0:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:60:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:4X:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10?12"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10:"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10:0"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10:01."); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10:60"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T23:10:2X"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T24:01:00"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T24:00:01"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("23:01:01+12:3o"); - assert (test_post_fail (p)); - } - - { - date_time_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007-01-01T12:13:14+12:3o"); - assert (test_post_fail (p)); - } - - // duration - // - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - // p._characters (""); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2007Y"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2007Y"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P-2007Y"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P-1M"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P-1D"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT-1H"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT-1M"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT-1.1S"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1H1M1S"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1M1Y"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT1S1H"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("PT1H1Y"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1Ygarbage"); - assert (test_post_fail (p)); - } - - { - duration_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("P1YT"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/date-time/makefile b/xsd/tests/cxx/parser/validation/built-in/date-time/makefile deleted file mode 100644 index ee16e1f..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/date-time/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/date-time/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx deleted file mode 100644 index f984498..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/float/driver.cxx +++ /dev/null @@ -1,286 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/float/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in float, double, and decimal types validation. -// -#include <math.h> -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - - // float - // - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456 "); - p._post (); - assert (p.post_float () == 123.456F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12.345E2"); - p._post (); - assert (p.post_float () == -12.345E2F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_float () == 0.0F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_float () == -0.0F); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - p._post (); - assert (isinf (p.post_float ())); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - p._post (); - assert (isinf (p.post_float ())); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - p._post (); - assert (isnan (p.post_float ())); - } - - // double - // - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456789 "); - p._post (); - assert (p.post_double () == 123.456789); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-12.3456789E2"); - p._post (); - assert (p.post_double () == -12.3456789E2); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_double () == 0.0); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_double () == -0.0); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - p._post (); - assert (isinf (p.post_double ())); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - p._post (); - assert (isinf (p.post_double ())); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - p._post (); - assert (isnan (p.post_double ())); - } - - // decimal - // - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" 0000123.456789 "); - p._post (); - assert (p.post_decimal () == 123.456789); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123.45678912345"); - p._post (); - assert (p.post_decimal () == -123.45678912345); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_decimal () == 0.0); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_decimal () == -0.0); - } - - - // Bad - // - - // float - // - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - float_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 E2"); - assert (test_post_fail (p)); - } - - // double - // - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - double_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 E2"); - assert (test_post_fail (p)); - } - - // decimal - // - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-INF"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("NaN"); - assert (test_post_fail (p)); - } - - { - decimal_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1.45 2"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/float/makefile b/xsd/tests/cxx/parser/validation/built-in/float/makefile deleted file mode 100644 index 6755693..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/float/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/float/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/int/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/int/driver.cxx deleted file mode 100644 index 8d4392b..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/int/driver.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/int/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in int and unsigned int types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - { - int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2147483648"); - p._post (); - assert (p.post_int () == -2147483648); - } - - { - int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_int () == 0); - } - - { - int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2147483647"); - p._post (); - assert (p.post_int () == 2147483647); - } - - { - unsigned_int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_unsigned_int () == 0); - } - - { - unsigned_int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("4294967295"); - p._post (); - assert (p.post_unsigned_int () == 4294967295); - } - - // Bad - // - - { - unsigned_int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123"); - assert (test_post_fail (p)); - } - - - // Ranges - // - { - int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-2147483649"); - assert (test_post_fail (p)); - } - - { - int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("2147483648"); - assert (test_post_fail (p)); - } - - { - unsigned_int_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("4294967296"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/int/makefile b/xsd/tests/cxx/parser/validation/built-in/int/makefile deleted file mode 100644 index 46f0baa..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/int/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/int/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/integer/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/integer/driver.cxx deleted file mode 100644 index 2828249..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/integer/driver.cxx +++ /dev/null @@ -1,304 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/int/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in integer & friends types validation. -// -#include <limits.h> - -#include <string> -#include <sstream> -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace std; -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - - std::string min; - std::string max; - std::string umax; - - { - ostringstream ostr; - ostr << LLONG_MIN; - min = ostr.str (); - } - - { - ostringstream ostr; - ostr << LLONG_MAX; - max = ostr.str (); - } - - { - ostringstream ostr; - ostr << ULLONG_MAX; - umax = ostr.str (); - } - - // integer - // - { - integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (min.c_str ()); - p._post (); - assert (p.post_integer () == LLONG_MIN); - } - - { - integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_integer () == 0); - } - - { - integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (max.c_str ()); - p._post (); - assert (p.post_integer () == LLONG_MAX); - } - - // negative_integer - // - { - negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (min.c_str ()); - p._post (); - assert (p.post_negative_integer () == LLONG_MIN); - } - - { - negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-1"); - p._post (); - assert (p.post_negative_integer () == -1); - } - - // non_positive_integer - // - { - non_positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (min.c_str ()); - p._post (); - assert (p.post_non_positive_integer () == LLONG_MIN); - } - - { - non_positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+0"); - p._post (); - assert (p.post_non_positive_integer () == 0); - } - - // positive_integer - // - { - positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1"); - p._post (); - assert (p.post_positive_integer () == 1); - } - - { - positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (umax.c_str ()); - p._post (); - assert (p.post_positive_integer () == ULLONG_MAX); - } - - // non_negative_integer - // - /* - { - non_negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - p._post (); - assert (p.post_non_negative_integer () == 0); - } - */ - - { - non_negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_non_negative_integer () == 0); - } - - { - non_negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (umax.c_str ()); - p._post (); - assert (p.post_non_negative_integer () == ULLONG_MAX); - } - - - // Bad - // - - std::string past_min (min); - std::string past_max (max); - std::string past_umax (umax); - - assert (*past_min.rbegin () != '9'); - assert (*past_max.rbegin () != '9'); - assert (*past_umax.rbegin () != '9'); - - (*past_min.rbegin ())++; - (*past_max.rbegin ())++; - (*past_umax.rbegin ())++; - - // integer - // - { - integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_min.c_str ()); - assert (test_post_fail (p)); - } - - { - integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_max.c_str ()); - assert (test_post_fail (p)); - } - - // negative_integer - // - { - negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_min.c_str ()); - assert (test_post_fail (p)); - } - - { - negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-0"); - assert (test_post_fail (p)); - } - - { - negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1"); - assert (test_post_fail (p)); - } - - // non_positive_integer - // - { - non_positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_min.c_str ()); - assert (test_post_fail (p)); - } - - { - non_positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1"); - assert (test_post_fail (p)); - } - - // positive_integer - // - { - positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-1"); - assert (test_post_fail (p)); - } - - { - positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("+0"); - assert (test_post_fail (p)); - } - - { - positive_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_umax.c_str ()); - assert (test_post_fail (p)); - } - - // non_negative_integer - // - { - non_negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-1"); - assert (test_post_fail (p)); - } - - { - non_negative_integer_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (past_umax.c_str ()); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/integer/makefile b/xsd/tests/cxx/parser/validation/built-in/integer/makefile deleted file mode 100644 index ca6482f..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/integer/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/integer/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx deleted file mode 100644 index 2033125..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/long/driver.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/long/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in long and unsigned long types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - { - long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-9223372036854775808"); - p._post (); - assert (p.post_long () == (-9223372036854775807LL - 1)); - } - - { - long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_long () == 0); - } - - { - long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("9223372036854775807"); - p._post (); - assert (p.post_long () == 9223372036854775807LL); - } - - { - unsigned_long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_unsigned_long () == 0); - } - - { - unsigned_long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("18446744073709551615"); - p._post (); - assert (p.post_unsigned_long () == 18446744073709551615ULL); - } - - // Bad - // - - { - unsigned_long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-123"); - assert (test_post_fail (p)); - } - - - // Ranges - // - { - long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-9223372036854775809"); - assert (test_post_fail (p)); - } - - { - long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("9223372036854775808"); - assert (test_post_fail (p)); - } - - { - unsigned_long_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("18446744073709551616"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/long/makefile b/xsd/tests/cxx/parser/validation/built-in/long/makefile deleted file mode 100644 index b3ad382..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/long/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/long/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/makefile b/xsd/tests/cxx/parser/validation/built-in/makefile deleted file mode 100644 index e300092..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/makefile +++ /dev/null @@ -1,18 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -tests := any-type binary boolean byte date-time float int integer long \ -qname short string uri - -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/xsd/tests/cxx/parser/validation/built-in/qname/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/qname/driver.cxx deleted file mode 100644 index 3c77eea..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/qname/driver.cxx +++ /dev/null @@ -1,106 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/qname/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in QName type validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -bool -test_post_fail (qname_pimpl<char>& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - typedef xsd::cxx::parser::qname<char> qname; - - // Good. - // - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" xsi"); - p._characters (":"); - p._characters ("schemaLocation"); - p._post (); - assert (p.post_qname () == qname ("xsi", "schemaLocation")); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("schemaLocation"); - p._post (); - assert (p.post_qname () == qname ("schemaLocation")); - } - - - // Bad - // - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - //p._characters (""); - assert (test_post_fail (p)); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (":"); - assert (test_post_fail (p)); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("xsi:"); - assert (test_post_fail (p)); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (":schemaLocation"); - assert (test_post_fail (p)); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("x?i:schemaLocation"); - assert (test_post_fail (p)); - } - - { - qname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("xsi:schema Location"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/qname/makefile b/xsd/tests/cxx/parser/validation/built-in/qname/makefile deleted file mode 100644 index 9e06bad..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/qname/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/qname/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/short/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/short/driver.cxx deleted file mode 100644 index 5ee950c..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/short/driver.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/short/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in short and unsigned short types validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post (); - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - // Good. - // - { - short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-32768"); - p._post (); - assert (p.post_short () == -32768); - } - - { - short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_short () == 0); - } - - { - short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("32767"); - p._post (); - assert (p.post_short () == 32767); - } - - { - unsigned_short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("0"); - p._post (); - assert (p.post_unsigned_short () == 0); - } - - { - unsigned_short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("65535"); - p._post (); - assert (p.post_unsigned_short () == 65535); - } - - // Bad - // - - { - unsigned_short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-1234"); - assert (test_post_fail (p)); - } - - - // Ranges - // - { - short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-32769"); - assert (test_post_fail (p)); - } - - { - short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("32768"); - assert (test_post_fail (p)); - } - - { - unsigned_short_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("65536"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/short/makefile b/xsd/tests/cxx/parser/validation/built-in/short/makefile deleted file mode 100644 index 50c2b80..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/short/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/short/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx deleted file mode 100644 index 5948542..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx +++ /dev/null @@ -1,513 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/string/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in string & friends types validation. -// -#include <string> -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post_impl (); // List implementation needs this to be post_impl. - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - typedef xsd::cxx::parser::string_sequence<char> strings; - - // Good. - // - - // string - // - { - string_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa "); - p._characters ("bbb"); - p._characters (" "); - p._post (); - assert (p.post_string () == " \n\t aaa bbb "); - } - - // normalized_string - // - { - normalized_string_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa \n\t "); - p._characters (" bbb"); - p._characters (" "); - p._post (); - assert (p.post_normalized_string () == " aaa bbb "); - } - - // token - // - { - token_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa \n\t "); - p._characters (" bbb \n\t"); - p._characters (" "); - p._post (); - assert (p.post_token () == "aaa bbb"); - } - - // name - // - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a:b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_name () == "a:b-c_d123"); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" _12 "); - p._characters (" "); - p._post (); - assert (p.post_name () == "_12"); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" :12 "); - p._characters (" "); - p._post (); - assert (p.post_name () == ":12"); - } - - // nmtoken - // - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" 123a:b-c_d123 "); - p._characters (" \n\t"); - p._characters (" "); - p._post (); - assert (p.post_nmtoken () == "123a:b-c_d123"); - } - - // nmtokens - // - { - strings s; - s.push_back ("123"); - s.push_back ("abc"); - - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" 123 "); - p._characters (" \n\t abc "); - p._characters (" "); - p._post (); - assert (p.post_nmtokens () == s); - } - - // ncname - // - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_ncname () == "a.b-c_d123"); - } - - // id - // - { - id_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_id () == "a.b-c_d123"); - } - - // idref - // - { - idref_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_idref () == "a.b-c_d123"); - } - - // idrefs - // - { - strings s; - s.push_back ("a123"); - s.push_back ("abc"); - - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a123 "); - p._characters (" \n\t abc "); - p._characters (" "); - p._post (); - assert (p.post_idrefs () == s); - } - - // language - // - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" x "); - p._post (); - assert (p.post_language () == "x"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" en "); - p._post (); - assert (p.post_language () == "en"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" en"); - p._characters ("-us "); - p._post (); - assert (p.post_language () == "en-us"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("one-two-three-four44-seven77-eight888"); - p._post (); - assert (p.post_language () == "one-two-three-four44-seven77-eight888"); - } - - - // Bad - // - - // name - // - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (".a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // nmtoken - // - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // nmtokens - // - { - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._characters (" \t\n "); - assert (test_post_fail (p)); - } - - { - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("ab a,b"); - assert (test_post_fail (p)); - } - - // ncname - // - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (".a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (":a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1:a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // id - // - { - id_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - // idref - // - { - idref_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - // idrefs - // - { - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._characters (" \t\n "); - assert (test_post_fail (p)); - } - - { - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("ab a<b"); - assert (test_post_fail (p)); - } - - // language - // - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en-"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a1"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en+us"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en-nine99999"); - assert (test_post_fail (p)); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/string/makefile b/xsd/tests/cxx/parser/validation/built-in/string/makefile deleted file mode 100644 index 41c0dcd..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/string/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/string/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/built-in/uri/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/uri/driver.cxx deleted file mode 100644 index daff0c7..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/uri/driver.cxx +++ /dev/null @@ -1,54 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/uri/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in anyURI type validation. -// -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -int -main () -{ - // Good. - // - { - uri_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._post (); - assert (p.post_uri () == ""); - } - - { - uri_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("relative"); - p._post (); - assert (p.post_uri () == "relative"); - } - - { - uri_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("#id"); - p._post (); - assert (p.post_uri () == "#id"); - } - - { - uri_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("http://www.example.com/foo#bar"); - p._post (); - assert (p.post_uri () == "http://www.example.com/foo#bar"); - } -} diff --git a/xsd/tests/cxx/parser/validation/built-in/uri/makefile b/xsd/tests/cxx/parser/validation/built-in/uri/makefile deleted file mode 100644 index cfb8101..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/uri/makefile +++ /dev/null @@ -1,71 +0,0 @@ -# file : tests/cxx/parser/validation/built-in/uri/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) - -# 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) diff --git a/xsd/tests/cxx/parser/validation/choice/driver.cxx b/xsd/tests/cxx/parser/validation/choice/driver.cxx deleted file mode 100644 index fd1e651..0000000 --- a/xsd/tests/cxx/parser/validation/choice/driver.cxx +++ /dev/null @@ -1,127 +0,0 @@ -// file : tests/cxx/parser/validation/choice/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the choice compositor validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct choice_pimpl: choice_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - c (string const& v) - { - cout << " c = " << v << endl; - } - - virtual void - d (string const& v) - { - cout << " d = " << v << endl; - } - - virtual void - _start_any_element (ro_string const& ns, - ro_string const& name, - ro_string const*) - { - cout << " any: " << ns << "#" << name << endl - << " {" << endl; - } - - virtual void - _any_characters (ro_string const& v) - { - cout << " chars = " << v << endl; - } - - virtual void - _end_any_element (ro_string const&, ro_string const&) - { - cout << " }" << endl; - } - - virtual void - post_choice () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - choice_pimpl choice_p; - type_pimpl type_p; - - choice_p.parsers (string_p, string_p, string_p, string_p); - type_p.parsers (choice_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - try - { - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cout << " " << e << endl - << "}" << endl - << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/choice/makefile b/xsd/tests/cxx/parser/validation/choice/makefile deleted file mode 100644 index ec86590..0000000 --- a/xsd/tests/cxx/parser/validation/choice/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/choice/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 001 002 003 004 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/choice/test-000.std b/xsd/tests/cxx/parser/validation/choice/test-000.std deleted file mode 100644 index 856b7f5..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-000.std +++ /dev/null @@ -1,22 +0,0 @@ -{ - a = a - b = b -} - -{ - c = c - d = d - any: other#any - { - chars = any - } - a = a -} - -{ - c = c - d = d - d = d - a = a -} - diff --git a/xsd/tests/cxx/parser/validation/choice/test-000.xml b/xsd/tests/cxx/parser/validation/choice/test-000.xml deleted file mode 100644 index 39b9614..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-000.xml +++ /dev/null @@ -1,30 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <choice> - <a>a</a> - - <b>b</b> - </choice> - - <choice> - <c>c</c> - <d>d</d> - - <o:any>any</o:any> - - <a>a</a> - </choice> - - <choice> - <c>c</c> - <d>d</d> - - <d>d</d> - - <a>a</a> - </choice> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/choice/test-001.std b/xsd/tests/cxx/parser/validation/choice/test-001.std deleted file mode 100644 index 8a78666..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-001.std +++ /dev/null @@ -1,4 +0,0 @@ -{ - :8:12 error: expected element 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/choice/test-001.xml b/xsd/tests/cxx/parser/validation/choice/test-001.xml deleted file mode 100644 index c509e0d..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-001.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <choice> - </choice> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/choice/test-002.std b/xsd/tests/cxx/parser/validation/choice/test-002.std deleted file mode 100644 index 1dc1a3a..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-002.std +++ /dev/null @@ -1,11 +0,0 @@ -{ - c = c - d = d - any: other#any - { - chars = any - } - a = a - :14:8 error: unexpected element 'b' -} - diff --git a/xsd/tests/cxx/parser/validation/choice/test-002.xml b/xsd/tests/cxx/parser/validation/choice/test-002.xml deleted file mode 100644 index 3b7e663..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-002.xml +++ /dev/null @@ -1,17 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <choice> - <c>c</c> - <d>d</d> - - <o:any>any</o:any> - - <a>a</a> - <b>b</b> - </choice> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/choice/test-003.std b/xsd/tests/cxx/parser/validation/choice/test-003.std deleted file mode 100644 index 29d5e44..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-003.std +++ /dev/null @@ -1,5 +0,0 @@ -{ - c = c - :9:12 error: expected element 'd' -} - diff --git a/xsd/tests/cxx/parser/validation/choice/test-003.xml b/xsd/tests/cxx/parser/validation/choice/test-003.xml deleted file mode 100644 index ba15c7e..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-003.xml +++ /dev/null @@ -1,11 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <choice> - <c>c</c> - </choice> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/choice/test-004.std b/xsd/tests/cxx/parser/validation/choice/test-004.std deleted file mode 100644 index 4a7530b..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-004.std +++ /dev/null @@ -1,4 +0,0 @@ -{ - :8:8 error: expected element 'a' instead of 'x' -} - diff --git a/xsd/tests/cxx/parser/validation/choice/test-004.xml b/xsd/tests/cxx/parser/validation/choice/test-004.xml deleted file mode 100644 index f6960dd..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test-004.xml +++ /dev/null @@ -1,11 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- invalid --> - <choice> - <x>x</x> - </choice> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/choice/test.xsd b/xsd/tests/cxx/parser/validation/choice/test.xsd deleted file mode 100644 index 8132bbb..0000000 --- a/xsd/tests/cxx/parser/validation/choice/test.xsd +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="choice"> - <choice maxOccurs="3"> - <element name="a" type="string"/> - <element name="b" type="string" maxOccurs="unbounded"/> - <sequence> - <element name="c" type="string" minOccurs="0"/> - <element name="d" type="string"/> - </sequence> - <any namespace="other" maxOccurs="unbounded"/> - </choice> - </complexType> - - <complexType name="type"> - <sequence> - <element name="choice" type="t:choice" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/makefile b/xsd/tests/cxx/parser/validation/makefile deleted file mode 100644 index c5d43ed..0000000 --- a/xsd/tests/cxx/parser/validation/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/parser/validation/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := all any attribute built-in choice restriction sequence - -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/xsd/tests/cxx/parser/validation/restriction/driver.cxx b/xsd/tests/cxx/parser/validation/restriction/driver.cxx deleted file mode 100644 index ea87af6..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/driver.cxx +++ /dev/null @@ -1,108 +0,0 @@ -// file : tests/cxx/parser/validation/restriction/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the restriction compositor validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; - -struct base_a_pimpl: base_a_pskel -{ -}; - -struct restriction_a_pimpl: restriction_a_pskel -{ -}; - -struct extension_b_pimpl: extension_b_pskel -{ -}; - -struct restriction_b_pimpl: restriction_b_pskel -{ -}; - -struct type_b_pimpl: type_b_pskel -{ -}; - -struct type_r_pimpl: type_r_pskel -{ -}; - - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - base_a_pimpl base_a_p; - restriction_a_pimpl restriction_a_p; - extension_b_pimpl extension_b_p; - restriction_b_pimpl restriction_b_p; - type_b_pimpl type_b_p; - type_r_pimpl type_r_p; - - base_a_p.parsers (string_p, string_p, string_p, - string_p, string_p, string_p); - - restriction_a_p.parsers (string_p, string_p, string_p, - string_p, string_p, string_p); - - extension_b_p.parsers (string_p, string_p, string_p, - string_p, string_p); - - restriction_b_p.parsers (string_p, string_p, string_p, - string_p, string_p); - - type_b_p.parsers (base_a_p, extension_b_p); - type_r_p.parsers (restriction_a_p, restriction_b_p); - - xml_schema::document doc_b_p (type_b_p, "test", "root"); - xml_schema::document doc_r_p (type_r_p, "test", "root"); - - { - ifstream ifs (argv[1]); - type_b_p.pre (); - doc_b_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_b_p.post_type_b (); - } - - try - { - ifstream ifs (argv[1]); - type_r_p.pre (); - doc_r_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_r_p.post_type_r (); - } - catch (xml_schema::exception const& e) - { - cout << e << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/restriction/makefile b/xsd/tests/cxx/parser/validation/restriction/makefile deleted file mode 100644 index 5e1a9fd..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/restriction/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 001 002 003 004 005 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/restriction/test-000.std b/xsd/tests/cxx/parser/validation/restriction/test-000.std deleted file mode 100644 index e69de29..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-000.std +++ /dev/null diff --git a/xsd/tests/cxx/parser/validation/restriction/test-000.xml b/xsd/tests/cxx/parser/validation/restriction/test-000.xml deleted file mode 100644 index 21402b4..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-000.xml +++ /dev/null @@ -1,31 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <restriction-a z="z"> - <a>a</a> - <b>b</b> - <c>c</c> - </restriction-a> - - <restriction-a x="x" y="y" z="z"> - <a>a</a> - <b>b</b> - <c>c</c> - </restriction-a> - - <restriction-b y="y"> - <a>a</a> - <b>b</b> - </restriction-b> - - <restriction-b y="y"> - <a>a</a> - <c>c</c> - </restriction-b> - - <restriction-b x="x" y="y"> - <a>a</a> - </restriction-b> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test-001.std b/xsd/tests/cxx/parser/validation/restriction/test-001.std deleted file mode 100644 index 5077837..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-001.std +++ /dev/null @@ -1 +0,0 @@ -:7:8 error: expected element 'a' instead of 'b' diff --git a/xsd/tests/cxx/parser/validation/restriction/test-001.xml b/xsd/tests/cxx/parser/validation/restriction/test-001.xml deleted file mode 100644 index 4015302..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-001.xml +++ /dev/null @@ -1,11 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- valid base but not restriction: a element --> - <restriction-a z="z"> - <b>b</b> - <c>c</c> - </restriction-a> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test-002.std b/xsd/tests/cxx/parser/validation/restriction/test-002.std deleted file mode 100644 index f12c342..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-002.std +++ /dev/null @@ -1 +0,0 @@ -:10:19 error: expected attribute 'z' diff --git a/xsd/tests/cxx/parser/validation/restriction/test-002.xml b/xsd/tests/cxx/parser/validation/restriction/test-002.xml deleted file mode 100644 index eb7684c..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-002.xml +++ /dev/null @@ -1,12 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- valid base but not restriction: z attribute --> - <restriction-a> - <a>a</a> - <b>b</b> - <c>c</c> - </restriction-a> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test-003.std b/xsd/tests/cxx/parser/validation/restriction/test-003.std deleted file mode 100644 index 0c65175..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-003.std +++ /dev/null @@ -1 +0,0 @@ -:11:8 error: unexpected element 'a' diff --git a/xsd/tests/cxx/parser/validation/restriction/test-003.xml b/xsd/tests/cxx/parser/validation/restriction/test-003.xml deleted file mode 100644 index 49f18c7..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-003.xml +++ /dev/null @@ -1,16 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- valid base but not restriction: sequence maxOccurs="1" --> - <restriction-a z="z"> - <a>a</a> - <b>b</b> - <c>c</c> - - <a>a</a> - <b>b</b> - <c>c</c> - </restriction-a> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test-004.std b/xsd/tests/cxx/parser/validation/restriction/test-004.std deleted file mode 100644 index 5077837..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-004.std +++ /dev/null @@ -1 +0,0 @@ -:7:8 error: expected element 'a' instead of 'b' diff --git a/xsd/tests/cxx/parser/validation/restriction/test-004.xml b/xsd/tests/cxx/parser/validation/restriction/test-004.xml deleted file mode 100644 index 115cd38..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-004.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- valid extension but not restriction: a element --> - <restriction-b y="y"> - <b>b</b> - </restriction-b> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test-005.std b/xsd/tests/cxx/parser/validation/restriction/test-005.std deleted file mode 100644 index e92de14..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-005.std +++ /dev/null @@ -1 +0,0 @@ -:9:19 error: expected attribute 'y' diff --git a/xsd/tests/cxx/parser/validation/restriction/test-005.xml b/xsd/tests/cxx/parser/validation/restriction/test-005.xml deleted file mode 100644 index e9ab7d9..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test-005.xml +++ /dev/null @@ -1,11 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- valid extension but not restriction: y attribute --> - <restriction-b> - <a>a</a> - <b>b</b> - </restriction-b> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/restriction/test.xsd b/xsd/tests/cxx/parser/validation/restriction/test.xsd deleted file mode 100644 index 158ded5..0000000 --- a/xsd/tests/cxx/parser/validation/restriction/test.xsd +++ /dev/null @@ -1,82 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- simple case --> - <complexType name="base-a"> - <sequence minOccurs="1" maxOccurs="2"> - <element name="a" type="string" minOccurs="0"/> - <element name="b" type="string"/> - <element name="c" type="string"/> - </sequence> - <attribute name="x" type="string"/> - <attribute name="y" type="string"/> - <attribute name="z" type="string"/> - </complexType> - - <complexType name="restriction-a"> - <complexContent> - <restriction base="t:base-a"> - <sequence minOccurs="1" maxOccurs="1"> - <element name="a" type="string" minOccurs="1"/> - <element name="b" type="string"/> - <element name="c" type="string"/> - </sequence> - <!-- Can be ommited if not changed, e.g., 'x'. --> - <attribute name="y" type="string"/> <!-- But can also be repeated without change. --> - <attribute name="z" type="string" use="required"/> - </restriction> - </complexContent> - </complexType> - - <!-- restriction of an extension --> - <complexType name="base-b"> - <sequence> - <element name="a" type="string" minOccurs="0"/> - </sequence> - <attribute name="x" type="string"/> - </complexType> - - <complexType name="extension-b"> - <complexContent> - <extension base="t:base-b"> - <choice> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string"/> - </choice> - <attribute name="y" type="string"/> - </extension> - </complexContent> - </complexType> - - <complexType name="restriction-b"> - <complexContent> - <restriction base="t:extension-b"> - <sequence> - <sequence> - <element name="a" type="string" minOccurs="1"/> - </sequence> - <choice> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string"/> - </choice> - </sequence> - <attribute name="y" type="string" use="required"/> - </restriction> - </complexContent> - </complexType> - - <complexType name="type-b"> - <choice maxOccurs="unbounded"> - <element name="restriction-a" type="t:base-a"/> - <element name="restriction-b" type="t:extension-b"/> - </choice> - </complexType> - - <complexType name="type-r"> - <choice maxOccurs="unbounded"> - <element name="restriction-a" type="t:restriction-a"/> - <element name="restriction-b" type="t:restriction-b"/> - </choice> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/parser/validation/sequence/driver.cxx b/xsd/tests/cxx/parser/validation/sequence/driver.cxx deleted file mode 100644 index eddf744..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/driver.cxx +++ /dev/null @@ -1,140 +0,0 @@ -// file : tests/cxx/parser/validation/sequence/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the sequence compositor validation. -// - -#include <string> -#include <fstream> -#include <iostream> - -#include "test-pskel.hxx" - -using namespace std; -using namespace test; -using xml_schema::ro_string; - -struct sequence_pimpl: sequence_pskel -{ - virtual void - pre () - { - cout << "{" << endl; - } - - virtual void - a (string const& v) - { - cout << " a = " << v << endl; - } - - virtual void - b (string const& v) - { - cout << " b = " << v << endl; - } - - virtual void - c (string const& v) - { - cout << " c = " << v << endl; - } - - virtual void - d (string const& v) - { - cout << " d = " << v << endl; - } - - virtual void - e (string const& v) - { - cout << " e = " << v << endl; - } - - virtual void - f (string const& v) - { - cout << " f = " << v << endl; - } - - virtual void - _start_any_element (ro_string const& ns, - ro_string const& name, - ro_string const*) - { - cout << " any: " << ns << "#" << name << endl - << " {" << endl; - } - - virtual void - _any_characters (ro_string const& v) - { - cout << " chars = " << v << endl; - } - - virtual void - _end_any_element (ro_string const&, ro_string const&) - { - cout << " }" << endl; - } - - virtual void - post_sequence () - { - cout << "}" << endl - << endl; - } -}; - -struct type_pimpl: type_pskel -{ -}; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - xml_schema::string_pimpl string_p; - sequence_pimpl sequence_p; - type_pimpl type_p; - - sequence_p.parsers (string_p, string_p, string_p, - string_p, string_p, string_p); - type_p.parsers (sequence_p); - - xml_schema::document doc_p (type_p, "test", "root"); - - try - { - ifstream ifs (argv[1]); - type_p.pre (); - doc_p.parse (ifs, argv[1], "", xml_schema::flags::dont_validate); - type_p.post_type (); - } - catch (xml_schema::exception const& e) - { - cout << " " << e << endl - << "}" << endl - << endl; - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - catch (ios_base::failure const&) - { - cerr << "io failure" << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/parser/validation/sequence/makefile b/xsd/tests/cxx/parser/validation/sequence/makefile deleted file mode 100644 index 540f2ea..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/makefile +++ /dev/null @@ -1,93 +0,0 @@ -# file : tests/cxx/parser/validation/sequence/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -tests := 000 001 002 003 004 005 006 - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=-pskel.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=-pskel.hxx) $(xsd:.xsd=-pskel.ixx) $(xsd:.xsd=-pskel.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-validation -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - - -# 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-%.xml $(src_base)/test-%.std - $(call message,test $(out_base)/$*,$(driver) $(src_base)/test-$*.xml | diff -u $(src_base)/test-$*.std -) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=-pskel.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/parser/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/parser/validation/sequence/test-000.std b/xsd/tests/cxx/parser/validation/sequence/test-000.std deleted file mode 100644 index 8a44762..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-000.std +++ /dev/null @@ -1,56 +0,0 @@ -{ - c = c - d = d - any: test#any - { - chars = aaa - any: #a - { - chars = bbb - } - chars = ccc - } - f = f - e = e -} - -{ - a = a - b = b - c = c - d = d - d = d - d = d - any: other#any - { - chars = any - } - f = f - e = e - e = e -} - -{ - a = a - b = b - c = c - d = d - d = d - d = d - any: other#any - { - chars = any - } - f = f - e = e - e = e - c = c - d = d - any: test#any - { - chars = any - } - f = f - e = e -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-000.xml b/xsd/tests/cxx/parser/validation/sequence/test-000.xml deleted file mode 100644 index 9bcbd7e..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-000.xml +++ /dev/null @@ -1,46 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <sequence> - <c>c</c> - <d>d</d> - <t:any>aaa<a>bbb</a>ccc</t:any> - <f>f</f> - <e>e</e> - </sequence> - - <sequence> - <a>a</a> - <b>b</b> - <c>c</c> - <d>d</d> - <d>d</d> - <d>d</d> - <o:any>any</o:any> - <f>f</f> - <e>e</e> - <e>e</e> - </sequence> - - <sequence> - <a>a</a> - <b>b</b> - <c>c</c> - <d>d</d> - <d>d</d> - <d>d</d> - <o:any>any</o:any> - <f>f</f> - <e>e</e> - <e>e</e> - - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-001.std b/xsd/tests/cxx/parser/validation/sequence/test-001.std deleted file mode 100644 index 20dea34..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-001.std +++ /dev/null @@ -1,4 +0,0 @@ -{ - :8:14 error: expected element 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-001.xml b/xsd/tests/cxx/parser/validation/sequence/test-001.xml deleted file mode 100644 index 67d33ce..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-001.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail minOccurs="1" --> - <sequence> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-002.std b/xsd/tests/cxx/parser/validation/sequence/test-002.std deleted file mode 100644 index 61343e7..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-002.std +++ /dev/null @@ -1,20 +0,0 @@ -{ - c = c - d = d - any: test#any - { - chars = any - } - f = f - e = e - c = c - d = d - any: test#any - { - chars = any - } - f = f - e = e - :20:8 error: unexpected element 'c' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-002.xml b/xsd/tests/cxx/parser/validation/sequence/test-002.xml deleted file mode 100644 index be25fcf..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-002.xml +++ /dev/null @@ -1,27 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail maxOccurs="2" --> - <sequence> - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-003.std b/xsd/tests/cxx/parser/validation/sequence/test-003.std deleted file mode 100644 index c4e1e46..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-003.std +++ /dev/null @@ -1,5 +0,0 @@ -{ - a = a - :9:8 error: expected element 'b' instead of 'a' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-003.xml b/xsd/tests/cxx/parser/validation/sequence/test-003.xml deleted file mode 100644 index af7d21d..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-003.xml +++ /dev/null @@ -1,17 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail a maxOccurs="1" --> - <sequence> - <a>a</a> - <a>a</a> - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-004.std b/xsd/tests/cxx/parser/validation/sequence/test-004.std deleted file mode 100644 index f4c1d4d..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-004.std +++ /dev/null @@ -1,4 +0,0 @@ -{ - :8:8 error: expected element 'a' instead of 'd' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-004.xml b/xsd/tests/cxx/parser/validation/sequence/test-004.xml deleted file mode 100644 index a58b6d4..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-004.xml +++ /dev/null @@ -1,14 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail c minOccurs="1" --> - <sequence> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-005.std b/xsd/tests/cxx/parser/validation/sequence/test-005.std deleted file mode 100644 index 9fa7904..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-005.std +++ /dev/null @@ -1,6 +0,0 @@ -{ - c = c - d = d - :10:13 error: expected element '##targetNamespace#*' instead of 'other1#any' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-005.xml b/xsd/tests/cxx/parser/validation/sequence/test-005.xml deleted file mode 100644 index e3dd03d..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-005.xml +++ /dev/null @@ -1,15 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o1="other1" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail any namespace="##targetNamespace other" --> - <sequence> - <c>c</c> - <d>d</d> - <o1:any>any</o1:any> - <f>f</f> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test-006.std b/xsd/tests/cxx/parser/validation/sequence/test-006.std deleted file mode 100644 index eb79f47..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-006.std +++ /dev/null @@ -1,13 +0,0 @@ -{ - c = c - d = d - any: test#any - { - chars = any - } - f = f - e = e - e = e - :14:8 error: unexpected element 'e' -} - diff --git a/xsd/tests/cxx/parser/validation/sequence/test-006.xml b/xsd/tests/cxx/parser/validation/sequence/test-006.xml deleted file mode 100644 index e1ecd69..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test-006.xml +++ /dev/null @@ -1,17 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <!-- fail e maxOccurs="2" --> - <sequence> - <c>c</c> - <d>d</d> - <t:any>any</t:any> - <f>f</f> - <e>e</e> - <e>e</e> - <e>e</e> - </sequence> - -</t:root> diff --git a/xsd/tests/cxx/parser/validation/sequence/test.xsd b/xsd/tests/cxx/parser/validation/sequence/test.xsd deleted file mode 100644 index 8753f54..0000000 --- a/xsd/tests/cxx/parser/validation/sequence/test.xsd +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="sequence"> - <sequence minOccurs="1" maxOccurs="2"> - <element name="a" type="string" minOccurs="0"/> - <sequence> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string"/> - </sequence> - <element name="d" type="string" maxOccurs="unbounded"/> - <sequence> - <any namespace="##targetNamespace other"/> - <element name="f" type="string"/> - </sequence> - <element name="e" type="string" maxOccurs="2"/> - </sequence> - </complexType> - - <complexType name="type"> - <sequence> - <element name="sequence" type="t:sequence" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/any-type/driver.cxx b/xsd/tests/cxx/tree/any-type/driver.cxx deleted file mode 100644 index 1ac5274..0000000 --- a/xsd/tests/cxx/tree/any-type/driver.cxx +++ /dev/null @@ -1,145 +0,0 @@ -// file : tests/cxx/tree/any-type/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test anyType and anySimpleType content extraction. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <utility> // std::move -#include <sstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" // Get XSD_CXX11 defined. - -#include <xsd/cxx/xml/string.hxx> - -using namespace std; -using namespace test; -using namespace xercesc; - -namespace xml = xsd::cxx::xml; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - XMLPlatformUtils::Initialize (); - - try - { - // Test parsing - // - XSD_AUTO_PTR<type> r (root (argv[1])); - - // Test API. - // - { - assert (type::a_default_value ().text_content () == "default value"); - } - - { - xml_schema::simple_type x ("fox"); - assert (x.text_content () == "fox"); - x.text_content ("foo"); - assert (x.text_content () == "foo"); - x.text_content ().clear (); - assert (x.text_content () == ""); - x.text_content () = "baz"; - r->s ().push_back (x); - } - - { - xml_schema::type x; - - DOMDocument& doc (x.dom_content_document ()); - - // Copy. - // - DOMElement* e (doc.createElement (xml::string ("dummy").c_str ())); - e->setAttribute (xml::string ("x").c_str (), - xml::string ("foo").c_str ()); - e->setTextContent (xml::string ("data").c_str ()); - x.dom_content ().set (*e); - e->release (); - - r->t ().push_back (x); - } - - { - XSD_AUTO_PTR<xml_schema::type> x (new xml_schema::type); - - DOMDocument& doc (x->dom_content_document ()); - - // Assume ownership. - // - DOMElement* e (doc.createElement (xml::string ("dummy").c_str ())); - e->setAttribute (xml::string ("x").c_str (), - xml::string ("foo").c_str ()); - e->setTextContent (xml::string ("data").c_str ()); - x->dom_content ().set (e); - -#ifdef XSD_CXX11 - r->t ().push_back (std::move (x)); -#else - r->t ().push_back (x); -#endif - } - - // Test printing. - // - cout << *r << endl - << endl; - - // Test serialization. - // - xml_schema::namespace_infomap map; - - map["t"].name = "test"; - map["t"].schema = "test.xsd"; - map["o"].name = "other"; - - stringstream iostr; - root (iostr, *r, map); - - cout << iostr.str () << endl - << endl; - - { - XSD_AUTO_PTR<type> r1 (root (iostr, argv[1])); - - // Xerces-C++ mis-indentation of mixed content messes this up. - // assert (*r == *r); - - stringstream iostr; - root (iostr, *r1, map); - - cout << iostr.str () << endl - << endl; - } - - // Test comparison. - // - assert (*r == *r); - - // Test copy c-tor. - // - type copy (*r); - assert (copy == *r); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - - XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/any-type/makefile b/xsd/tests/cxx/tree/any-type/makefile deleted file mode 100644 index 1d0590f..0000000 --- a/xsd/tests/cxx/tree/any-type/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/any-type/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-any-type --generate-serialization \ ---generate-ostream --generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/any-type/output b/xsd/tests/cxx/tree/any-type/output deleted file mode 100644 index 580e7db..0000000 --- a/xsd/tests/cxx/tree/any-type/output +++ /dev/null @@ -1,73 +0,0 @@ - -t: -t: -t: -t: -t: -t: -t: -t: -s: -s: simple -s: baz -l: one two three -a: any simple content - -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test" a="any simple content" xmlns:o="other" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test test.xsd"> - <t/> - <t x="x"/> - <t>any</t> - <t x="x">any</t> - <t o:y="y" x="x"> - <n1> - <n2>nested 1</n2> - <n2>nested 2</n2> - </n1> - <o:n2 o:x="x">more</o:n2> - </t><t x="x"> - <n1>mi - <n2>nested 1</n2>x - <n2>nested 2</n2>ed - </n1>content - </t> - <t x="foo">data</t> - <t x="foo">data</t> - <s/> - <s>simple</s> - <s>baz</s> - <l>one two three</l> -</t:root> - - -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test" a="any simple content" xmlns:o="other" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="test test.xsd"> - <t/> - <t x="x"/> - <t>any</t> - <t x="x">any</t> - <t o:y="y" x="x"> - <n1> - <n2>nested 1</n2> - <n2>nested 2</n2> - </n1> - <o:n2 o:x="x">more</o:n2> - </t><t x="x"> - <n1>mi - - <n2>nested 1</n2>x - - <n2>nested 2</n2>ed - - </n1>content - - </t> - <t x="foo">data</t> - <t x="foo">data</t> - <s/> - <s>simple</s> - <s>baz</s> - <l>one two three</l> -</t:root> - - diff --git a/xsd/tests/cxx/tree/any-type/test.xml b/xsd/tests/cxx/tree/any-type/test.xml deleted file mode 100644 index 7c9035a..0000000 --- a/xsd/tests/cxx/tree/any-type/test.xml +++ /dev/null @@ -1,26 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - - a="any simple content"> - - <t/> - <t x="x"/> - <t>any</t> - <t x="x">any</t> - <t x="x" o:y="y"> - <n1> - <n2>nested 1</n2> - <n2>nested 2</n2> - </n1> - <o:n2 o:x="x">more</o:n2> - </t> - <t x="x"><n1>mi<n2>nested 1</n2>x<n2>nested 2</n2>ed</n1>content</t> - - <s/> - <s>simple</s> - - <l>one two three</l> - -</t:root> diff --git a/xsd/tests/cxx/tree/any-type/test.xsd b/xsd/tests/cxx/tree/any-type/test.xsd deleted file mode 100644 index 37dcc8d..0000000 --- a/xsd/tests/cxx/tree/any-type/test.xsd +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="any-list"> - <!--Not allowed? list itemType="anySimpleType"/--> - <list itemType="string"/> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="t" type="anyType" maxOccurs="unbounded"/> - <element name="s" type="anySimpleType" maxOccurs="unbounded"/> - <element name="l" type="t:any-list" maxOccurs="unbounded"/> - </sequence> - <attribute name="a" type="anySimpleType" default="default value"/> - </complexType> - - <element name="root" type="t:type"/> -</schema> diff --git a/xsd/tests/cxx/tree/binary/cdr/driver.cxx b/xsd/tests/cxx/tree/binary/cdr/driver.cxx deleted file mode 100644 index a2d7195..0000000 --- a/xsd/tests/cxx/tree/binary/cdr/driver.cxx +++ /dev/null @@ -1,144 +0,0 @@ -// file : tests/cxx/tree/binary/cdr/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test non-polymorphic binary serialization to ACE CDR. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - // Save to a CDR stream. - // - ACE_OutputCDR ace_ocdr; - xml_schema::ostream<ACE_OutputCDR> ocdr (ace_ocdr); - ocdr << *r; - - // Load from a CDR stream. - // - ACE_InputCDR ace_icdr (ace_ocdr); - xml_schema::istream<ACE_InputCDR> icdr (ace_icdr); - XSD_AUTO_PTR<type> c (new type (icdr)); - - // Compare the two. - // - assert (r->list () == c->list ()); - assert (r->union_ () == c->union_ ()); - assert (r->enumeration () == c->enumeration ()); - - type::complex_sequence rs (r->complex ()), cs (c->complex ()); - - for (type::complex_iterator ri (rs.begin ()), ci (cs.begin ()); - ri != rs.end () && ci != rs.end (); ++ri, ++ci) - { - assert (ri->a () == ci->a ()); - if (ri->b ()) - assert (ri->b () == ci->b ()); - assert (ri->c () == ci->c ()); - - assert (ri->x () == ci->x ()); - if (ri->y ()) - assert (ri->y () == ci->y ()); - } - - // integers - // - assert (r->byte () == c->byte ()); - assert (r->unsigned_byte () == c->unsigned_byte ()); - assert (r->short_ () == c->short_ ()); - assert (r->unsigned_short () == c->unsigned_short ()); - assert (r->int_ () == c->int_ ()); - assert (r->unsigned_int () == c->unsigned_int ()); - assert (r->long_ () == c->long_ ()); - assert (r->unsigned_long () == c->unsigned_long ()); - assert (r->integer () == c->integer ()); - assert (r->non_positive_integer () == c->non_positive_integer ()); - assert (r->non_negative_integer () == c->non_negative_integer ()); - assert (r->positive_integer () == c->positive_integer ()); - assert (r->negative_integer () == c->negative_integer ()); - - // boolean - // - assert (r->boolean () == c->boolean ()); - - // floats - // - assert (r->float_ () == c->float_ ()); - assert (r->double_ () == c->double_ ()); - assert (r->decimal () == c->decimal ()); - - // strings - // - assert (r->string () == c->string ()); - assert (r->normalized_string () == c->normalized_string ()); - assert (r->token () == c->token ()); - assert (r->name () == c->name ()); - assert (r->name_token () == c->name_token ()); - assert (r->name_tokens () == c->name_tokens ()); - assert (r->ncname () == c->ncname ()); - assert (r->language () == c->language ()); - - // qualified name - // - assert (r->qname () == c->qname ()); - - // ID/IDREF - // - assert (r->id () == c->id ()); - assert (r->id_ref () == c->id_ref ()); - assert (r->id_refs () == c->id_refs ()); - - // URI - // - assert (r->any_uri () == c->any_uri ()); - - // binary - // - assert (r->base64_binary () == c->base64_binary ()); - assert (r->hex_binary () == c->hex_binary ()); - - // date/time - // - assert (r->day () == c->day ()); - assert (r->month () == c->month ()); - assert (r->year () == c->year ()); - assert (r->month_day () == c->month_day ()); - assert (r->year_month () == c->year_month ()); - assert (r->date () == c->date ()); - assert (r->time () == c->time ()); - assert (r->date_time () == c->date_time ()); - assert (r->duration () == c->duration ()); - - // anySimpleType - // - assert (!r->any_simple_type_attr ().text_content ().empty ()); - assert (r->any_simple_type_attr () == c->any_simple_type_attr ()); - - assert (!r->any_simple_type ().text_content ().empty ()); - assert (r->any_simple_type () == c->any_simple_type ()); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/binary/cdr/makefile b/xsd/tests/cxx/tree/binary/cdr/makefile deleted file mode 100644 index eb80d35..0000000 --- a/xsd/tests/cxx/tree/binary/cdr/makefile +++ /dev/null @@ -1,90 +0,0 @@ -# file : tests/cxx/tree/binary/cdr/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(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/libace/stub.make,\ - l: ace.l,cpp-options: ace.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(ace.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(ace.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-insertion ACE_OutputCDR \ ---generate-extraction ACE_InputCDR --generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml - $(call message,test $$1,$$1 $(src_base)/test.xml,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/binary/cdr/test.xml b/xsd/tests/cxx/tree/binary/cdr/test.xml deleted file mode 100644 index 5cedd98..0000000 --- a/xsd/tests/cxx/tree/binary/cdr/test.xml +++ /dev/null @@ -1,93 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - any_simple_type_attr="any simple content"> - - <list>1 2 3</list> - - <union>abc</union> - - <enumeration>left</enumeration> - - <complex x="1"> - <a>aaa</a> - </complex> - <complex x="1" y="2"> - <a>aaa</a> - <b>bbb</b> - <c>c</c> - <c>cc</c> - <c>ccc</c> - </complex> - - - <!-- integers --> - <byte>65</byte> - <unsigned_byte>66</unsigned_byte> - <short>-222</short> - <unsigned_short>57005</unsigned_short> - <int>-57005</int> - <unsigned_int>3735928559</unsigned_int> - <long>-3735928559</long> - <unsigned_long>16045690984833335023</unsigned_long> - <integer>-3735928559</integer> - <non_positive_integer>-3735928559</non_positive_integer> - <non_negative_integer>3735928559</non_negative_integer> - <positive_integer>3735928559</positive_integer> - <negative_integer>-3735928559</negative_integer> - - - <!-- boolean --> - <boolean>true</boolean> - - - <!-- floats --> - <float>1234.1234</float> - <double>12345678.12345678</double> - <decimal>1234567812345678.1234567812345678</decimal> - - - <!-- strings --> - <string>string</string> - <normalized_string>normalized string</normalized_string> - <token>one two three</token> - <name>name</name> - <name_token>name-token</name_token> - <name_tokens>name tokens</name_tokens> - <ncname>ncname</ncname> - <language>en-us</language> - - <!-- qualified name --> - <qname>xsi:schemaLocation</qname> - - - <!-- ID/IDREF --> - <id>elements1</id> - <id>elements2</id> - <id_ref>elements1</id_ref> - <id_refs>elements1 elements2</id_refs> - - - <!-- URI --> - <any_uri>http://www.codesynthesis.com</any_uri> - - - <!-- binary --> - <base64_binary>YmFzZTY0IGJpbmFyeQ==</base64_binary> - <hex_binary>6865782052696E617279</hex_binary> - - - <!-- date/time --> - <date>2001-10-26+02:00</date> - <date_time>2001-10-26T21:32:52+02:00</date_time> - <duration>P1Y2M3DT5H20M30S</duration> - <day>---01+02:00</day> - <month>--11+02:00</month> - <month_day>--11-02+02:00</month_day> - <year>2001+02:00</year> - <year_month>2001-11+02:00</year_month> - <time>21:32:52+02:00</time> - - <any_simple_type>any simple content in element</any_simple_type> - -</t:root> diff --git a/xsd/tests/cxx/tree/binary/cdr/test.xsd b/xsd/tests/cxx/tree/binary/cdr/test.xsd deleted file mode 100644 index 0629e94..0000000 --- a/xsd/tests/cxx/tree/binary/cdr/test.xsd +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:t="test" - targetNamespace="test"> - - <simpleType name="list"> - <list itemType="int"/> - </simpleType> - - <simpleType name="union"> - <union memberTypes="int string"/> - </simpleType> - - <simpleType name="enumeration"> - <restriction base="string"> - <enumeration value="top"/> - <enumeration value="left"/> - <enumeration value="bottom"/> - <enumeration value="right"/> - </restriction> - </simpleType> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="x" type="int" use="required"/> - </complexType> - - <complexType name="complex"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="y" type="int"/> - </extension> - </complexContent> - </complexType> - - - <complexType name="type"> - <sequence> - <element name="list" type="t:list"/> - <element name="union" type="t:union"/> - <element name="enumeration" type="t:enumeration"/> - <element name="complex" type="t:complex" maxOccurs="unbounded"/> - - <!-- integers --> - <element name="byte" type="byte"/> - <element name="unsigned_byte" type="unsignedByte"/> - <element name="short" type="short"/> - <element name="unsigned_short" type="unsignedShort"/> - <element name="int" type="int"/> - <element name="unsigned_int" type="unsignedInt"/> - <element name="long" type="long"/> - <element name="unsigned_long" type="unsignedLong"/> - <element name="integer" type="integer"/> - <element name="non_positive_integer" type="nonPositiveInteger"/> - <element name="non_negative_integer" type="nonNegativeInteger"/> - <element name="positive_integer" type="positiveInteger"/> - <element name="negative_integer" type="negativeInteger"/> - - - <!-- boolean --> - <element name="boolean" type="boolean"/> - - - <!-- floats --> - <element name="float" type="float"/> - <element name="double" type="double"/> - <element name="decimal" type="decimal"/> - - - <!-- strings --> - <element name="string" type="string"/> - <element name="normalized_string" type="normalizedString"/> - <element name="token" type="token"/> - <element name="name" type="Name"/> - <element name="name_token" type="NMTOKEN"/> - <element name="name_tokens" type="NMTOKENS"/> - <element name="ncname" type="NCName"/> - <element name="language" type="language"/> - - <!-- qualified name --> - <element name="qname" type="QName"/> - - - <!-- ID/IDREF --> - <element name="id" maxOccurs="2" type="ID"/> - <element name="id_ref" type="IDREF"/> - <element name="id_refs" type="IDREFS"/> - - - <!-- URI --> - <element name="any_uri" type="anyURI"/> - - - <!-- binary --> - <element name="base64_binary" type="base64Binary"/> - <element name="hex_binary" type="hexBinary"/> - - - <!-- date/time --> - <element name="date" type="date"/> - <element name="date_time" type="dateTime"/> - <element name="duration" type="duration"/> - <element name="day" type="gDay"/> - <element name="month" type="gMonth"/> - <element name="month_day" type="gMonthDay"/> - <element name="year" type="gYear"/> - <element name="year_month" type="gYearMonth"/> - <element name="time" type="time"/> - - <element name="any_simple_type" type="anySimpleType"/> - </sequence> - <attribute name="any_simple_type_attr" type="anySimpleType" use="required"/> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/binary/makefile b/xsd/tests/cxx/tree/binary/makefile deleted file mode 100644 index 7ec2f6a..0000000 --- a/xsd/tests/cxx/tree/binary/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/binary/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := cdr polymorphic xdr - -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/xsd/tests/cxx/tree/binary/polymorphic/driver.cxx b/xsd/tests/cxx/tree/binary/polymorphic/driver.cxx deleted file mode 100644 index 8e7256e..0000000 --- a/xsd/tests/cxx/tree/binary/polymorphic/driver.cxx +++ /dev/null @@ -1,165 +0,0 @@ -// file : tests/cxx/tree/binary/polymorphic/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test polymorphic binary serialization. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> -#include <iostream> -#include <typeinfo> - -#include <ace/Log_Msg.h> // ACE_HEX_DUMP - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - // Save to a CDR stream. - // - ACE_OutputCDR ace_ocdr; - xml_schema::ostream<ACE_OutputCDR> ocdr (ace_ocdr); - ocdr << *r; - - /* - // Print the binary representation. - // - cerr << "binary representation size: " << ace_ocdr.total_length () << endl; - - for (const ACE_Message_Block* mb = ace_ocdr.begin (); - mb != 0; - mb = mb->cont ()) - { - ACE_HEX_DUMP ((LM_DEBUG, mb->rd_ptr (), mb->length ())); - } - */ - - // Load from a CDR stream. - // - ACE_InputCDR ace_icdr (ace_ocdr); - xml_schema::istream<ACE_InputCDR> icdr (ace_icdr); - XSD_AUTO_PTR<type> c (new type (icdr)); - - // Compare the two. - // - assert (r->list () == c->list ()); - assert (r->union_ () == c->union_ ()); - assert (r->enumeration () == c->enumeration ()); - - { - complex& rc (dynamic_cast<complex&> (r->base ())); - complex& cc (dynamic_cast<complex&> (c->base ())); - - assert (rc.a () == cc.a ()); - if (rc.b ()) - assert (rc.b () == cc.b ()); - assert (rc.c () == cc.c ()); - - assert (rc.x () == cc.x ()); - if (rc.y ()) - assert (rc.y () == cc.y ()); - } - - { - complex& rc (dynamic_cast<complex&> (r->sbase ())); - complex& cc (dynamic_cast<complex&> (c->sbase ())); - - assert (rc.a () == cc.a ()); - if (rc.b ()) - assert (rc.b () == cc.b ()); - assert (rc.c () == cc.c ()); - - assert (rc.x () == cc.x ()); - if (rc.y ()) - assert (rc.y () == cc.y ()); - } - - // integers - // - assert (r->byte () == c->byte ()); - assert (r->unsigned_byte () == c->unsigned_byte ()); - assert (r->short_ () == c->short_ ()); - assert (r->unsigned_short () == c->unsigned_short ()); - assert (r->int_ () == c->int_ ()); - assert (r->unsigned_int () == c->unsigned_int ()); - assert (r->long_ () == c->long_ ()); - assert (r->unsigned_long () == c->unsigned_long ()); - assert (r->integer () == c->integer ()); - assert (r->non_positive_integer () == c->non_positive_integer ()); - assert (r->non_negative_integer () == c->non_negative_integer ()); - assert (r->positive_integer () == c->positive_integer ()); - assert (r->negative_integer () == c->negative_integer ()); - - // boolean - // - assert (r->boolean () == c->boolean ()); - - // floats - // - assert (r->float_ () == c->float_ ()); - assert (r->double_ () == c->double_ ()); - assert (r->decimal () == c->decimal ()); - - // strings - // - assert (r->string () == c->string ()); - assert (r->normalized_string () == c->normalized_string ()); - assert (r->token () == c->token ()); - assert (r->name () == c->name ()); - assert (r->name_token () == c->name_token ()); - assert (r->name_tokens () == c->name_tokens ()); - assert (r->ncname () == c->ncname ()); - assert (r->language () == c->language ()); - - // qualified name - // - assert (r->qname () == c->qname ()); - - // ID/IDREF - // - assert (r->id () == c->id ()); - assert (r->id_ref () == c->id_ref ()); - assert (r->id_refs () == c->id_refs ()); - - // URI - // - assert (r->any_uri () == c->any_uri ()); - - // binary - // - assert (r->base64_binary () == c->base64_binary ()); - assert (r->hex_binary () == c->hex_binary ()); - - // date/time - // - assert (r->date () == c->date ()); - assert (r->date_time () == c->date_time ()); - assert (r->duration () == c->duration ()); - assert (r->day () == c->day ()); - assert (r->month () == c->month ()); - assert (r->month_day () == c->month_day ()); - assert (r->year () == c->year ()); - assert (r->year_month () == c->year_month ()); - assert (r->time () == c->time ()); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/binary/polymorphic/makefile b/xsd/tests/cxx/tree/binary/polymorphic/makefile deleted file mode 100644 index 05c5186..0000000 --- a/xsd/tests/cxx/tree/binary/polymorphic/makefile +++ /dev/null @@ -1,91 +0,0 @@ -# file : tests/cxx/tree/binary/polymorphic/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(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/libace/stub.make,\ - l: ace.l,cpp-options: ace.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) $(ace.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) $(ace.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic --root-element-last \ ---generate-insertion ACE_OutputCDR --generate-extraction ACE_InputCDR \ - --generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml - $(call message,test $$1,$$1 $(src_base)/test.xml,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/binary/polymorphic/test.xml b/xsd/tests/cxx/tree/binary/polymorphic/test.xml deleted file mode 100644 index ad3a403..0000000 --- a/xsd/tests/cxx/tree/binary/polymorphic/test.xml +++ /dev/null @@ -1,92 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <list>1 2 3</list> - - <union>abc</union> - - <enumeration>left</enumeration> - - <base x="1" xsi:type="t:complex"> - <a>aaa</a> - </base> - - <t:scomplex x="1" y="2"> - <a>aaa</a> - <b>bbb</b> - <c>c</c> - <c>cc</c> - <c>ccc</c> - </t:scomplex> - - - <!-- integers --> - <byte>65</byte> - <unsigned_byte>66</unsigned_byte> - <short>-222</short> - <unsigned_short>57005</unsigned_short> - <int>-57005</int> - <unsigned_int>3735928559</unsigned_int> - <long>-3735928559</long> - <unsigned_long>16045690984833335023</unsigned_long> - <integer>-3735928559</integer> - <non_positive_integer>-3735928559</non_positive_integer> - <non_negative_integer>3735928559</non_negative_integer> - <positive_integer>3735928559</positive_integer> - <negative_integer>-3735928559</negative_integer> - - - <!-- boolean --> - <boolean>true</boolean> - - - <!-- floats --> - <float>1234.1234</float> - <double>12345678.12345678</double> - <decimal>1234567812345678.1234567812345678</decimal> - - - <!-- strings --> - <string>string</string> - <normalized_string>normalized string</normalized_string> - <token>one two three</token> - <name>name</name> - <name_token>name-token</name_token> - <name_tokens>name tokens</name_tokens> - <ncname>ncname</ncname> - <language>en-us</language> - - <!-- qualified name --> - <qname>xsi:schemaLocation</qname> - - - <!-- ID/IDREF --> - <id>elements1</id> - <id>elements2</id> - <id_ref>elements1</id_ref> - <id_refs>elements1 elements2</id_refs> - - - <!-- URI --> - <any_uri>http://www.codesynthesis.com</any_uri> - - - <!-- binary --> - <base64_binary>YmFzZTY0IGJpbmFyeQ==</base64_binary> - <hex_binary>6865782052696E617279</hex_binary> - - - <!-- date/time --> - <date>2001-10-26+02:00</date> - <date_time>2001-10-26T21:32:52+02:00</date_time> - <duration>P1Y2M3DT5H20M30S</duration> - <day>---01+02:00</day> - <month>--11+02:00</month> - <month_day>--11-02+02:00</month_day> - <year>2001+02:00</year> - <year_month>2001-11+02:00</year_month> - <time>21:32:52+02:00</time> - - -</t:root> diff --git a/xsd/tests/cxx/tree/binary/polymorphic/test.xsd b/xsd/tests/cxx/tree/binary/polymorphic/test.xsd deleted file mode 100644 index 8c214e5..0000000 --- a/xsd/tests/cxx/tree/binary/polymorphic/test.xsd +++ /dev/null @@ -1,125 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:t="test" - targetNamespace="test"> - - <simpleType name="list"> - <list itemType="int"/> - </simpleType> - - <simpleType name="union"> - <union memberTypes="int string"/> - </simpleType> - - <simpleType name="enumeration"> - <restriction base="string"> - <enumeration value="top"/> - <enumeration value="left"/> - <enumeration value="bottom"/> - <enumeration value="right"/> - </restriction> - </simpleType> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="x" type="int" use="required"/> - </complexType> - - <element name="sbase" type="t:base"/> - - <complexType name="complex"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="y" type="int"/> - </extension> - </complexContent> - </complexType> - - <element name="scomplex" type="t:complex" substitutionGroup="t:sbase"/> - - <complexType name="type"> - <sequence> - <element name="list" type="t:list"/> - <element name="union" type="t:union"/> - <element name="enumeration" type="t:enumeration"/> - - <element name="base" type="t:base"/> - <element ref="t:sbase"/> - - <!-- integers --> - <element name="byte" type="byte"/> - <element name="unsigned_byte" type="unsignedByte"/> - <element name="short" type="short"/> - <element name="unsigned_short" type="unsignedShort"/> - <element name="int" type="int"/> - <element name="unsigned_int" type="unsignedInt"/> - <element name="long" type="long"/> - <element name="unsigned_long" type="unsignedLong"/> - <element name="integer" type="integer"/> - <element name="non_positive_integer" type="nonPositiveInteger"/> - <element name="non_negative_integer" type="nonNegativeInteger"/> - <element name="positive_integer" type="positiveInteger"/> - <element name="negative_integer" type="negativeInteger"/> - - - <!-- boolean --> - <element name="boolean" type="boolean"/> - - - <!-- floats --> - <element name="float" type="float"/> - <element name="double" type="double"/> - <element name="decimal" type="decimal"/> - - - <!-- strings --> - <element name="string" type="string"/> - <element name="normalized_string" type="normalizedString"/> - <element name="token" type="token"/> - <element name="name" type="Name"/> - <element name="name_token" type="NMTOKEN"/> - <element name="name_tokens" type="NMTOKENS"/> - <element name="ncname" type="NCName"/> - <element name="language" type="language"/> - - <!-- qualified name --> - <element name="qname" type="QName"/> - - - <!-- ID/IDREF --> - <element name="id" maxOccurs="2" type="ID"/> - <element name="id_ref" type="IDREF"/> - <element name="id_refs" type="IDREFS"/> - - - <!-- URI --> - <element name="any_uri" type="anyURI"/> - - - <!-- binary --> - <element name="base64_binary" type="base64Binary"/> - <element name="hex_binary" type="hexBinary"/> - - - <!-- date/time --> - <element name="date" type="date"/> - <element name="date_time" type="dateTime"/> - <element name="duration" type="duration"/> - <element name="day" type="gDay"/> - <element name="month" type="gMonth"/> - <element name="month_day" type="gMonthDay"/> - <element name="year" type="gYear"/> - <element name="year_month" type="gYearMonth"/> - <element name="time" type="time"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/binary/xdr/driver.cxx b/xsd/tests/cxx/tree/binary/xdr/driver.cxx deleted file mode 100644 index 623a953..0000000 --- a/xsd/tests/cxx/tree/binary/xdr/driver.cxx +++ /dev/null @@ -1,188 +0,0 @@ -// file : tests/cxx/tree/binary/xdr/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test non-polymorphic binary serialization to XDR. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cstring> // std::memcpy -#include <cassert> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -extern "C" int -overflow (char* p, char* buf, int in) -{ - xml_schema::buffer* dst (reinterpret_cast<xml_schema::buffer*> (p)); - - size_t n (static_cast<size_t> (in)), size (dst->size ()); - dst->size (size + n); - memcpy (dst->data () + size, buf, n); - - return static_cast<int> (n); -} - -struct underflow_info -{ - xml_schema::buffer* buf; - std::size_t pos; -}; - -extern "C" int -underflow (char* p, char* buf, int in) -{ - underflow_info* ui (reinterpret_cast<underflow_info*> (p)); - - size_t n (static_cast<size_t> (in)), size (ui->buf->size () - ui->pos); - n = size > n ? n : size; - - memcpy (buf, ui->buf->data () + ui->pos, n); - ui->pos += n; - - return static_cast<int> (n); -} - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - // Save to an XDR stream. - // - XDR xdr; - xml_schema::buffer buf; - xdrrec_create (&xdr, 0, 0, reinterpret_cast<char*> (&buf), 0, &overflow); - xdr.x_op = XDR_ENCODE; - xsd::cxx::tree::ostream<XDR> oxdr (xdr); - oxdr << *r; - xdrrec_endofrecord (&xdr, true); // flush the data - xdr_destroy (&xdr); - - // Load from an XDR stream. - // - underflow_info ui; - ui.buf = &buf; - ui.pos = 0; - xdrrec_create (&xdr, 0, 0, reinterpret_cast<char*> (&ui), &underflow, 0); - xdr.x_op = XDR_DECODE; - xdrrec_skiprecord (&xdr); - xsd::cxx::tree::istream<XDR> ixdr (xdr); - XSD_AUTO_PTR<type> c (new type (ixdr)); - xdr_destroy (&xdr); - - // Compare the two. - // - assert (r->list () == c->list ()); - assert (r->union_ () == c->union_ ()); - assert (r->enumeration () == c->enumeration ()); - - type::complex_sequence rs (r->complex ()), cs (c->complex ()); - - for (type::complex_iterator ri (rs.begin ()), ci (cs.begin ()); - ri != rs.end () && ci != rs.end (); ++ri, ++ci) - { - assert (ri->a () == ci->a ()); - if (ri->b ()) - assert (ri->b () == ci->b ()); - assert (ri->c () == ci->c ()); - - assert (ri->x () == ci->x ()); - if (ri->y ()) - assert (ri->y () == ci->y ()); - } - - // integers - // - assert (r->byte () == c->byte ()); - assert (r->unsigned_byte () == c->unsigned_byte ()); - assert (r->short_ () == c->short_ ()); - assert (r->unsigned_short () == c->unsigned_short ()); - assert (r->int_ () == c->int_ ()); - assert (r->unsigned_int () == c->unsigned_int ()); - assert (r->long_ () == c->long_ ()); - assert (r->unsigned_long () == c->unsigned_long ()); - assert (r->integer () == c->integer ()); - assert (r->non_positive_integer () == c->non_positive_integer ()); - assert (r->non_negative_integer () == c->non_negative_integer ()); - assert (r->positive_integer () == c->positive_integer ()); - assert (r->negative_integer () == c->negative_integer ()); - - // boolean - // - assert (r->boolean () == c->boolean ()); - - // floats - // - assert (r->float_ () == c->float_ ()); - assert (r->double_ () == c->double_ ()); - assert (r->decimal () == c->decimal ()); - - // strings - // - assert (r->string () == c->string ()); - assert (r->normalized_string () == c->normalized_string ()); - assert (r->token () == c->token ()); - assert (r->name () == c->name ()); - assert (r->name_token () == c->name_token ()); - assert (r->name_tokens () == c->name_tokens ()); - assert (r->ncname () == c->ncname ()); - assert (r->language () == c->language ()); - - // qualified name - // - assert (r->qname () == c->qname ()); - - // ID/IDREF - // - assert (r->id () == c->id ()); - assert (r->id_ref () == c->id_ref ()); - assert (r->id_refs () == c->id_refs ()); - - // URI - // - assert (r->any_uri () == c->any_uri ()); - - // binary - // - assert (r->base64_binary () == c->base64_binary ()); - assert (r->hex_binary () == c->hex_binary ()); - - // date/time - // - assert (r->date () == c->date ()); - assert (r->date_time () == c->date_time ()); - assert (r->duration () == c->duration ()); - assert (r->day () == c->day ()); - assert (r->month () == c->month ()); - assert (r->month_day () == c->month_day ()); - assert (r->year () == c->year ()); - assert (r->year_month () == c->year_month ()); - assert (r->time () == c->time ()); - - // anySimpleType - // - assert (!r->any_simple_type_attr ().text_content ().empty ()); - assert (r->any_simple_type_attr () == c->any_simple_type_attr ()); - - assert (!r->any_simple_type ().text_content ().empty ()); - assert (r->any_simple_type () == c->any_simple_type ()); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/binary/xdr/makefile b/xsd/tests/cxx/tree/binary/xdr/makefile deleted file mode 100644 index 2994134..0000000 --- a/xsd/tests/cxx/tree/binary/xdr/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/binary/xdr/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-insertion XDR --generate-extraction XDR \ ---generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml - $(call message,test $$1,$$1 $(src_base)/test.xml,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/binary/xdr/test.xml b/xsd/tests/cxx/tree/binary/xdr/test.xml deleted file mode 100644 index 5cedd98..0000000 --- a/xsd/tests/cxx/tree/binary/xdr/test.xml +++ /dev/null @@ -1,93 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - any_simple_type_attr="any simple content"> - - <list>1 2 3</list> - - <union>abc</union> - - <enumeration>left</enumeration> - - <complex x="1"> - <a>aaa</a> - </complex> - <complex x="1" y="2"> - <a>aaa</a> - <b>bbb</b> - <c>c</c> - <c>cc</c> - <c>ccc</c> - </complex> - - - <!-- integers --> - <byte>65</byte> - <unsigned_byte>66</unsigned_byte> - <short>-222</short> - <unsigned_short>57005</unsigned_short> - <int>-57005</int> - <unsigned_int>3735928559</unsigned_int> - <long>-3735928559</long> - <unsigned_long>16045690984833335023</unsigned_long> - <integer>-3735928559</integer> - <non_positive_integer>-3735928559</non_positive_integer> - <non_negative_integer>3735928559</non_negative_integer> - <positive_integer>3735928559</positive_integer> - <negative_integer>-3735928559</negative_integer> - - - <!-- boolean --> - <boolean>true</boolean> - - - <!-- floats --> - <float>1234.1234</float> - <double>12345678.12345678</double> - <decimal>1234567812345678.1234567812345678</decimal> - - - <!-- strings --> - <string>string</string> - <normalized_string>normalized string</normalized_string> - <token>one two three</token> - <name>name</name> - <name_token>name-token</name_token> - <name_tokens>name tokens</name_tokens> - <ncname>ncname</ncname> - <language>en-us</language> - - <!-- qualified name --> - <qname>xsi:schemaLocation</qname> - - - <!-- ID/IDREF --> - <id>elements1</id> - <id>elements2</id> - <id_ref>elements1</id_ref> - <id_refs>elements1 elements2</id_refs> - - - <!-- URI --> - <any_uri>http://www.codesynthesis.com</any_uri> - - - <!-- binary --> - <base64_binary>YmFzZTY0IGJpbmFyeQ==</base64_binary> - <hex_binary>6865782052696E617279</hex_binary> - - - <!-- date/time --> - <date>2001-10-26+02:00</date> - <date_time>2001-10-26T21:32:52+02:00</date_time> - <duration>P1Y2M3DT5H20M30S</duration> - <day>---01+02:00</day> - <month>--11+02:00</month> - <month_day>--11-02+02:00</month_day> - <year>2001+02:00</year> - <year_month>2001-11+02:00</year_month> - <time>21:32:52+02:00</time> - - <any_simple_type>any simple content in element</any_simple_type> - -</t:root> diff --git a/xsd/tests/cxx/tree/binary/xdr/test.xsd b/xsd/tests/cxx/tree/binary/xdr/test.xsd deleted file mode 100644 index 0629e94..0000000 --- a/xsd/tests/cxx/tree/binary/xdr/test.xsd +++ /dev/null @@ -1,123 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:t="test" - targetNamespace="test"> - - <simpleType name="list"> - <list itemType="int"/> - </simpleType> - - <simpleType name="union"> - <union memberTypes="int string"/> - </simpleType> - - <simpleType name="enumeration"> - <restriction base="string"> - <enumeration value="top"/> - <enumeration value="left"/> - <enumeration value="bottom"/> - <enumeration value="right"/> - </restriction> - </simpleType> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="x" type="int" use="required"/> - </complexType> - - <complexType name="complex"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - <attribute name="y" type="int"/> - </extension> - </complexContent> - </complexType> - - - <complexType name="type"> - <sequence> - <element name="list" type="t:list"/> - <element name="union" type="t:union"/> - <element name="enumeration" type="t:enumeration"/> - <element name="complex" type="t:complex" maxOccurs="unbounded"/> - - <!-- integers --> - <element name="byte" type="byte"/> - <element name="unsigned_byte" type="unsignedByte"/> - <element name="short" type="short"/> - <element name="unsigned_short" type="unsignedShort"/> - <element name="int" type="int"/> - <element name="unsigned_int" type="unsignedInt"/> - <element name="long" type="long"/> - <element name="unsigned_long" type="unsignedLong"/> - <element name="integer" type="integer"/> - <element name="non_positive_integer" type="nonPositiveInteger"/> - <element name="non_negative_integer" type="nonNegativeInteger"/> - <element name="positive_integer" type="positiveInteger"/> - <element name="negative_integer" type="negativeInteger"/> - - - <!-- boolean --> - <element name="boolean" type="boolean"/> - - - <!-- floats --> - <element name="float" type="float"/> - <element name="double" type="double"/> - <element name="decimal" type="decimal"/> - - - <!-- strings --> - <element name="string" type="string"/> - <element name="normalized_string" type="normalizedString"/> - <element name="token" type="token"/> - <element name="name" type="Name"/> - <element name="name_token" type="NMTOKEN"/> - <element name="name_tokens" type="NMTOKENS"/> - <element name="ncname" type="NCName"/> - <element name="language" type="language"/> - - <!-- qualified name --> - <element name="qname" type="QName"/> - - - <!-- ID/IDREF --> - <element name="id" maxOccurs="2" type="ID"/> - <element name="id_ref" type="IDREF"/> - <element name="id_refs" type="IDREFS"/> - - - <!-- URI --> - <element name="any_uri" type="anyURI"/> - - - <!-- binary --> - <element name="base64_binary" type="base64Binary"/> - <element name="hex_binary" type="hexBinary"/> - - - <!-- date/time --> - <element name="date" type="date"/> - <element name="date_time" type="dateTime"/> - <element name="duration" type="duration"/> - <element name="day" type="gDay"/> - <element name="month" type="gMonth"/> - <element name="month_day" type="gMonthDay"/> - <element name="year" type="gYear"/> - <element name="year_month" type="gYearMonth"/> - <element name="time" type="time"/> - - <element name="any_simple_type" type="anySimpleType"/> - </sequence> - <attribute name="any_simple_type_attr" type="anySimpleType" use="required"/> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/built-in/attributes.xml b/xsd/tests/cxx/tree/built-in/attributes.xml deleted file mode 100644 index 609a757..0000000 --- a/xsd/tests/cxx/tree/built-in/attributes.xml +++ /dev/null @@ -1,73 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<test:attributes - xmlns:test="http://www.codesynthesis.com/xmlns/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/xmlns/test types.xsd" - - - byte="65" - unsigned_byte="66" - short="-222" - unsigned_short="57005" - int="-57005" - unsigned_int="3735928559" - long="-3735928559" - unsigned_long="16045690984833335023" - integer="-3735928559" - non_positive_integer="-3735928559" - non_negative_integer="3735928559" - positive_integer="3735928559" - negative_integer="-3735928559" - - - - boolean="false" - - - - float="1234.1234" - double="12345678.12345678" - decimal="12345678.12345678" - - - - string="string" - normalized_string="normalized string" - token=" one two three " - name="name" - name_token="name-token" - name_tokens="name tokens" - ncname="ncname" - language="en-us" - - - qname="xsi:schemaLocation" - - - - id="attributes" - id_ref="attributes" - id_refs="attributes" - - - - any_uri="http://www.codesynthesis.com" - - - - base64_binary="YmFzZTY0IGJpbmFyeQ==" - hex_binary="6865782052696E617279" - - - - date="2001-10-26+02:00" - date_time="2001-10-26T21:32:52+02:00" - duration="P1Y2M3DT5H20M30S" - day="---01+02:00" - month="--11+02:00" - month_day="--11-02+02:00" - year="2001+02:00" - year_month="2001-11+02:00" - time="21:32:52+02:00" - -/> diff --git a/xsd/tests/cxx/tree/built-in/driver.cxx b/xsd/tests/cxx/tree/built-in/driver.cxx deleted file mode 100644 index f60ac16..0000000 --- a/xsd/tests/cxx/tree/built-in/driver.cxx +++ /dev/null @@ -1,94 +0,0 @@ -// file : tests/cxx/tree/built-in/driver.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test built-in type mapping. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <sstream> -#include <iostream> - - -#include "types.hxx" - -using std::cerr; -using std::endl; - -int -main (int argc, char* argv[]) -{ - if (argc != 4) - { - cerr << "usage: " << argv[0] << " elements.xml attributes.xml inherited.xml" << endl; - return 1; - } - - XSD_AUTO_PTR<xmlns::test::Elements> elements ( - xmlns::test::elements (argv[1])); - - XSD_AUTO_PTR<xmlns::test::Attributes> attributes ( - xmlns::test::attributes (argv[2])); - - XSD_AUTO_PTR<xmlns::test::Inherited> inherited ( - xmlns::test::inherited (argv[3])); - - cerr << "elements: " << *elements << endl - << endl - << "attributes: " << *attributes << endl - << endl - << "inherited: " << *inherited << endl; - - // Test parsing/serialization. - // - - xml_schema::namespace_infomap map; - - map["test"].name = "http://www.codesynthesis.com/xmlns/test"; - map["test"].schema = "types.xsd"; - - { - std::ostringstream ostr; - xmlns::test::elements (ostr, *elements, map); - - std::istringstream istr (ostr.str ()); - XSD_AUTO_PTR<xmlns::test::Elements> elements1 ( - xmlns::test::elements (istr)); - - std::ostringstream ostr1; - xmlns::test::elements (ostr1, *elements1, map); - - if (ostr.str () != ostr1.str ()) - return 1; - } - - { - std::ostringstream ostr; - xmlns::test::attributes (ostr, *attributes, map); - - std::istringstream istr (ostr.str ()); - XSD_AUTO_PTR<xmlns::test::Attributes> attributes1 ( - xmlns::test::attributes (istr)); - - std::ostringstream ostr1; - xmlns::test::attributes (ostr1, *attributes1, map); - - if (ostr.str () != ostr1.str ()) - return 1; - } - - { - std::ostringstream ostr; - xmlns::test::inherited (ostr, *inherited, map); - - std::istringstream istr (ostr.str ()); - XSD_AUTO_PTR<xmlns::test::Inherited> inherited1 ( - xmlns::test::inherited (istr)); - - std::ostringstream ostr1; - xmlns::test::inherited (ostr1, *inherited1, map); - - if (ostr.str () != ostr1.str ()) - return 1; - } -} diff --git a/xsd/tests/cxx/tree/built-in/elements.xml b/xsd/tests/cxx/tree/built-in/elements.xml deleted file mode 100644 index f76f019..0000000 --- a/xsd/tests/cxx/tree/built-in/elements.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<test:elements - xmlns:test="http://www.codesynthesis.com/xmlns/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/xmlns/test types.xsd"> - - <!-- integers --> - <byte>65</byte> - <unsigned_byte>66</unsigned_byte> - <short>-222</short> - <unsigned_short>57005</unsigned_short> - <int>-57005</int> - <unsigned_int>3735928559</unsigned_int> - <long>-3735928559</long> - <unsigned_long>16045690984833335023</unsigned_long> - <integer>-3735928559</integer> - <non_positive_integer>-3735928559</non_positive_integer> - <non_negative_integer>3735928559</non_negative_integer> - <positive_integer>3735928559</positive_integer> - <negative_integer>-3735928559</negative_integer> - - - <!-- boolean --> - <boolean>true</boolean> - - - <!-- floats --> - <float>1234.1234</float> - <double>12345678.12345678</double> - <decimal>12345678.12345678</decimal> - - - <!-- strings --> - <string>string</string> - <normalized_string>normalized -string</normalized_string> - <token> - one - two three </token> - <name>name</name> - <name_token>name-token</name_token> - <name_tokens>name tokens</name_tokens> - <ncname>ncname</ncname> - <language>en-us</language> - - <!-- qualified name --> - <qname>xsi:schemaLocation</qname> - - - <!-- ID/IDREF --> - <id>elements1</id> - <id>elements2</id> - <id_ref>elements1</id_ref> - <id_refs>elements1 elements2</id_refs> - - - <!-- URI --> - <any_uri>http://www.codesynthesis.com</any_uri> - - - <!-- binary --> - <base64_binary>YmFzZTY0IGJpbmFyeQ==</base64_binary> - <hex_binary>6865782052696E617279</hex_binary> - - - <!-- date/time --> - <date>2001-10-26+02:00</date> - <date_time>2001-10-26T21:32:52+02:00</date_time> - <duration>P1Y2M3DT5H20M30S</duration> - <day>---01+02:00</day> - <month>--11+02:00</month> - <month_day>--11-02+02:00</month_day> - <year>2001+02:00</year> - <year_month>2001-11+02:00</year_month> - <time>21:32:52+02:00</time> - - - <!-- entity --> - <!-- - <entity>foo</entity> - <entities>foo bar</entities> - --> - -</test:elements> diff --git a/xsd/tests/cxx/tree/built-in/inherited.xml b/xsd/tests/cxx/tree/built-in/inherited.xml deleted file mode 100644 index 1781a69..0000000 --- a/xsd/tests/cxx/tree/built-in/inherited.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<test:inherited - xmlns:test="http://www.codesynthesis.com/xmlns/test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.codesynthesis.com/xmlns/test types.xsd"> - - <!-- integers --> - <byte>65</byte> - <unsigned_byte>66</unsigned_byte> - <short>-222</short> - <unsigned_short>57005</unsigned_short> - <int>-57005</int> - <unsigned_int>3735928559</unsigned_int> - <long>-3735928559</long> - <unsigned_long>16045690984833335023</unsigned_long> - <integer>-3735928559</integer> - <non_positive_integer>-3735928559</non_positive_integer> - <non_negative_integer>3735928559</non_negative_integer> - <positive_integer>3735928559</positive_integer> - <negative_integer>-3735928559</negative_integer> - - - <!-- boolean --> - <boolean>true</boolean> - - - <!-- floats --> - <float>1234.1234</float> - <double>12345678.12345678</double> - <decimal>12345678.12345678</decimal> - - - <!-- strings --> - <string>string</string> - <normalized_string>normalized -string</normalized_string> - <token> - one - two three </token> - <name>name</name> - <name_token>name-token</name_token> - <name_tokens>name tokens</name_tokens> - <ncname>ncname</ncname> - <language>en-us</language> - - <!-- qualified name --> - <qname>xsi:schemaLocation</qname> - - - <!-- ID/IDREF --> - <id>elements1</id> - <id>elements2</id> - <id_ref>elements1</id_ref> - <id_refs>elements1 elements2</id_refs> - - - <!-- URI --> - <any_uri>http://www.codesynthesis.com</any_uri> - - - <!-- binary --> - <base64_binary>YmFzZTY0IGJpbmFyeQ==</base64_binary> - <hex_binary>6865782052696E617279</hex_binary> - - - <!-- date/time --> - <date>2001-10-26+02:00</date> - <date_time>2001-10-26T21:32:52+02:00</date_time> - <duration>P1Y2M3DT5H20M30S</duration> - <day>---01+02:00</day> - <month>--11+02:00</month> - <month_day>--11-02+02:00</month_day> - <year>2001+02:00</year> - <year_month>2001-11+02:00</year_month> - <time>21:32:52+02:00</time> - - - <!-- entity --> - <!-- - <entity>foo</entity> - <entities>foo bar</entities> - --> - -</test:inherited> diff --git a/xsd/tests/cxx/tree/built-in/makefile b/xsd/tests/cxx/tree/built-in/makefile deleted file mode 100644 index 3df37c3..0000000 --- a/xsd/tests/cxx/tree/built-in/makefile +++ /dev/null @@ -1,100 +0,0 @@ -# file : tests/cxx/tree/built-in/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := types.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += \ ---char-type char \ ---generate-inline \ ---generate-ostream \ ---generate-serialization \ ---generate-default-ctor \ ---generate-from-base-ctor \ ---root-element-all - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -# We need to cd to src_base in order to have the schema in the working -# directory. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/elements.xml $(src_base)/attributes.xml \ -$(src_base)/inherited.xml - cd $(src_base) && $(driver) $(src_base)/elements.xml \ -$(src_base)/attributes.xml $(src_base)/inherited.xml - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/built-in/types.xsd b/xsd/tests/cxx/tree/built-in/types.xsd deleted file mode 100644 index 22582cb..0000000 --- a/xsd/tests/cxx/tree/built-in/types.xsd +++ /dev/null @@ -1,460 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- elements --> - - <xsd:complexType name="Elements"> - <xsd:sequence> - - <!-- integers --> - <xsd:element name="byte" type="xsd:byte"/> - <xsd:element name="unsigned_byte" type="xsd:unsignedByte"/> - <xsd:element name="short" type="xsd:short"/> - <xsd:element name="unsigned_short" type="xsd:unsignedShort"/> - <xsd:element name="int" type="xsd:int"/> - <xsd:element name="unsigned_int" type="xsd:unsignedInt"/> - <xsd:element name="long" type="xsd:long"/> - <xsd:element name="unsigned_long" type="xsd:unsignedLong"/> - <xsd:element name="integer" type="xsd:integer"/> - <xsd:element name="non_positive_integer" type="xsd:nonPositiveInteger"/> - <xsd:element name="non_negative_integer" type="xsd:nonNegativeInteger"/> - <xsd:element name="positive_integer" type="xsd:positiveInteger"/> - <xsd:element name="negative_integer" type="xsd:negativeInteger"/> - - - <!-- boolean --> - <xsd:element name="boolean" type="xsd:boolean"/> - - - <!-- floats --> - <xsd:element name="float" type="xsd:float"/> - <xsd:element name="double" type="xsd:double"/> - <xsd:element name="decimal" type="xsd:decimal"/> - - - <!-- strings --> - <xsd:element name="string" type="xsd:string"/> - <xsd:element name="normalized_string" type="xsd:normalizedString"/> - <xsd:element name="token" type="xsd:token"/> - <xsd:element name="name" type="xsd:Name"/> - <xsd:element name="name_token" type="xsd:NMTOKEN"/> - <xsd:element name="name_tokens" type="xsd:NMTOKENS"/> - <xsd:element name="ncname" type="xsd:NCName"/> - <xsd:element name="language" type="xsd:language"/> - - <!-- qualified name --> - <xsd:element name="qname" type="xsd:QName"/> - - - <!-- ID/IDREF --> - <xsd:element name="id" maxOccurs="2" type="xsd:ID"/> - <xsd:element name="id_ref" type="xsd:IDREF"/> - <xsd:element name="id_refs" type="xsd:IDREFS"/> - - - <!-- URI --> - <xsd:element name="any_uri" type="xsd:anyURI"/> - - - <!-- binary --> - <xsd:element name="base64_binary" type="xsd:base64Binary"/> - <xsd:element name="hex_binary" type="xsd:hexBinary"/> - - - <!-- date/time --> - <xsd:element name="date" type="xsd:date"/> - <xsd:element name="date_time" type="xsd:dateTime"/> - <xsd:element name="duration" type="xsd:duration"/> - <xsd:element name="day" type="xsd:gDay"/> - <xsd:element name="month" type="xsd:gMonth"/> - <xsd:element name="month_day" type="xsd:gMonthDay"/> - <xsd:element name="year" type="xsd:gYear"/> - <xsd:element name="year_month" type="xsd:gYearMonth"/> - <xsd:element name="time" type="xsd:time"/> - - - <!-- entity --> - <!-- - <xsd:element name="entity" type="xsd:ENTITY"/> - <xsd:element name="entities" type="xsd:ENTITIES"/> - --> - - - <!-- notation --> - <!-- xsd:element name="notation" type="xsd:NOTATION"/ --> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="elements" type="Elements"/> - - - - <!-- attributes --> - - <xsd:complexType name="Attributes"> - <!-- integers --> - <xsd:attribute name="byte" type="xsd:byte"/> - <xsd:attribute name="unsigned_byte" type="xsd:unsignedByte"/> - <xsd:attribute name="short" type="xsd:short"/> - <xsd:attribute name="unsigned_short" type="xsd:unsignedShort"/> - <xsd:attribute name="int" type="xsd:int"/> - <xsd:attribute name="unsigned_int" type="xsd:unsignedInt"/> - <xsd:attribute name="long" type="xsd:long"/> - <xsd:attribute name="unsigned_long" type="xsd:unsignedLong"/> - <xsd:attribute name="integer" type="xsd:integer"/> - <xsd:attribute name="non_positive_integer" type="xsd:nonPositiveInteger"/> - <xsd:attribute name="non_negative_integer" type="xsd:nonNegativeInteger"/> - <xsd:attribute name="positive_integer" type="xsd:positiveInteger"/> - <xsd:attribute name="negative_integer" type="xsd:negativeInteger"/> - - - <!-- boolean --> - <xsd:attribute name="boolean" type="xsd:boolean"/> - - - <!-- floats --> - <xsd:attribute name="float" type="xsd:float"/> - <xsd:attribute name="double" type="xsd:double"/> - <xsd:attribute name="decimal" type="xsd:decimal"/> - - - <!-- strings --> - <xsd:attribute name="string" type="xsd:string"/> - <xsd:attribute name="normalized_string" type="xsd:normalizedString"/> - <xsd:attribute name="token" type="xsd:token"/> - <xsd:attribute name="name" type="xsd:Name"/> - <xsd:attribute name="name_token" type="xsd:NMTOKEN"/> - <xsd:attribute name="name_tokens" type="xsd:NMTOKENS"/> - <xsd:attribute name="ncname" type="xsd:NCName"/> - <xsd:attribute name="language" type="xsd:language"/> - - <!-- qualified name --> - <xsd:attribute name="qname" type="xsd:QName"/> - - - <!-- ID/IDREF --> - <xsd:attribute name="id" type="xsd:ID"/> - <xsd:attribute name="id_ref" type="xsd:IDREF"/> - <xsd:attribute name="id_refs" type="xsd:IDREFS"/> - - - <!-- URI --> - <xsd:attribute name="any_uri" type="xsd:anyURI"/> - - - <!-- binary --> - <xsd:attribute name="base64_binary" type="xsd:base64Binary"/> - <xsd:attribute name="hex_binary" type="xsd:hexBinary"/> - - - <!-- date/time --> - <xsd:attribute name="date" type="xsd:date"/> - <xsd:attribute name="date_time" type="xsd:dateTime"/> - <xsd:attribute name="duration" type="xsd:duration"/> - <xsd:attribute name="day" type="xsd:gDay"/> - <xsd:attribute name="month" type="xsd:gMonth"/> - <xsd:attribute name="month_day" type="xsd:gMonthDay"/> - <xsd:attribute name="year" type="xsd:gYear"/> - <xsd:attribute name="year_month" type="xsd:gYearMonth"/> - <xsd:attribute name="time" type="xsd:time"/> - - - <!-- entity --> - <!-- - <xsd:attribute name="entity" type="xsd:ENTITY"/> - <xsd:attribute name="entities" type="xsd:ENTITIES"/> - --> - - - <!-- notation --> - <!-- xsd:element name="notation" type="xsd:NOTATION"/ --> - </xsd:complexType> - - <xsd:element name="attributes" type="Attributes"/> - - - <!-- inheritance --> - - <!-- integers --> - <xsd:simpleType name="Byte"> - <xsd:restriction base="xsd:byte"/> - </xsd:simpleType> - - <xsd:simpleType name="UnsignedByte"> - <xsd:restriction base="xsd:unsignedByte"/> - </xsd:simpleType> - - <xsd:simpleType name="Short"> - <xsd:restriction base="xsd:short"/> - </xsd:simpleType> - - <xsd:simpleType name="UnsignedShort"> - <xsd:restriction base="xsd:unsignedShort"/> - </xsd:simpleType> - - <xsd:simpleType name="Int"> - <xsd:restriction base="xsd:int"/> - </xsd:simpleType> - - <xsd:simpleType name="UnsignedInt"> - <xsd:restriction base="xsd:unsignedInt"/> - </xsd:simpleType> - - <xsd:simpleType name="Long"> - <xsd:restriction base="xsd:long"/> - </xsd:simpleType> - - <xsd:simpleType name="UnsignedLong"> - <xsd:restriction base="xsd:unsignedLong"/> - </xsd:simpleType> - - <xsd:simpleType name="Integer"> - <xsd:restriction base="xsd:integer"/> - </xsd:simpleType> - - <xsd:simpleType name="NonPositiveInteger"> - <xsd:restriction base="xsd:nonPositiveInteger"/> - </xsd:simpleType> - - <xsd:simpleType name="NonNegativeInteger"> - <xsd:restriction base="xsd:nonNegativeInteger"/> - </xsd:simpleType> - - <xsd:simpleType name="PositiveInteger"> - <xsd:restriction base="xsd:positiveInteger"/> - </xsd:simpleType> - - <xsd:simpleType name="NegativeInteger"> - <xsd:restriction base="xsd:negativeInteger"/> - </xsd:simpleType> - - - <!-- boolean --> - <xsd:simpleType name="Boolean"> - <xsd:restriction base="xsd:boolean"/> - </xsd:simpleType> - - - <!-- floats --> - <xsd:simpleType name="Float"> - <xsd:restriction base="xsd:float"/> - </xsd:simpleType> - - <xsd:simpleType name="Double"> - <xsd:restriction base="xsd:double"/> - </xsd:simpleType> - - <xsd:simpleType name="Decimal"> - <xsd:restriction base="xsd:decimal"/> - </xsd:simpleType> - - - <!-- strings --> - <xsd:simpleType name="String"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <xsd:simpleType name="NormalizedString"> - <xsd:restriction base="xsd:normalizedString"/> - </xsd:simpleType> - - <xsd:simpleType name="Token"> - <xsd:restriction base="xsd:token"/> - </xsd:simpleType> - - <xsd:simpleType name="Name"> - <xsd:restriction base="xsd:Name"/> - </xsd:simpleType> - - <xsd:simpleType name="NameToken"> - <xsd:restriction base="xsd:NMTOKEN"/> - </xsd:simpleType> - - <xsd:simpleType name="NameTokens"> - <xsd:restriction base="xsd:NMTOKENS"/> - </xsd:simpleType> - - <xsd:simpleType name="NCName"> - <xsd:restriction base="xsd:NCName"/> - </xsd:simpleType> - - <xsd:simpleType name="Language"> - <xsd:restriction base="xsd:language"/> - </xsd:simpleType> - - - <!-- qualified name --> - <xsd:simpleType name="QName"> - <xsd:restriction base="xsd:QName"/> - </xsd:simpleType> - - - <!-- ID/IDREF --> - <xsd:simpleType name="Id"> - <xsd:restriction base="xsd:ID"/> - </xsd:simpleType> - - <xsd:simpleType name="IdRef"> - <xsd:restriction base="xsd:IDREF"/> - </xsd:simpleType> - - <xsd:simpleType name="IdRefs"> - <xsd:restriction base="xsd:IDREFS"/> - </xsd:simpleType> - - - <!-- URI --> - <xsd:simpleType name="URI"> - <xsd:restriction base="xsd:anyURI"/> - </xsd:simpleType> - - - <!-- binary --> - <xsd:simpleType name="Base64Binary"> - <xsd:restriction base="xsd:base64Binary"/> - </xsd:simpleType> - - <xsd:simpleType name="HexBinary"> - <xsd:restriction base="xsd:hexBinary"/> - </xsd:simpleType> - - - <!-- date/time --> - <xsd:simpleType name="Date"> - <xsd:restriction base="xsd:date"/> - </xsd:simpleType> - - <xsd:simpleType name="DateTime"> - <xsd:restriction base="xsd:dateTime"/> - </xsd:simpleType> - - <xsd:simpleType name="Duration"> - <xsd:restriction base="xsd:duration"/> - </xsd:simpleType> - - <xsd:simpleType name="Day"> - <xsd:restriction base="xsd:gDay"/> - </xsd:simpleType> - - <xsd:simpleType name="Month"> - <xsd:restriction base="xsd:gMonth"/> - </xsd:simpleType> - - <xsd:simpleType name="MonthDay"> - <xsd:restriction base="xsd:gMonthDay"/> - </xsd:simpleType> - - <xsd:simpleType name="Year"> - <xsd:restriction base="xsd:gYear"/> - </xsd:simpleType> - - <xsd:simpleType name="YearMonth"> - <xsd:restriction base="xsd:gYearMonth"/> - </xsd:simpleType> - - <xsd:simpleType name="Time"> - <xsd:restriction base="xsd:time"/> - </xsd:simpleType> - - - <!-- entity --> - <!-- - <xsd:element name="entity" type="xsd:ENTITY"/> - <xsd:element name="entities" type="xsd:ENTITIES"/> - --> - - - <!-- notation --> - <!-- xsd:element name="notation" type="xsd:NOTATION"/ --> - - <!-- elements --> - - <xsd:complexType name="Inherited"> - <xsd:sequence> - - <!-- integers --> - <xsd:element name="byte" type="Byte"/> - <xsd:element name="unsigned_byte" type="UnsignedByte"/> - <xsd:element name="short" type="Short"/> - <xsd:element name="unsigned_short" type="UnsignedShort"/> - <xsd:element name="int" type="Int"/> - <xsd:element name="unsigned_int" type="UnsignedInt"/> - <xsd:element name="long" type="Long"/> - <xsd:element name="unsigned_long" type="UnsignedLong"/> - <xsd:element name="integer" type="Integer"/> - <xsd:element name="non_positive_integer" type="NonPositiveInteger"/> - <xsd:element name="non_negative_integer" type="NonNegativeInteger"/> - <xsd:element name="positive_integer" type="PositiveInteger"/> - <xsd:element name="negative_integer" type="NegativeInteger"/> - - - <!-- boolean --> - <xsd:element name="boolean" type="Boolean"/> - - - <!-- floats --> - <xsd:element name="float" type="Float"/> - <xsd:element name="double" type="Double"/> - <xsd:element name="decimal" type="Decimal"/> - - - <!-- strings --> - <xsd:element name="string" type="String"/> - <xsd:element name="normalized_string" type="NormalizedString"/> - <xsd:element name="token" type="Token"/> - <xsd:element name="name" type="Name"/> - <xsd:element name="name_token" type="NameToken"/> - <xsd:element name="name_tokens" type="NameTokens"/> - <xsd:element name="ncname" type="NCName"/> - <xsd:element name="language" type="Language"/> - - <!-- qualified name --> - <xsd:element name="qname" type="QName"/> - - - <!-- ID/IDREF --> - <xsd:element name="id" maxOccurs="2" type="Id"/> - <xsd:element name="id_ref" type="IdRef"/> - <xsd:element name="id_refs" type="IdRefs"/> - - - <!-- URI --> - <xsd:element name="any_uri" type="URI"/> - - - <!-- binary --> - <xsd:element name="base64_binary" type="Base64Binary"/> - <xsd:element name="hex_binary" type="HexBinary"/> - - - <!-- date/time --> - <xsd:element name="date" type="Date"/> - <xsd:element name="date_time" type="DateTime"/> - <xsd:element name="duration" type="Duration"/> - <xsd:element name="day" type="Day"/> - <xsd:element name="month" type="Month"/> - <xsd:element name="month_day" type="MonthDay"/> - <xsd:element name="year" type="Year"/> - <xsd:element name="year_month" type="YearMonth"/> - <xsd:element name="time" type="Time"/> - - - <!-- entity --> - <!-- - <xsd:element name="entity" type="xsd:ENTITY"/> - <xsd:element name="entities" type="xsd:ENTITIES"/> - --> - - - <!-- notation --> - <!-- xsd:element name="notation" type="xsd:NOTATION"/ --> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="inherited" type="Inherited"/> - -</xsd:schema> diff --git a/xsd/tests/cxx/tree/chameleon/driver.cxx b/xsd/tests/cxx/tree/chameleon/driver.cxx deleted file mode 100644 index 80c67da..0000000 --- a/xsd/tests/cxx/tree/chameleon/driver.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// file : tests/cxx/tree/chameleon/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test chameleon inclusion. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "includer.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<root_t> r (root (argv[1])); - - cout << *r << endl; - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/chameleon/includee.xsd b/xsd/tests/cxx/tree/chameleon/includee.xsd deleted file mode 100644 index 531a7d0..0000000 --- a/xsd/tests/cxx/tree/chameleon/includee.xsd +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - - <xsd:complexType name="root_t"> - <xsd:sequence> - <xsd:element name="a" type="type"/> - <xsd:element ref="b"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="root" type="root_t"/> - -</xsd:schema> diff --git a/xsd/tests/cxx/tree/chameleon/includer.xsd b/xsd/tests/cxx/tree/chameleon/includer.xsd deleted file mode 100644 index a1c850a..0000000 --- a/xsd/tests/cxx/tree/chameleon/includer.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns="test" targetNamespace="test"> - - <xsd:include schemaLocation="includee.xsd"/> - - <xsd:simpleType name="type"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <xsd:element name="b" type="xsd:string"/> - -</xsd:schema> diff --git a/xsd/tests/cxx/tree/chameleon/makefile b/xsd/tests/cxx/tree/chameleon/makefile deleted file mode 100644 index 4ae7eb7..0000000 --- a/xsd/tests/cxx/tree/chameleon/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/chameleon/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := includer.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --root-element root --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/chameleon/output b/xsd/tests/cxx/tree/chameleon/output deleted file mode 100644 index c40f715..0000000 --- a/xsd/tests/cxx/tree/chameleon/output +++ /dev/null @@ -1,3 +0,0 @@ - -a: a -b: b diff --git a/xsd/tests/cxx/tree/chameleon/test.xml b/xsd/tests/cxx/tree/chameleon/test.xml deleted file mode 100644 index 12ff279..0000000 --- a/xsd/tests/cxx/tree/chameleon/test.xml +++ /dev/null @@ -1,8 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test includer.xsd"> - - <a>a</a> - <t:b>b</t:b> - -</t:root> diff --git a/xsd/tests/cxx/tree/comparison/driver.cxx b/xsd/tests/cxx/tree/comparison/driver.cxx deleted file mode 100644 index e685050..0000000 --- a/xsd/tests/cxx/tree/comparison/driver.cxx +++ /dev/null @@ -1,39 +0,0 @@ -// file : tests/cxx/tree/comparison/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test generated comparison operators. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - type::complex_sequence s (r->complex ()); - - assert (s[0] == s[0]); - assert (s[0] != s[1]); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/comparison/makefile b/xsd/tests/cxx/tree/comparison/makefile deleted file mode 100644 index 82cb7b0..0000000 --- a/xsd/tests/cxx/tree/comparison/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/comparison/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml - $(call message,test $$1,$$1 $(src_base)/test.xml,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/comparison/test.xml b/xsd/tests/cxx/tree/comparison/test.xml deleted file mode 100644 index b5d8158..0000000 --- a/xsd/tests/cxx/tree/comparison/test.xml +++ /dev/null @@ -1,19 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <complex x="123" y="abc"> - <a>123</a> - <b>abc</b> - <c x="123">abc</c> - <c x="456">def</c> - </complex> - - <complex x="123" y="abc"> - <a>123</a> - <b>abc</b> - <c x="123">abc</c> - <c x="456">xyz</c> - </complex> - -</t:root> diff --git a/xsd/tests/cxx/tree/comparison/test.xsd b/xsd/tests/cxx/tree/comparison/test.xsd deleted file mode 100644 index c234add..0000000 --- a/xsd/tests/cxx/tree/comparison/test.xsd +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="member"> - <simpleContent> - <extension base="string"> - <attribute name="x" type="int" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="complex"> - <sequence> - <element name="a" type="int"/> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="t:member" maxOccurs="unbounded"/> - </sequence> - <attribute name="x" type="int"/> - <attribute name="y" type="string" use="required"/> - </complexType> - - <complexType name="type"> - <sequence> - <element name="complex" type="t:complex" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/compilation/driver.cxx b/xsd/tests/cxx/tree/compilation/driver.cxx deleted file mode 100644 index c2e6298..0000000 --- a/xsd/tests/cxx/tree/compilation/driver.cxx +++ /dev/null @@ -1,117 +0,0 @@ -// file : tests/cxx/tree/compilation/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Make sure the runtime library compiles by explicitly instantiating -// all the types. -// - -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -template class xsd::cxx::tree::simple_type<char, xml_schema::type>; - -// String types. -// -template class xsd::cxx::tree::string< char, xml_schema::simple_type >; -template class xsd::cxx::tree::normalized_string< char, xml_schema::string >; -template class xsd::cxx::tree::token< char, xml_schema::normalized_string >; -template class xsd::cxx::tree::name< char, xml_schema::token >; -template class xsd::cxx::tree::nmtoken< char, xml_schema::token >; -template class xsd::cxx::tree::nmtokens< char, xml_schema::simple_type, xml_schema::nmtoken >; -template class xsd::cxx::tree::ncname< char, xml_schema::name >; -template class xsd::cxx::tree::language< char, xml_schema::token >; - -// ID/IDREF. -// -template class xsd::cxx::tree::id< char, xml_schema::ncname >; -template class xsd::cxx::tree::idref< char, xml_schema::ncname, xml_schema::type >; -template class xsd::cxx::tree::idrefs< char, xml_schema::simple_type, xml_schema::idref >; - -// URI. -// -template class xsd::cxx::tree::uri< char, xml_schema::simple_type >; - -// Qualified name. -// -template class xsd::cxx::tree::qname< char, xml_schema::simple_type, xml_schema::uri, xml_schema::ncname >; - -// Binary. -// -template class xsd::cxx::tree::buffer< char >; -template class xsd::cxx::tree::base64_binary< char, xml_schema::simple_type >; -template class xsd::cxx::tree::hex_binary< char, xml_schema::simple_type >; - -// Date/time. -// -template class xsd::cxx::tree::date< char, xml_schema::simple_type >; -template class xsd::cxx::tree::date_time< char, xml_schema::simple_type >; -template class xsd::cxx::tree::duration< char, xml_schema::simple_type >; -template class xsd::cxx::tree::gday< char, xml_schema::simple_type >; -template class xsd::cxx::tree::gmonth< char, xml_schema::simple_type >; -template class xsd::cxx::tree::gmonth_day< char, xml_schema::simple_type >; -template class xsd::cxx::tree::gyear< char, xml_schema::simple_type >; -template class xsd::cxx::tree::gyear_month< char, xml_schema::simple_type >; -template class xsd::cxx::tree::time< char, xml_schema::simple_type >; - -// Entity. -// -template class xsd::cxx::tree::entity< char, xml_schema::ncname >; -template class xsd::cxx::tree::entities< char, xml_schema::simple_type, xml_schema::entity >; - -// Namespace information and list stream. Used in -// serialization functions. -// -template class xsd::cxx::xml::dom::namespace_info < char >; -template class xsd::cxx::xml::dom::namespace_infomap < char >; -template class xsd::cxx::tree::list_stream < char >; - -// Flags and properties. -// -template class xsd::cxx::tree::properties< char >; - -// Exceptions. -// -template class xsd::cxx::tree::exception< char >; -template class xsd::cxx::tree::parsing< char >; -template class xsd::cxx::tree::expected_element< char >; -template class xsd::cxx::tree::unexpected_element< char >; -template class xsd::cxx::tree::expected_attribute< char >; -template class xsd::cxx::tree::unexpected_enumerator< char >; -template class xsd::cxx::tree::expected_text_content< char >; -template class xsd::cxx::tree::no_type_info< char >; -template class xsd::cxx::tree::not_derived< char >; -template class xsd::cxx::tree::duplicate_id< char >; -template class xsd::cxx::tree::serialization< char >; -template class xsd::cxx::tree::no_prefix_mapping< char >; -template class xsd::cxx::tree::bounds< char >; - -// Parsing/serialization diagnostics. -// -template class xsd::cxx::tree::error< char >; -template class xsd::cxx::tree::diagnostics< char >; - -// Error handler interface. -// -template class xsd::cxx::xml::error_handler< char >; - - -// -// -template class xsd::cxx::tree::fundamental_base<int, char, xml_schema::type>; -template class xsd::cxx::tree::one<int>; -template class xsd::cxx::tree::one<xml_schema::string>; -template class xsd::cxx::tree::optional<int>; -template class xsd::cxx::tree::optional<xml_schema::string>; -template class xsd::cxx::tree::sequence<int>; -template class xsd::cxx::tree::sequence<xml_schema::string>; - - -int -main () -{ -} diff --git a/xsd/tests/cxx/tree/compilation/makefile b/xsd/tests/cxx/tree/compilation/makefile deleted file mode 100644 index 16dbb91..0000000 --- a/xsd/tests/cxx/tree/compilation/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/compilation/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/compilation/test.xsd b/xsd/tests/cxx/tree/compilation/test.xsd deleted file mode 100644 index 07bebc7..0000000 --- a/xsd/tests/cxx/tree/compilation/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/complex/ctor/driver.cxx b/xsd/tests/cxx/tree/complex/ctor/driver.cxx deleted file mode 100644 index 8ea8c87..0000000 --- a/xsd/tests/cxx/tree/complex/ctor/driver.cxx +++ /dev/null @@ -1,123 +0,0 @@ -// file : tests/cxx/tree/complex/ctor/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test generation of varous complex type constructors. -// - -#include <cassert> -#include <memory> - -#include "test.hxx" - -#ifdef XSD_CXX11 -# include <utility> // std::move -# define XSD_MOVE(x) std::move(x) -#else -# define XSD_MOVE(x) x -#endif - -using namespace std; -using namespace test; - -int -main () -{ - // Test case A. - // - { - a_base b1; - a_base b2 ("abc"); // empty ultimate base + required - a_base b3 ("abc", "foo"); // ultimate base + required - - a_derived a1; - a_derived a2 ("foo", "bar"); // empty ultimate base + required - a_derived a3 (b3, "bar"); // base + required - a_derived a4 ("abc", "foo", "bar"); // ultimate base + required - } - - // Test case B. - // - { - b_simple s ("base"); - b_base b ("base", "foo"); - b_derived d ("base", "foo", "bar"); - b_type t ("base"); - } - - // Test case C. - // - { - c_simple s (c_enum::a); - c_base b (c_enum::a, "foo"); - c_derived d (c_enum::a, "foo", "bar"); - c_type t (c_enum::a); - } - - // Test case D. - // - { - d_simple s (1); - d_base b (1, "foo"); - d_derived d (1, "foo", "bar"); - d_type t (1); - } - - // Test case E. - // - { - // e_base - // - e_base b1 (1, "foo", e_complex_type ("bar")); - - XSD_AUTO_PTR<e_complex_type> c2 (new e_complex_type ("bar")); - e_base b2 (1, "foo", XSD_MOVE (c2)); - - XSD_AUTO_PTR<e_simple_type> s3 (new e_simple_type ("foo")); - XSD_AUTO_PTR<e_complex_type> c3 (new e_complex_type ("bar")); - e_base b3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); - - assert (b1 == b2); - assert (b1 == b3); - - // e_derived - // - e_derived d1 (1, "foo", e_complex_type ("bar"), - true, "baz", e_complex_type ("biz")); - - XSD_AUTO_PTR<e_complex_type> c2a (new e_complex_type ("bar")); - XSD_AUTO_PTR<e_complex_type> c2b (new e_complex_type ("biz")); - e_derived d2 (1, "foo", XSD_MOVE (c2a), true, "baz", XSD_MOVE (c2b)); - - XSD_AUTO_PTR<e_simple_type> s3a (new e_simple_type ("foo")); - XSD_AUTO_PTR<xml_schema::string> s3b (new xml_schema::string ("baz")); - XSD_AUTO_PTR<e_complex_type> c3a (new e_complex_type ("bar")); - XSD_AUTO_PTR<e_complex_type> c3b (new e_complex_type ("biz")); - e_derived d3 (1, - XSD_MOVE (s3a), - XSD_MOVE (c3a), - true, - XSD_MOVE (s3b), - XSD_MOVE (c3b)); - - assert (d1 == d2); - assert (d1 == d3); - - } - - // Test case F. - // - { - f_type f1 (xml_schema::type (), 1, "foo", f_complex_type ("bar")); - - XSD_AUTO_PTR<f_complex_type> c2 (new f_complex_type ("bar")); - f_type f2 (1, "foo", XSD_MOVE (c2)); - - XSD_AUTO_PTR<f_simple_type> s3 (new f_simple_type ("foo")); - XSD_AUTO_PTR<f_complex_type> c3 (new f_complex_type ("bar")); - f_type f3 (1, XSD_MOVE (s3), XSD_MOVE (c3)); - - assert (f1 == f2); - assert (f1 == f3); - } -} diff --git a/xsd/tests/cxx/tree/complex/ctor/makefile b/xsd/tests/cxx/tree/complex/ctor/makefile deleted file mode 100644 index ffc82b0..0000000 --- a/xsd/tests/cxx/tree/complex/ctor/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/complex/ctor/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-default-ctor --generate-from-base-ctor \ ---generate-doxygen --generate-polymorphic --polymorphic-type-all \ ---generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/complex/ctor/test.xsd b/xsd/tests/cxx/tree/complex/ctor/test.xsd deleted file mode 100644 index b8dd95e..0000000 --- a/xsd/tests/cxx/tree/complex/ctor/test.xsd +++ /dev/null @@ -1,182 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- Test case A: several levels of inheritance with ultimate base. --> - - <complexType name="a_base"> - <simpleContent> - <extension base="string"> - <attribute name="foo" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="a_derived"> - <simpleContent> - <extension base="t:a_base"> - <attribute name="bar" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <!-- Test case B: string-based c-tors. --> - - <simpleType name="b_simple"> - <restriction base="string"> - </restriction> - </simpleType> - - <complexType name="b_base"> - <simpleContent> - <extension base="t:b_simple"> - <attribute name="foo" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="b_derived"> - <simpleContent> - <extension base="t:b_base"> - <attribute name="bar" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="b_type"> - <sequence> - <element name="a" type="t:b_simple"/> - </sequence> - </complexType> - - <!-- Test case C: enum-based c-tors. --> - - <simpleType name="c_enum_base"> - <restriction base="string"> - <enumeration value="a"/> - <enumeration value="b"/> - <enumeration value="c"/> - </restriction> - </simpleType> - - <simpleType name="c_enum"> - <restriction base="t:c_enum_base"> - <enumeration value="a"/> - <enumeration value="c"/> - </restriction> - </simpleType> - - <simpleType name="c_simple"> - <restriction base="t:c_enum"> - </restriction> - </simpleType> - - <complexType name="c_base"> - <simpleContent> - <extension base="t:c_simple"> - <attribute name="foo" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="c_derived"> - <simpleContent> - <extension base="t:c_base"> - <attribute name="bar" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="c_type"> - <sequence> - <element name="a" type="t:c_simple"/> - </sequence> - </complexType> - - <!-- Test case D: fundamental type c-tors. --> - - <simpleType name="d_simple"> - <restriction base="int"> - </restriction> - </simpleType> - - <complexType name="d_base"> - <simpleContent> - <extension base="t:d_simple"> - <attribute name="foo" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="d_derived"> - <simpleContent> - <extension base="t:d_base"> - <attribute name="bar" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="d_type"> - <sequence> - <element name="a" type="t:d_simple"/> - </sequence> - </complexType> - - <!-- Test case E: auto_ptr ctors. --> - - <simpleType name="e_simple_type"> - <restriction base="string"> - </restriction> - </simpleType> - - <complexType name="e_complex_type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <complexType name="e_base"> - <sequence> - <element name="fund" type="int"/> - <element name="simple" type="t:e_simple_type"/> - <element name="complex" type="t:e_complex_type"/> - </sequence> - </complexType> - - <complexType name="e_derived"> - <complexContent> - <extension base="t:e_base"> - <sequence> - <element name="fund1" type="boolean"/> - <element name="simple1" type="string"/> - <element name="complex1" type="t:e_complex_type"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <!-- Test case F: auto_ptr args in c-tor (all-non-optional-members) --> - - <simpleType name="f_simple_type"> - <restriction base="string"> - </restriction> - </simpleType> - - <complexType name="f_complex_type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <complexType name="f_type"> - <complexContent> - <restriction base="anyType"> - <sequence> - <element name="fund" type="int"/> - <element name="simple" type="t:f_simple_type"/> - <element name="complex" type="t:f_complex_type"/> - </sequence> - </restriction> - </complexContent> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/complex/makefile b/xsd/tests/cxx/tree/complex/makefile deleted file mode 100644 index db6e6a8..0000000 --- a/xsd/tests/cxx/tree/complex/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/complex/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := ctor - -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/xsd/tests/cxx/tree/containment/driver.cxx b/xsd/tests/cxx/tree/containment/driver.cxx deleted file mode 100644 index f019de8..0000000 --- a/xsd/tests/cxx/tree/containment/driver.cxx +++ /dev/null @@ -1,119 +0,0 @@ -// file : tests/cxx/tree/containment/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test tree node containment. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> - -#include "test.hxx" - -#ifdef XSD_CXX11 -# include <utility> // std::move -# define XSD_MOVE(x) std::move(x) -#else -# define XSD_MOVE(x) x -#endif - -using namespace std; -using namespace test; - -int -main () -{ - // Change of a container in a sub-tree without ID. - // - { - XSD_AUTO_PTR<inner> i (new inner ()); - i->ref ("foo"); - - outer o; - o.i (XSD_MOVE (i)); - o.ref ("foo"); - - assert (o.i ()->ref ()->get () == 0); - assert (o.ref ()->get () == 0); - } - - // Change of container in a sub-tree with ID inside. - // - { - XSD_AUTO_PTR<inner> i (new inner ()); - inner* p (i.get ()); - i->id ("foo"); - i->ref ("foo"); - assert (i->ref ()->get () == p); - - outer o; - o.i (XSD_MOVE (i)); - o.ref ("foo"); - - assert (o.i ()->ref ()->get () == p); - assert (o.ref ()->get () == p); - } - - // Change of a container in ID. - // - { - XSD_AUTO_PTR<xml_schema::id> id (new xml_schema::id ("foo")); - - inner i; - i.id (XSD_MOVE (id)); - i.ref ("foo"); - assert (i.ref ()->get () == &i); - } - - // Change of a container in a type derived from ID with ID inside. - // - { - XSD_AUTO_PTR<id_ex> id (new id_ex ("foo")); - id_ex* p (id.get ()); - id->id ("bar"); - - inner i; - i.id_ex (XSD_MOVE (id)); - - i.ref ("foo"); - assert (i.ref ()->get () == &i); - - i.ref ("bar"); - assert (i.ref ()->get () == p); - } - - // IDREF lists - // - { - id i1 ("a"), i2 ("b"); - - XSD_AUTO_PTR<ids> ic (new ids); - ic->id ().push_back (i1); - ic->id ().push_back (i2); - - XSD_AUTO_PTR<xml_schema::idrefs> r1 (new xml_schema::idrefs); - r1->push_back (xml_schema::idref ("a")); - r1->push_back (xml_schema::idref ("b")); - - XSD_AUTO_PTR<idref_list> r2 (new idref_list); - r2->push_back (xml_schema::idref ("a")); - r2->push_back (xml_schema::idref ("b")); - - XSD_AUTO_PTR<idrefs1> rc1 (new idrefs1); - XSD_AUTO_PTR<idrefs2> rc2 (new idrefs2); - - rc1->idrefs (XSD_MOVE (r1)); - rc2->idrefs (XSD_MOVE (r2)); - - model m; - m.ids (XSD_MOVE (ic)); - m.idrefs1 (XSD_MOVE (rc1)); - m.idrefs2 (XSD_MOVE (rc2)); - - assert (m.idrefs1 ().idrefs ()[0].get () != 0); - assert (m.idrefs1 ().idrefs ()[1].get () != 0); - - assert (m.idrefs2 ().idrefs ()[0].get () != 0); - assert (m.idrefs2 ().idrefs ()[1].get () != 0); - } -} diff --git a/xsd/tests/cxx/tree/containment/makefile b/xsd/tests/cxx/tree/containment/makefile deleted file mode 100644 index d181fb5..0000000 --- a/xsd/tests/cxx/tree/containment/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/containment/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-default-ctor -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/containment/test.xsd b/xsd/tests/cxx/tree/containment/test.xsd deleted file mode 100644 index 72c9379..0000000 --- a/xsd/tests/cxx/tree/containment/test.xsd +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="id-ex"> - <simpleContent> - <extension base="ID"> - <attribute name="id" type="ID"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="inner"> - <sequence> - <element name="id" type="ID" minOccurs="0"/> - <element name="id-ex" type="t:id-ex" minOccurs="0"/> - <element name="ref" type="IDREF" minOccurs="0"/> - </sequence> - </complexType> - - <complexType name="outer"> - <sequence> - <element name="i" type="t:inner" minOccurs="0"/> - <element name="ref" type="IDREF" minOccurs="0"/> - </sequence> - </complexType> - - <!-- IDREF lists --> - - <complexType name="id"> - <attribute name="id" type="ID" use="required"/> - </complexType> - - <complexType name="ids"> - <sequence> - <element name="id" type="t:id" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="idrefs1"> - <attribute name="idrefs" type="IDREFS" use="required"/> - </complexType> - - <simpleType name="idref-list"> - <list itemType="IDREF"/> - </simpleType> - - <complexType name="idrefs2"> - <attribute name="idrefs" type="t:idref-list" use="required"/> - </complexType> - - <complexType name="model"> - <sequence> - <element name="ids" type="t:ids"/> - <element name="idrefs1" type="t:idrefs1"/> - <element name="idrefs2" type="t:idrefs2"/> - </sequence> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/default/general/driver.cxx b/xsd/tests/cxx/tree/default/general/driver.cxx deleted file mode 100644 index b0df8ba..0000000 --- a/xsd/tests/cxx/tree/default/general/driver.cxx +++ /dev/null @@ -1,38 +0,0 @@ -// file : tests/cxx/tree/default/general/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test default attribute/element values. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1], xml_schema::flags::dont_validate)); - - xml_schema::namespace_infomap map; - map["t"].name = "test"; - root (cout, *r, map); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/default/general/makefile b/xsd/tests/cxx/tree/default/general/makefile deleted file mode 100644 index 6c2dfe6..0000000 --- a/xsd/tests/cxx/tree/default/general/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/default/general/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream --generate-serialization \ ---generate-default-ctor --generate-from-base-ctor -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/default/general/output b/xsd/tests/cxx/tree/default/general/output deleted file mode 100644 index 396a698..0000000 --- a/xsd/tests/cxx/tree/default/general/output +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test" base64_bin1="" base64_bin2="YmFzZTY0IGJpbmFyeQ==
" bool1="true" bool2="true" bool3="false" bool4="false" byte="-99" decimal1="1.12345" decimal2="-0.456" double1="1.12345" double2="1123.45" double3="-0.00012345" double4="NaN" double5="-INF" fix1="123" fix2="123" fix3="abc" fix4="abc" fix5="aaa bbb ccc" fix6="aaa bbb ccc" float1="1.123" float2="1123" float3="-0.000123" float4="NaN" float5="-INF" hex_bin1="" hex_bin2="6865782052696E617279" id="this" idref="this" idrefs="this" int="-99999" integer="-99999" language="en-us" long="-99999" ncname="abcd" ninteger="-99999" nmtoken="ab:cd" nmtokens1="a:b efg aaa" nmtokens2="abc" nninteger="99999" npinteger="-99999" nstring=" a b " pinteger="99999" qname1="foo" qname2="t:bar" short="-999" string1="" string2=" a b " token="a b" ubyte="99" uint="99999" ulong="99999" uri="http://example.com" ushort="999"> - <union a="abc"/> - <list a="123 345 678" b="ab cd ef" c="abc" d="abc def"/> - <simple a="123" b="abc" c="123" d="abc" e="abc" f="abc 123"/> - <date a="2009-03-31" b="2009-03-31Z" c="2009-03-31Z" d="2009-03-31Z" e="2009-03-31+12:30" f="2009-03-31-12:30" g="2002009-03-31-12:30"/> - <time a="12:03:45" b="12:03:45.123Z" c="12:03:05.123Z" d="12:03:45.123Z" e="12:03:45.123+12:30" f="12:03:45-12:30"/> - <date-time a="2009-03-31T12:03:45" b="2009-03-31T12:03:45.123Z" c="2002009-03-31T12:03:05.123-12:30"/> - <duration a="P100Y" b="P100M" c="P100D" d="PT12H" e="PT12M" f="PT12.123S" g="-P100Y10M20DT12H12M1.123S"/> - <day a="---02" b="---22Z" c="---22-12:30"/> - <month a="--02" b="--12Z" c="--12+12:30"/> - <year a="2009" b="-2002009Z" c="2009-12:30"/> - <month-day a="--02-02" b="--12-22Z" c="--12-22+12:30"/> - <year-month a="2009-02" b="-2002009-12Z" c="2009-12-12:30"/> -</t:root> diff --git a/xsd/tests/cxx/tree/default/general/test.xml b/xsd/tests/cxx/tree/default/general/test.xml deleted file mode 100644 index 11bd0a7..0000000 --- a/xsd/tests/cxx/tree/default/general/test.xml +++ /dev/null @@ -1,16 +0,0 @@ -<t:root xmlns:t="test" id="this" fix2="123" fix4="abc" fix6="aaa bbb ccc"> - - <union/> - <list/> - <simple/> - <date/> - <time/> - <date-time/> - <duration/> - <day/> - <month/> - <year/> - <month-day/> - <year-month/> - -</t:root> diff --git a/xsd/tests/cxx/tree/default/general/test.xsd b/xsd/tests/cxx/tree/default/general/test.xsd deleted file mode 100644 index 9d9cd38..0000000 --- a/xsd/tests/cxx/tree/default/general/test.xsd +++ /dev/null @@ -1,241 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- union --> - - <xs:simpleType name="union"> - <xs:union memberTypes="xs:int xs:string"/> - </xs:simpleType> - - <xs:complexType name="union-test"> - <xs:attribute default="abc" name="a" type="t:union"/> - </xs:complexType> - - <!-- list --> - - <xs:simpleType name="fix-list"> - <xs:list itemType="xs:int"/> - </xs:simpleType> - - <xs:simpleType name="var-list"> - <xs:list itemType="xs:string"/> - </xs:simpleType> - - <xs:simpleType name="list-item"> - <xs:restriction base="xs:string"/> - </xs:simpleType> - - <xs:simpleType name="usr-list"> - <xs:list itemType="t:list-item"/> - </xs:simpleType> - - <xs:simpleType name="union-list"> - <xs:list itemType="t:union"/> - </xs:simpleType> - - <xs:complexType name="list-test"> - <xs:attribute default="123 345 678" name="a" type="t:fix-list"/> - <xs:attribute default=" ab cd ef " name="b" type="t:var-list"/> - <xs:attribute default="abc" name="c" type="t:usr-list"/> - <xs:attribute default="abc def" name="d" type="t:union-list"/> - </xs:complexType> - - <!-- simple type --> - - <xs:simpleType name="int-base"> - <xs:restriction base="xs:int"/> - </xs:simpleType> - - <xs:simpleType name="str-base"> - <xs:restriction base="xs:string"/> - </xs:simpleType> - - <xs:simpleType name="int"> - <xs:restriction base="t:int-base"/> - </xs:simpleType> - - <xs:simpleType name="str"> - <xs:restriction base="t:str-base"/> - </xs:simpleType> - - <xs:simpleType name="union-derived"> - <xs:restriction base="t:union"/> - </xs:simpleType> - - <xs:simpleType name="list-derived"> - <xs:restriction base="t:usr-list"/> - </xs:simpleType> - - <xs:complexType name="simple-test"> - <xs:attribute default="123" name="a" type="t:int-base"/> - <xs:attribute default="abc" name="b" type="t:str-base"/> - <xs:attribute default="123" name="c" type="t:int"/> - <xs:attribute default="abc" name="d" type="t:str"/> - <xs:attribute default="abc" name="e" type="t:union-derived"/> - <xs:attribute default="abc 123" name="f" type="t:list-derived"/> - </xs:complexType> - - <!-- date/time types --> - - <xs:simpleType name="date-derived"> - <xs:restriction base="xs:date"/> - </xs:simpleType> - - <xs:complexType name="date-test"> - <xs:attribute default="2009-03-31" name="a" type="xs:date"/> - <xs:attribute default="2009-03-31Z" name="b" type="xs:date"/> - <xs:attribute default="2009-03-31+00:00" name="c" type="xs:date"/> - <xs:attribute default="2009-03-31-00:00" name="d" type="xs:date"/> - <xs:attribute default="2009-03-31+12:30" name="e" type="xs:date"/> - <xs:attribute default="2009-03-31-12:30" name="f" type="xs:date"/> - <xs:attribute default="2002009-03-31-12:30" name="g" type="t:date-derived"/> - </xs:complexType> - - <xs:complexType name="time-test"> - <xs:attribute default="12:03:45" name="a" type="xs:time"/> - <xs:attribute default="12:03:45.123Z" name="b" type="xs:time"/> - <xs:attribute default="12:03:05.123+00:00" name="c" type="xs:time"/> - <xs:attribute default="12:03:45.123-00:00" name="d" type="xs:time"/> - <xs:attribute default="12:03:45.123+12:30" name="e" type="xs:time"/> - <xs:attribute default="12:03:45-12:30" name="f" type="xs:time"/> - </xs:complexType> - - <xs:complexType name="date-time-test"> - <xs:attribute default="2009-03-31T12:03:45" name="a" type="xs:dateTime"/> - <xs:attribute default="2009-03-31T12:03:45.123Z" name="b" type="xs:dateTime"/> - <xs:attribute default="2002009-03-31T12:03:05.123-12:30" name="c" type="xs:dateTime"/> - </xs:complexType> - - <xs:complexType name="duration-test"> - <xs:attribute default="P100Y" name="a" type="xs:duration"/> - <xs:attribute default="P100M" name="b" type="xs:duration"/> - <xs:attribute default="P100D" name="c" type="xs:duration"/> - <xs:attribute default="PT12H" name="d" type="xs:duration"/> - <xs:attribute default="PT12M" name="e" type="xs:duration"/> - <xs:attribute default="PT12.123S" name="f" type="xs:duration"/> - <xs:attribute default="-P100Y10M20DT12H12M1.123S" name="g" type="xs:duration"/> - </xs:complexType> - - <xs:complexType name="day-test"> - <xs:attribute default="---02" name="a" type="xs:gDay"/> - <xs:attribute default="---22Z" name="b" type="xs:gDay"/> - <xs:attribute default="---22-12:30" name="c" type="xs:gDay"/> - </xs:complexType> - - <xs:complexType name="month-test"> - <xs:attribute default="--02" name="a" type="xs:gMonth"/> - <xs:attribute default="--12Z" name="b" type="xs:gMonth"/> - <xs:attribute default="--12+12:30" name="c" type="xs:gMonth"/> - </xs:complexType> - - <xs:complexType name="year-test"> - <xs:attribute default="2009" name="a" type="xs:gYear"/> - <xs:attribute default="-2002009Z" name="b" type="xs:gYear"/> - <xs:attribute default="2009-12:30" name="c" type="xs:gYear"/> - </xs:complexType> - - <xs:complexType name="month-day-test"> - <xs:attribute default="--02-02" name="a" type="xs:gMonthDay"/> - <xs:attribute default="--12-22Z" name="b" type="xs:gMonthDay"/> - <xs:attribute default="--12-22+12:30" name="c" type="xs:gMonthDay"/> - </xs:complexType> - - <xs:complexType name="year-month-test"> - <xs:attribute default="2009-02" name="a" type="xs:gYearMonth"/> - <xs:attribute default="-2002009-12Z" name="b" type="xs:gYearMonth"/> - <xs:attribute default="2009-12-12:30" name="c" type="xs:gYearMonth"/> - </xs:complexType> - - - <xs:complexType name="type"> - <xs:sequence> - <xs:element name="union" type="t:union-test"/> - <xs:element name="list" type="t:list-test"/> - <xs:element name="simple" type="t:simple-test"/> - <xs:element name="date" type="t:date-test"/> - <xs:element name="time" type="t:time-test"/> - <xs:element name="date-time" type="t:date-time-test"/> - <xs:element name="duration" type="t:duration-test"/> - <xs:element name="day" type="t:day-test"/> - <xs:element name="month" type="t:month-test"/> - <xs:element name="year" type="t:year-test"/> - <xs:element name="month-day" type="t:month-day-test"/> - <xs:element name="year-month" type="t:year-month-test"/> - </xs:sequence> - -<!-- - <xs:attribute name="any" type="xs:anySimpleType" default=""/> ---> - - <xs:attribute name="bool1" type="xs:boolean" default="true"/> - <xs:attribute name="bool2" type="xs:boolean" default="1"/> - <xs:attribute name="bool3" type="xs:boolean" default="false"/> - <xs:attribute name="bool4" type="xs:boolean" default="0"/> - - <xs:attribute name="byte" type="xs:byte" default="-99"/> - <xs:attribute name="ubyte" type="xs:unsignedByte" default="99"/> - <xs:attribute name="short" type="xs:short" default="-999"/> - <xs:attribute name="ushort" type="xs:unsignedShort" default="999"/> - <xs:attribute name="int" type="xs:int" default="-99999"/> - <xs:attribute name="uint" type="xs:unsignedInt" default="99999"/> - <xs:attribute name="long" type="xs:long" default="-99999"/> - <xs:attribute name="ulong" type="xs:unsignedLong" default="99999"/> - - <xs:attribute name="integer" type="xs:integer" default="-99999"/> - <xs:attribute name="npinteger" type="xs:nonPositiveInteger" default="-99999"/> - <xs:attribute name="nninteger" type="xs:nonNegativeInteger" default="99999"/> - <xs:attribute name="pinteger" type="xs:positiveInteger" default="99999"/> - <xs:attribute name="ninteger" type="xs:negativeInteger" default="-99999"/> - - <xs:attribute name="float1" type="xs:float" default="1.123"/> - <xs:attribute name="float2" type="xs:float" default="1.123e3"/> - <xs:attribute name="float3" type="xs:float" default="-.123E-3"/> - <xs:attribute name="float4" type="xs:float" default="NaN"/> - <xs:attribute name="float5" type="xs:float" default="-INF"/> - - <xs:attribute name="double1" type="xs:double" default="1.12345"/> - <xs:attribute name="double2" type="xs:double" default="1.12345e3"/> - <xs:attribute name="double3" type="xs:double" default="-.12345E-3"/> - <xs:attribute name="double4" type="xs:double" default="NaN"/> - <xs:attribute name="double5" type="xs:double" default="-INF"/> - - <xs:attribute name="decimal1" type="xs:decimal" default="1.12345"/> - <xs:attribute name="decimal2" type="xs:decimal" default="-.456"/> - - <xs:attribute name="string1" type="xs:string" default=""/> - <xs:attribute name="string2" type="xs:string" default=" a b "/> - <xs:attribute name="nstring" type="xs:normalizedString" default=" a b "/> - <xs:attribute name="token" type="xs:token" default=" a b "/> - <xs:attribute name="nmtoken" type="xs:NMTOKEN" default="ab:cd"/> - <xs:attribute name="nmtokens1" type="xs:NMTOKENS" default=" a:b efg aaa "/> - <xs:attribute name="nmtokens2" type="xs:NMTOKENS" default="abc"/> - <xs:attribute name="ncname" type="xs:NCName" default=" abcd "/> - <xs:attribute name="language" type="xs:language" default=" en-us "/> - <xs:attribute name="id" type="xs:ID"/> - <xs:attribute name="idref" type="xs:IDREF" default="this"/> - <xs:attribute name="idrefs" type="xs:IDREFS" default=" this "/> - <xs:attribute name="uri" type="xs:anyURI" default=" http://example.com "/> - - <xs:attribute name="qname1" type="xs:QName" default="foo"/> - <xs:attribute name="qname2" type="xs:QName" default="t:bar"/> - - <xs:attribute name="base64_bin1" type="xs:base64Binary" default=""/> - <xs:attribute name="base64_bin2" type="xs:base64Binary" default="YmFzZTY0IGJpbmFyeQ=="/> - - <xs:attribute name="hex_bin1" type="xs:hexBinary" default=""/> - <xs:attribute name="hex_bin2" type="xs:hexBinary" default="6865782052696E617279"/> - - <!-- fixed --> - - <xs:attribute name="fix1" type="xs:int" fixed="123"/> - <xs:attribute name="fix2" type="xs:int" fixed="123" use="required"/> - <xs:attribute name="fix3" type="xs:string" fixed="abc"/> - <xs:attribute name="fix4" type="xs:string" fixed="abc" use="required"/> - <xs:attribute name="fix5" type="xs:NMTOKENS" fixed="aaa bbb ccc"/> - <xs:attribute name="fix6" type="xs:NMTOKENS" fixed="aaa bbb ccc" use="required"/> - - </xs:complexType> - - <xs:element name="root" type="t:type"/> - -</xs:schema> diff --git a/xsd/tests/cxx/tree/default/makefile b/xsd/tests/cxx/tree/default/makefile deleted file mode 100644 index 56fa53d..0000000 --- a/xsd/tests/cxx/tree/default/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/default/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := general omit - -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/xsd/tests/cxx/tree/default/omit/driver.cxx b/xsd/tests/cxx/tree/default/omit/driver.cxx deleted file mode 100644 index 6a074c1..0000000 --- a/xsd/tests/cxx/tree/default/omit/driver.cxx +++ /dev/null @@ -1,47 +0,0 @@ -// file : tests/cxx/tree/default/omit/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test default attribute omission from the output. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1], xml_schema::flags::dont_validate)); - - cout << *r << endl - << "default x: " << derived::x_default_value () << endl - << "default y: " << derived::y_default_value () << endl - << "fixed p: " << derived::p_default_value () << endl - << "fixed q1: " << derived::q1_default_value () << endl - << "fixed q2: " << derived::q2_default_value () << endl; - - // Serialize. - // - xml_schema::namespace_infomap map; - map["t"].name = "test"; - root (cout, *r, map); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/default/omit/makefile b/xsd/tests/cxx/tree/default/omit/makefile deleted file mode 100644 index caaec12..0000000 --- a/xsd/tests/cxx/tree/default/omit/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/default/omit/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream --generate-serialization \ ---generate-default-ctor --generate-from-base-ctor --omit-default-attributes -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/default/omit/output b/xsd/tests/cxx/tree/default/omit/output deleted file mode 100644 index 150ad58..0000000 --- a/xsd/tests/cxx/tree/default/omit/output +++ /dev/null @@ -1,19 +0,0 @@ - -derived: -a: a -x: foo -q1: 1 -y: -20 -p: bar -q2: 2 -default x: foo -default y: -20 -fixed p: bar -fixed q1: 1 -fixed q2: 2 -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test"> - <derived q1="1" q2="2"> - <a>a</a> - </derived> -</t:root> diff --git a/xsd/tests/cxx/tree/default/omit/test.xml b/xsd/tests/cxx/tree/default/omit/test.xml deleted file mode 100644 index dec39b4..0000000 --- a/xsd/tests/cxx/tree/default/omit/test.xml +++ /dev/null @@ -1,9 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <derived q1="1" q2="2"> - <a>a</a> - </derived> - -</t:root> diff --git a/xsd/tests/cxx/tree/default/omit/test.xsd b/xsd/tests/cxx/tree/default/omit/test.xsd deleted file mode 100644 index bfc68d4..0000000 --- a/xsd/tests/cxx/tree/default/omit/test.xsd +++ /dev/null @@ -1,30 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="x" type="string" default="foo"/> - <attribute name="q1" type="int" fixed="1" use="required"/> - </complexType> - - <complexType name="derived"> - <complexContent> - <extension base="t:base"> - <attribute name="y" type="int" default="-20"/> - <attribute name="p" type="string" fixed="bar"/> - <attribute name="q2" type="int" fixed="2" use="required"/> - </extension> - </complexContent> - </complexType> - - <complexType name="type"> - <sequence> - <element name="derived" type="t:derived"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/detach/driver.cxx b/xsd/tests/cxx/tree/detach/driver.cxx deleted file mode 100644 index cabd9ea..0000000 --- a/xsd/tests/cxx/tree/detach/driver.cxx +++ /dev/null @@ -1,109 +0,0 @@ -// file : tests/cxx/tree/detach/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the detach functionality. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> - -#include "test.hxx" - -#ifdef XSD_CXX11 -# include <utility> // std::move -# define XSD_MOVE(x) std::move(x) -#else -# define XSD_MOVE(x) x -#endif - -using namespace std; -using namespace test; - -int -main () -{ - using test::ref; - - // Construct the model. - // - object o1 ("o1"); - o1.data ().push_back ("1-1"); - o1.data ().push_back ("1-2"); - o1.data ().push_back ("1-3"); - - object o2 ("o2"); - o1.data ().push_back ("2-1"); - o1.data ().push_back ("2-2"); - o1.data ().push_back ("2-3"); - - object o3 ("o3"); - o1.data ().push_back ("3-1"); - o1.data ().push_back ("3-2"); - o1.data ().push_back ("3-3"); - - object o4 ("o4"); - o1.data ().push_back ("4-1"); - o1.data ().push_back ("4-2"); - o1.data ().push_back ("4-3"); - - subtree s1; - s1.o ().push_back (o1); - s1.o ().push_back (o2); - s1.r ().push_back (ref ("o2")); - s1.r ().push_back (ref ("o3")); - - subtree s2; - s2.o ().push_back (o3); - s2.o ().push_back (o4); - s2.r ().push_back (ref ("o4")); - s2.r ().push_back (ref ("o1")); - - model m; - m.one (s1); - m.opt (s2); - - // Detach one. - // - XSD_AUTO_PTR<subtree> p (m.detach_one ()); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.opt ()->r ()[1].get () == 0); - - m.one (XSD_MOVE (p)); - assert (m.opt ()->r ()[1].get () == &m.one ().o ()[0]); - p = m.detach_one (); - - model m1; - m1.one (XSD_MOVE (p)); - m1.opt (s2); - assert (m1.opt ()->r ()[1].get () == &m1.one ().o ()[0]); - - p = m1.detach_one (); - m.seq ().push_back (XSD_MOVE (p)); - - // Detach opt. - // - p = m.opt ().detach (); - assert (!m.opt ()); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); - - m.seq ().push_back (XSD_MOVE (p)); - - // Detach seq. - // - p = m.seq ().detach_back (); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); - - m.seq ().push_back (XSD_MOVE (p)); - assert (m.seq ()[0].r ()[1].get () == &m.seq ()[1].o ()[0]); - - m.seq ().detach (m.seq ().begin (), p); - assert (p->_container () == 0); - assert (p->r ()[0].get () == &p->o ()[1]); - assert (m.seq ()[0].r ()[1].get () == 0); -} diff --git a/xsd/tests/cxx/tree/detach/makefile b/xsd/tests/cxx/tree/detach/makefile deleted file mode 100644 index 64def55..0000000 --- a/xsd/tests/cxx/tree/detach/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/detach/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-detach --generate-default-ctor -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/detach/test.xsd b/xsd/tests/cxx/tree/detach/test.xsd deleted file mode 100644 index b9f5166..0000000 --- a/xsd/tests/cxx/tree/detach/test.xsd +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="object"> - <sequence> - <element name="data" type="string" maxOccurs="unbounded"/> - </sequence> - <attribute name="id" type="ID" use="required"/> - </complexType> - - <complexType name="ref"> - <simpleContent> - <extension base="IDREF"/> - </simpleContent> - </complexType> - - <complexType name="subtree"> - <sequence> - <element name="o" type="t:object" minOccurs="0" maxOccurs="unbounded"/> - <element name="r" type="t:ref" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <complexType name="model"> - <sequence> - <element name="one" type="t:subtree"/> - <element name="opt" type="t:subtree" minOccurs="0"/> - <element name="seq" type="t:subtree" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/dom-association/dom-parse.cxx b/xsd/tests/cxx/tree/dom-association/dom-parse.cxx deleted file mode 100644 index c065d19..0000000 --- a/xsd/tests/cxx/tree/dom-association/dom-parse.cxx +++ /dev/null @@ -1,96 +0,0 @@ -// file : tests/cxx/tree/dom-association/dom-parse.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#include "dom-parse.hxx" - -#include <istream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/XMLUniDefs.hpp> // chLatin_* -#include <xercesc/framework/Wrapper4InputSource.hpp> - -#include <xsd/cxx/xml/sax/std-input-source.hxx> -#include <xsd/cxx/xml/dom/bits/error-handler-proxy.hxx> - -#include <xsd/cxx/tree/exceptions.hxx> -#include <xsd/cxx/tree/error-handler.hxx> - -using namespace xercesc; -namespace xml = xsd::cxx::xml; -namespace tree = xsd::cxx::tree; - -XSD_DOM_AUTO_PTR<DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate) -{ - const XMLCh ls_id [] = {chLatin_L, chLatin_S, chNull}; - - // Get an implementation of the Load-Store (LS) interface. - // - DOMImplementation* impl ( - DOMImplementationRegistry::getDOMImplementation (ls_id)); - - XSD_DOM_AUTO_PTR<DOMLSParser> parser ( - impl->createLSParser (DOMImplementationLS::MODE_SYNCHRONOUS, 0)); - - DOMConfiguration* conf (parser->getDomConfig ()); - - // Discard comment nodes in the document. - // - conf->setParameter (XMLUni::fgDOMComments, false); - - // Enable datatype normalization. - // - conf->setParameter (XMLUni::fgDOMDatatypeNormalization, true); - - // Do not create EntityReference nodes in the DOM tree. No - // EntityReference nodes will be created, only the nodes - // corresponding to their fully expanded substitution text - // will be created. - // - conf->setParameter (XMLUni::fgDOMEntities, false); - - // Perform namespace processing. - // - conf->setParameter (XMLUni::fgDOMNamespaces, true); - - // Do not include ignorable whitespace in the DOM tree. - // - conf->setParameter (XMLUni::fgDOMElementContentWhitespace, false); - - // Enable/Disable validation. - // - conf->setParameter (XMLUni::fgDOMValidate, validate); - conf->setParameter (XMLUni::fgXercesSchema, validate); - conf->setParameter (XMLUni::fgXercesSchemaFullChecking, false); - - // Xerces-C++ 3.1.0 is the first version with working multi import - // support. - // -#if _XERCES_VERSION >= 30100 - conf->setParameter (XMLUni::fgXercesHandleMultipleImports, true); -#endif - - // We will release the DOM document ourselves. - // - conf->setParameter (XMLUni::fgXercesUserAdoptsDOMDocument, true); - - // Set error handler. - // - tree::error_handler<char> eh; - xml::dom::bits::error_handler_proxy<char> ehp (eh); - conf->setParameter (XMLUni::fgDOMErrorHandler, &ehp); - - // Prepare input stream. - // - xml::sax::std_input_source isrc (is, id); - Wrapper4InputSource wrap (&isrc, false); - - XSD_DOM_AUTO_PTR<DOMDocument> doc (parser->parse (&wrap)); - - eh.throw_if_failed<tree::parsing<char> > (); - - return doc; -} diff --git a/xsd/tests/cxx/tree/dom-association/dom-parse.hxx b/xsd/tests/cxx/tree/dom-association/dom-parse.hxx deleted file mode 100644 index 2c3bd3f..0000000 --- a/xsd/tests/cxx/tree/dom-association/dom-parse.hxx +++ /dev/null @@ -1,24 +0,0 @@ -// file : tests/cxx/tree/dom-association/dom-parse.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef DOM_PARSE -#define DOM_PARSE - -#include <string> -#include <iosfwd> - -#include <xercesc/dom/DOMDocument.hpp> - -#include <xsd/cxx/xml/dom/auto-ptr.hxx> - -// Parse an XML document from the standard input stream with an -// optional resource id. Resource id is used in diagnostics as -// well as to locate schemas referenced from inside the document. -// -XSD_DOM_AUTO_PTR<xercesc::DOMDocument> -parse (std::istream& is, - const std::string& id, - bool validate); - -#endif // DOM_PARSE diff --git a/xsd/tests/cxx/tree/dom-association/driver.cxx b/xsd/tests/cxx/tree/dom-association/driver.cxx deleted file mode 100644 index edcda50..0000000 --- a/xsd/tests/cxx/tree/dom-association/driver.cxx +++ /dev/null @@ -1,72 +0,0 @@ -// file : tests/cxx/tree/dom-association/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test DOM association/ownership. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <fstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> - -#include "dom-parse.hxx" -#include "test.hxx" - -using namespace std; -using namespace test; -using namespace xercesc; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - int r (0); - - XMLPlatformUtils::Initialize (); - - try - { - ifstream ifs; - ifs.exceptions (ifstream::badbit | ifstream::failbit); - ifs.open (argv[1]); - - DOMDocument* ptr; - -#ifdef XSD_CXX11 - xml_schema::dom::unique_ptr<DOMDocument> doc (parse (ifs, argv[1], true)); - ptr = doc.get (); - unique_ptr<type> r ( - root (std::move (doc), - xml_schema::flags::keep_dom | xml_schema::flags::own_dom)); -#else - xml_schema::dom::auto_ptr<DOMDocument> doc (parse (ifs, argv[1], true)); - ptr = doc.get (); - auto_ptr<type> r ( - root (doc, - xml_schema::flags::keep_dom | xml_schema::flags::own_dom)); -#endif - - assert (doc.get () == 0); - assert (r->_node ()->getOwnerDocument () == ptr); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - r = 1; - } - catch (const std::ios_base::failure&) - { - cerr << argv[1] << ": unable to open or read failure" << endl; - r = 1; - } - - XMLPlatformUtils::Terminate (); - return r; -} diff --git a/xsd/tests/cxx/tree/dom-association/makefile b/xsd/tests/cxx/tree/dom-association/makefile deleted file mode 100644 index 4a05d45..0000000 --- a/xsd/tests/cxx/tree/dom-association/makefile +++ /dev/null @@ -1,92 +0,0 @@ -# file : tests/cxx/tree/dom-association/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx dom-parse.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -# Define XSD_CXX11 since we include libxsd headers directly. -# -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifeq ($(cxx_standard),c++11) -$(obj) $(dep): cpp_options += -DXSD_CXX11 -endif - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/dom-association/output b/xsd/tests/cxx/tree/dom-association/output deleted file mode 100644 index e69de29..0000000 --- a/xsd/tests/cxx/tree/dom-association/output +++ /dev/null diff --git a/xsd/tests/cxx/tree/dom-association/test.xml b/xsd/tests/cxx/tree/dom-association/test.xml deleted file mode 100644 index 624a80c..0000000 --- a/xsd/tests/cxx/tree/dom-association/test.xml +++ /dev/null @@ -1,7 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>a</a> - -</t:root> diff --git a/xsd/tests/cxx/tree/dom-association/test.xsd b/xsd/tests/cxx/tree/dom-association/test.xsd deleted file mode 100644 index 07bebc7..0000000 --- a/xsd/tests/cxx/tree/dom-association/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/driver.cxx b/xsd/tests/cxx/tree/encoding/char/iso-8859-1/driver.cxx deleted file mode 100644 index 6a92ae0..0000000 --- a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/driver.cxx +++ /dev/null @@ -1,75 +0,0 @@ -// file : tests/cxx/tree/encoding/char/iso-8859-1/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test ISO-8859-1 encoding. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <fstream> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - try - { - root (argv[1]); - return 1; - } - catch (xsd::cxx::xml::iso8859_1_unrepresentable const&) - { - } - - xsd::cxx::xml::char_transcoder::unrep_char ('?'); - XSD_AUTO_PTR<type> r (root (argv[1])); - - { - type::a_sequence const& s (r->a ()); - - if (s[0] != "abc" || - s[1] != "\xE6" || - s[2] != "\xA2\xA3\xA4\xA5" || - s[3] != "???") - { - cerr << "invalid encoding" << endl; - return 1; - } - } - - { - type::b_sequence const& s (r->b ()); - - if (s[0] != strenum::abc || - s[1] != strenum::a_c || - s[2] != strenum::cxx__bc) - { - cerr << "invalid encoding" << endl; - return 1; - } - } - - xml_schema::namespace_infomap map; - map["t"].name = "test"; - - root (std::cout, *r, map, "ISO-8859-1"); - } - catch (xml_schema::exception const& e) - { - cerr << "xml_schema::exception: " << e.what () << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/makefile b/xsd/tests/cxx/tree/encoding/char/iso-8859-1/makefile deleted file mode 100644 index 8a952f7..0000000 --- a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/encoding/char/iso-8859-1/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --char-encoding iso8859-1 --generate-serialization \ ---generate-doxygen -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/test.std - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/test.std -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.std b/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.std deleted file mode 100644 index d26b30f..0000000 --- a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.std +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> -<t:root xmlns:t="test"> - <a>abc</a> - <a>æ</a> - <a>¢£¤¥</a> - <a>???</a> - <b>abc</b> - <b>aâc</b> - <b>âòbc</b> -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xml b/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xml deleted file mode 100644 index 9c9e752..0000000 --- a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xml +++ /dev/null @@ -1,14 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>abc</a> - <a>æ</a> - <a>¢£¤¥</a> - <a>Āꪪ򪪪</a> - - <b>abc</b> - <b>aâc</b> - <b>âòbc</b> - -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xsd b/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xsd deleted file mode 100644 index 31b8901..0000000 --- a/xsd/tests/cxx/tree/encoding/char/iso-8859-1/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="strenum"> - - <annotation> - <documentation> - Test enum. Valid values are: - abc - aâc - òbc - </documentation> - </annotation> - - <restriction base="string"> - <enumeration value="abc"/> - <enumeration value="aâc"/> - <enumeration value="âòbc"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="a" type="string" maxOccurs="unbounded"/> - <element name="b" type="t:strenum" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/encoding/char/lcp/driver.cxx b/xsd/tests/cxx/tree/encoding/char/lcp/driver.cxx deleted file mode 100644 index d44d0fe..0000000 --- a/xsd/tests/cxx/tree/encoding/char/lcp/driver.cxx +++ /dev/null @@ -1,41 +0,0 @@ -// file : tests/cxx/tree/encoding/char/lcp/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test local code page encoding (--char-encoding lcp). -// The test just makes sure it still compiles and works. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <fstream> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - xml_schema::namespace_infomap map; - map["t"].name = "test"; - - root (std::cout, *r, map); - } - catch (xml_schema::exception const& e) - { - cerr << "xml_schema::exception: " << e.what () << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/encoding/char/lcp/makefile b/xsd/tests/cxx/tree/encoding/char/lcp/makefile deleted file mode 100644 index 9dc599d..0000000 --- a/xsd/tests/cxx/tree/encoding/char/lcp/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/encoding/char/lcp/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --char-encoding lcp -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/test.std - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/test.std -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/encoding/char/lcp/test.std b/xsd/tests/cxx/tree/encoding/char/lcp/test.std deleted file mode 100644 index 368826d..0000000 --- a/xsd/tests/cxx/tree/encoding/char/lcp/test.std +++ /dev/null @@ -1,4 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test"> - <a>abcd</a> -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/lcp/test.xml b/xsd/tests/cxx/tree/encoding/char/lcp/test.xml deleted file mode 100644 index 772512e..0000000 --- a/xsd/tests/cxx/tree/encoding/char/lcp/test.xml +++ /dev/null @@ -1,7 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>abcd</a> - -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/lcp/test.xsd b/xsd/tests/cxx/tree/encoding/char/lcp/test.xsd deleted file mode 100644 index 1e264e3..0000000 --- a/xsd/tests/cxx/tree/encoding/char/lcp/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="a" type="string" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/encoding/char/makefile b/xsd/tests/cxx/tree/encoding/char/makefile deleted file mode 100644 index 587eeb1..0000000 --- a/xsd/tests/cxx/tree/encoding/char/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/encoding/char/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -tests := lcp utf-8 iso-8859-1 - -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/xsd/tests/cxx/tree/encoding/char/utf-8/driver.cxx b/xsd/tests/cxx/tree/encoding/char/utf-8/driver.cxx deleted file mode 100644 index 9d12659..0000000 --- a/xsd/tests/cxx/tree/encoding/char/utf-8/driver.cxx +++ /dev/null @@ -1,66 +0,0 @@ -// file : tests/cxx/tree/encoding/char/utf-8/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test UTF-8 encoding. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <fstream> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - { - type::a_sequence const& s (r->a ()); - - if (s[0] != "abc" || - s[1] != "\xD5\x95" || - s[2] != "\xEA\xAA\xAA" || - s[3] != "\xF2\xAA\xAA\xAA") - { - cerr << "invalid encoding" << endl; - return 1; - } - } - - { - type::b_sequence const& s (r->b ()); - - if (s[0] != strenum::abc || - s[1] != strenum::a_c || - s[2] != strenum::cxx_bc || - s[3] != strenum::ab_) - { - cerr << "invalid encoding" << endl; - return 1; - } - } - - xml_schema::namespace_infomap map; - map["t"].name = "test"; - - root (std::cout, *r, map, "ASCII"); - } - catch (xml_schema::exception const& e) - { - cerr << "xml_schema::exception: " << e.what () << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/encoding/char/utf-8/makefile b/xsd/tests/cxx/tree/encoding/char/utf-8/makefile deleted file mode 100644 index e2bbdfc..0000000 --- a/xsd/tests/cxx/tree/encoding/char/utf-8/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/encoding/char/utf-8/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --generate-doxygen -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/test.std - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/test.std -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/encoding/char/utf-8/test.std b/xsd/tests/cxx/tree/encoding/char/utf-8/test.std deleted file mode 100644 index ffce337..0000000 --- a/xsd/tests/cxx/tree/encoding/char/utf-8/test.std +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="ASCII" standalone="no" ?> -<t:root xmlns:t="test"> - <a>abc</a> - <a>Օ</a> - <a>ꪪ</a> - <a>򪪪</a> - <b>abc</b> - <b>aՕc</b> - <b>ꪪbc</b> - <b>ab򪪪</b> -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/utf-8/test.xml b/xsd/tests/cxx/tree/encoding/char/utf-8/test.xml deleted file mode 100644 index a6e5d99..0000000 --- a/xsd/tests/cxx/tree/encoding/char/utf-8/test.xml +++ /dev/null @@ -1,15 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>abc</a> - <a>Օ</a> - <a>ꪪ</a> - <a>򪪪</a> - - <b>abc</b> - <b>aՕc</b> - <b>ꪪbc</b> - <b>ab򪪪</b> - -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/char/utf-8/test.xsd b/xsd/tests/cxx/tree/encoding/char/utf-8/test.xsd deleted file mode 100644 index 6c32a32..0000000 --- a/xsd/tests/cxx/tree/encoding/char/utf-8/test.xsd +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="strenum"> - - <annotation> - <documentation> - Test enum. Valid values are: - abc - aՕc - ꪪbc - ab򪪪 - </documentation> - </annotation> - - <restriction base="string"> - <enumeration value="abc"/> - <enumeration value="aՕc"/> - <enumeration value="ꪪbc"/> - <enumeration value="ab򪪪"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="a" type="string" maxOccurs="unbounded"/> - <element name="b" type="t:strenum" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/encoding/makefile b/xsd/tests/cxx/tree/encoding/makefile deleted file mode 100644 index 2108fa2..0000000 --- a/xsd/tests/cxx/tree/encoding/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/encoding/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := char wchar - -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/xsd/tests/cxx/tree/encoding/wchar/driver.cxx b/xsd/tests/cxx/tree/encoding/wchar/driver.cxx deleted file mode 100644 index 6b8d51e..0000000 --- a/xsd/tests/cxx/tree/encoding/wchar/driver.cxx +++ /dev/null @@ -1,56 +0,0 @@ -// file : tests/cxx/tree/encoding/wchar/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the wide character mapping. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <fstream> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - // Use dont_validate because we do not have instance's system id (path). - // - std::ifstream ifs (argv[1]); - XSD_AUTO_PTR<type> r (root (ifs, xml_schema::flags::dont_validate)); - - { - type::b_sequence const& s (r->b ()); - - if (s[0] != strenum::abc || - s[1] != strenum::a__c || - s[2] != strenum::cxx__bc || - s[3] != strenum::ab__) - { - cerr << "invalid encoding" << endl; - return 1; - } - } - - xml_schema::namespace_infomap map; - map[L"t"].name = L"test"; - - root (std::cout, *r, map, L"ASCII"); - } - catch (xml_schema::exception const& e) - { - cerr << "xml_schema::exception: " << e.what () << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/encoding/wchar/makefile b/xsd/tests/cxx/tree/encoding/wchar/makefile deleted file mode 100644 index e66d3a5..0000000 --- a/xsd/tests/cxx/tree/encoding/wchar/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/encoding/wchar/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --generate-doxygen \ ---char-type wchar_t -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/test.std - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/test.std -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/encoding/wchar/test.std b/xsd/tests/cxx/tree/encoding/wchar/test.std deleted file mode 100644 index 815ba6c..0000000 --- a/xsd/tests/cxx/tree/encoding/wchar/test.std +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="ASCII" standalone="no" ?> -<t:root xmlns:t="test"> - <a>abc</a> - <a>῿퟿</a> - <a>𐀀􏿽</a> - <b>abc</b> - <b>a῿퟿c</b> - <b>𐀀􏿽bc</b> - <b>ab𐀀􏿽</b> -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/wchar/test.xml b/xsd/tests/cxx/tree/encoding/wchar/test.xml deleted file mode 100644 index c6ec850..0000000 --- a/xsd/tests/cxx/tree/encoding/wchar/test.xml +++ /dev/null @@ -1,14 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>abc</a> - <a>῿퟿</a> - <a>𐀀􏿽</a> - - <b>abc</b> - <b>a῿퟿c</b> - <b>𐀀􏿽bc</b> - <b>ab𐀀􏿽</b> - -</t:root> diff --git a/xsd/tests/cxx/tree/encoding/wchar/test.xsd b/xsd/tests/cxx/tree/encoding/wchar/test.xsd deleted file mode 100644 index 0bf4bdd..0000000 --- a/xsd/tests/cxx/tree/encoding/wchar/test.xsd +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="strenum"> - - <annotation> - <documentation> - Test enum. Valid values are: - abc - a῿퟿c - 𐀀􏿽bc - ab𐀀􏿽 - </documentation> - </annotation> - - <restriction base="string"> - <enumeration value="abc"/> - <enumeration value="a῿퟿c"/> - <enumeration value="𐀀􏿽bc"/> - <enumeration value="ab𐀀􏿽"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="a" type="string" maxOccurs="unbounded"/> - <element name="b" type="t:strenum" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/enumeration/ctor/driver.cxx b/xsd/tests/cxx/tree/enumeration/ctor/driver.cxx deleted file mode 100644 index bd2589f..0000000 --- a/xsd/tests/cxx/tree/enumeration/ctor/driver.cxx +++ /dev/null @@ -1,31 +0,0 @@ -// file : tests/cxx/tree/enumeration/ctor/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test enumeration constructors. -// -#include <string> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - // Test ctor(const char*). - // - { - string_enum se ("a"); - type t ("a", 1); - } - - // Test ctor(const std::string&) - // - { - string const s ("c"); - string_enum se (s); - type t (s, 3); - } -} diff --git a/xsd/tests/cxx/tree/enumeration/ctor/makefile b/xsd/tests/cxx/tree/enumeration/ctor/makefile deleted file mode 100644 index 2fae138..0000000 --- a/xsd/tests/cxx/tree/enumeration/ctor/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/enumeration/ctor/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-default-ctor --generate-from-base-ctor \ ---generate-doxygen -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/enumeration/ctor/test.xsd b/xsd/tests/cxx/tree/enumeration/ctor/test.xsd deleted file mode 100644 index c5d625a..0000000 --- a/xsd/tests/cxx/tree/enumeration/ctor/test.xsd +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="string-enum-base"> - <restriction base="string"> - <enumeration value="a"/> - <enumeration value="b"/> - <enumeration value="c"/> - </restriction> - </simpleType> - - <simpleType name="string-enum"> - <restriction base="t:string-enum-base"> - <enumeration value="a"/> - <enumeration value="c"/> - </restriction> - </simpleType> - - <simpleType name="int-enum-base"> - <restriction base="int"> - <enumeration value="1"/> - <enumeration value="2"/> - <enumeration value="3"/> - </restriction> - </simpleType> - - <simpleType name="int-enum"> - <restriction base="t:int-enum-base"> - <enumeration value="1"/> - <enumeration value="3"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="a" type="t:string-enum"/> - <element name="b" type="t:int-enum"/> - </sequence> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/enumeration/inheritance/driver.cxx b/xsd/tests/cxx/tree/enumeration/inheritance/driver.cxx deleted file mode 100644 index 0a6d5d2..0000000 --- a/xsd/tests/cxx/tree/enumeration/inheritance/driver.cxx +++ /dev/null @@ -1,54 +0,0 @@ -// file : tests/cxx/tree/enumeration/inheritance/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Insert test description here. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<top_bottom> r (root (argv[1])); - - switch (*r) - { - case top_bottom::top: - { - cout << "top" << endl; - break; - } - case top_bottom::bottom: - { - cout << "bottom" << endl; - break; - } - default: // Suppress warning. - { - assert (false); - break; - } - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/enumeration/inheritance/makefile b/xsd/tests/cxx/tree/enumeration/inheritance/makefile deleted file mode 100644 index 77df855..0000000 --- a/xsd/tests/cxx/tree/enumeration/inheritance/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/enumeration/inheritance/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/enumeration/inheritance/output b/xsd/tests/cxx/tree/enumeration/inheritance/output deleted file mode 100644 index fef12e2..0000000 --- a/xsd/tests/cxx/tree/enumeration/inheritance/output +++ /dev/null @@ -1 +0,0 @@ -bottom diff --git a/xsd/tests/cxx/tree/enumeration/inheritance/test.xml b/xsd/tests/cxx/tree/enumeration/inheritance/test.xml deleted file mode 100644 index 1de9043..0000000 --- a/xsd/tests/cxx/tree/enumeration/inheritance/test.xml +++ /dev/null @@ -1,3 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd">bottom</t:root> diff --git a/xsd/tests/cxx/tree/enumeration/inheritance/test.xsd b/xsd/tests/cxx/tree/enumeration/inheritance/test.xsd deleted file mode 100644 index cf2eeb1..0000000 --- a/xsd/tests/cxx/tree/enumeration/inheritance/test.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="side"> - <restriction base="string"> - <enumeration value="top"/> - <enumeration value="left"/> - <enumeration value="bottom"/> - <enumeration value="right"/> - </restriction> - </simpleType> - - <simpleType name="top-bottom"> - <restriction base="t:side"> - <enumeration value="top"/> - <enumeration value="bottom"/> - </restriction> - </simpleType> - - <element name="root" type="t:top-bottom"/> - -</schema> diff --git a/xsd/tests/cxx/tree/enumeration/makefile b/xsd/tests/cxx/tree/enumeration/makefile deleted file mode 100644 index 8f55b20..0000000 --- a/xsd/tests/cxx/tree/enumeration/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/enumeration/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := ctor inheritance - -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/xsd/tests/cxx/tree/float/driver.cxx b/xsd/tests/cxx/tree/float/driver.cxx deleted file mode 100644 index a71d2f3..0000000 --- a/xsd/tests/cxx/tree/float/driver.cxx +++ /dev/null @@ -1,54 +0,0 @@ -// file : tests/cxx/tree/float/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test floating point (xsd:{float, double, decimal}) type parsing -// and serialization. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - r->simple ().push_back (12.129456); - r->simple ().push_back (123.129456); - r->simple ().push_back (1234.129456); - - r->s (12.129456); - - r->complex ().push_back (12.129456); - r->complex ().push_back (123.129456); - r->complex ().push_back (1234.129456); - r->complex ().push_back (-12.12); - r->complex ().push_back (-123.12); - - r->s (12.129456); - - xml_schema::namespace_infomap map; - - map["t"].name = "test"; - root (cout, *r, map); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/float/makefile b/xsd/tests/cxx/tree/float/makefile deleted file mode 100644 index a585afb..0000000 --- a/xsd/tests/cxx/tree/float/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/float/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --root-element-all -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/test.std - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/test.std -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/float/test.std b/xsd/tests/cxx/tree/float/test.std deleted file mode 100644 index 399e28c..0000000 --- a/xsd/tests/cxx/tree/float/test.std +++ /dev/null @@ -1,35 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test" de="0" do="0" f="0" s="12.13"> - <float>0</float> - <float>1</float> - <float>1e+06</float> - <float>1e-07</float> - <float-list>0 1 1e+06 1e-07</float-list> - <double>0</double> - <double>1</double> - <double>100000000000000</double> - <double>1e-15</double> - <double-list>0 1 100000000000000 1e-15</double-list> - <decimal>0</decimal> - <decimal>1</decimal> - <decimal>10000</decimal> - <decimal>100000000000000</decimal> - <decimal>0.000000000000001</decimal> - <decimal-list>0 1 100000000000000 0.000000000000001</decimal-list> - <simple>0</simple> - <simple>1</simple> - <simple>12.34</simple> - <simple>0.12</simple> - <simple>12.13</simple> - <simple>123.1</simple> - <simple>1234</simple> - <complex>0</complex> - <complex>1</complex> - <complex>12.34</complex> - <complex>0.12</complex> - <complex>12.13</complex> - <complex>123.1</complex> - <complex>1234</complex> - <complex>-12.12</complex> - <complex>-123.1</complex> -</t:root> diff --git a/xsd/tests/cxx/tree/float/test.xml b/xsd/tests/cxx/tree/float/test.xml deleted file mode 100644 index e5124a4..0000000 --- a/xsd/tests/cxx/tree/float/test.xml +++ /dev/null @@ -1,35 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - f="0.0" do="0.0" de="0.0"> - - <float>0.0</float> - <float>1.0</float> - <float>1000000.0</float> - <float>0.0000001</float> - <float-list>0.0 1.0 1000000.0 0.0000001</float-list> - - <double>0.0</double> - <double>1.0</double> - <double>100000000000000.0</double> - <double>0.000000000000001</double> - <double-list>0.0 1.0 100000000000000.0 0.000000000000001</double-list> - - <decimal>0.0</decimal> - <decimal>1.0</decimal> - <decimal>10000</decimal> - <decimal>100000000000000.0</decimal> - <decimal>0.000000000000001</decimal> - <decimal-list>0.0 1.0 100000000000000.0 0.000000000000001</decimal-list> - - <simple>0.0</simple> - <simple>1.0</simple> - <simple>12.34</simple> - <simple>0.12</simple> - - <complex>0.0</complex> - <complex>1.0</complex> - <complex>12.34</complex> - <complex>0.12</complex> - -</t:root> diff --git a/xsd/tests/cxx/tree/float/test.xsd b/xsd/tests/cxx/tree/float/test.xsd deleted file mode 100644 index c02678d..0000000 --- a/xsd/tests/cxx/tree/float/test.xsd +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="float-list"> - <list itemType="float"/> - </simpleType> - - <simpleType name="double-list"> - <list itemType="double"/> - </simpleType> - - <simpleType name="decimal-list"> - <list itemType="decimal"/> - </simpleType> - - <!-- decimal facets --> - - <simpleType name="simple"> - <restriction base="t:base-simple"> - <fractionDigits value="2"/> - </restriction> - </simpleType> - - <simpleType name="base-simple"> - <restriction base="decimal"> - <totalDigits value="4"/> - </restriction> - </simpleType> - - <complexType name="complex"> - <simpleContent> - <restriction base="t:base-complex"> - <fractionDigits value="2"/> - <totalDigits value="4"/> - <attribute name="x" type="int"/> - </restriction> - </simpleContent> - </complexType> - - <complexType name="base-complex"> - <simpleContent> - <extension base="decimal"> - <attribute name="x" type="int"/> - </extension> - </simpleContent> - </complexType> - - - <complexType name="type"> - <sequence> - <element name="float" type="float" maxOccurs="unbounded"/> - <element name="float-list" type="t:float-list"/> - <element name="double" type="double" maxOccurs="unbounded"/> - <element name="double-list" type="t:double-list"/> - <element name="decimal" type="decimal" maxOccurs="unbounded"/> - <element name="decimal-list" type="t:decimal-list"/> - - <element name="simple" type="t:simple" maxOccurs="unbounded"/> - <element name="complex" type="t:complex" maxOccurs="unbounded"/> - - </sequence> - <attribute name="f" type="float" default="12.34"/> - <attribute name="do" type="double" default="1234.1234"/> - <attribute name="de" type="decimal" default="1234.1234"/> - - <attribute name="s" type="t:simple"/> - </complexType> - - <element name="root" type="t:type"/> - - <element name="double" type="double"/> - <element name="decimal" type="decimal"/> - -</schema> diff --git a/xsd/tests/cxx/tree/list/ctor/driver.cxx b/xsd/tests/cxx/tree/list/ctor/driver.cxx deleted file mode 100644 index 784ae01..0000000 --- a/xsd/tests/cxx/tree/list/ctor/driver.cxx +++ /dev/null @@ -1,51 +0,0 @@ -// file : tests/cxx/tree/list/ctor/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test list constructors. -// -#include <string> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - // Test ctor() - // - { - string_list sl; - - xml_schema::nmtokens nt; - xml_schema::idrefs id; - } - - // Test ctor(size_type, const X&) - // - { - string_list sl (10, "abc"); - size_type st (10, 123); - - xml_schema::nmtokens nt (10, "abc"); - xml_schema::idrefs id (10, "abc"); - } - - // Test ctor(const I& begin, const I& end) - // - { - string_list sl1 (10, "abc"); - string_list sl2 (sl1.begin (), sl1.end ()); - - I i1 (10, 123); - I i2 (i1.begin (), i1.end ()); - - xml_schema::nmtokens nt1 (10, "abc"); - xml_schema::nmtokens nt2 (nt1.begin (), nt1.end ()); - - xml_schema::idrefs id1 (10, "abc"); - xml_schema::idrefs id2 (id1.begin (), id1.end ()); - } -} diff --git a/xsd/tests/cxx/tree/list/ctor/makefile b/xsd/tests/cxx/tree/list/ctor/makefile deleted file mode 100644 index 4115606..0000000 --- a/xsd/tests/cxx/tree/list/ctor/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/list/ctor/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-default-ctor --generate-from-base-ctor \ ---generate-doxygen -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/list/ctor/test.xsd b/xsd/tests/cxx/tree/list/ctor/test.xsd deleted file mode 100644 index f090bb8..0000000 --- a/xsd/tests/cxx/tree/list/ctor/test.xsd +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="string-list"> - <list itemType="string"/> - </simpleType> - - <!-- Test name conflict resolution. --> - - <simpleType name="size_type"> - <list itemType="int"/> - </simpleType> - - <simpleType name="I"> - <list itemType="int"/> - </simpleType> - -</schema> diff --git a/xsd/tests/cxx/tree/list/makefile b/xsd/tests/cxx/tree/list/makefile deleted file mode 100644 index 4af3e22..0000000 --- a/xsd/tests/cxx/tree/list/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/list/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := ctor - -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/xsd/tests/cxx/tree/makefile b/xsd/tests/cxx/tree/makefile deleted file mode 100644 index 7fd9f63..0000000 --- a/xsd/tests/cxx/tree/makefile +++ /dev/null @@ -1,44 +0,0 @@ -# file : tests/cxx/tree/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../build/bootstrap.make - -tests := \ -any-type \ -built-in \ -chameleon \ -comparison \ -compilation \ -complex \ -containment \ -default \ -detach \ -dom-association \ -encoding \ -enumeration \ -float \ -list \ -name-clash \ -naming \ -order \ -polymorphism \ -prefix \ -test-template \ -types-only \ -union \ -wildcard - -ifeq ($(xsd_with_ace),y) -tests += binary -endif - -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/xsd/tests/cxx/tree/name-clash/inheritance/driver.cxx b/xsd/tests/cxx/tree/name-clash/inheritance/driver.cxx deleted file mode 100644 index 07e0c00..0000000 --- a/xsd/tests/cxx/tree/name-clash/inheritance/driver.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// file : tests/cxx/tree/name-clash/inheritance/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test for name clashes across inheritance hierarchy. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<derived> r (root (argv[1])); - - cout << *r << endl; - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/name-clash/inheritance/makefile b/xsd/tests/cxx/tree/name-clash/inheritance/makefile deleted file mode 100644 index ea05693..0000000 --- a/xsd/tests/cxx/tree/name-clash/inheritance/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/name-clash/inheritance/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/name-clash/inheritance/output b/xsd/tests/cxx/tree/name-clash/inheritance/output deleted file mode 100644 index 54565bb..0000000 --- a/xsd/tests/cxx/tree/name-clash/inheritance/output +++ /dev/null @@ -1,3 +0,0 @@ - -e: e -e: e1 diff --git a/xsd/tests/cxx/tree/name-clash/inheritance/test.xml b/xsd/tests/cxx/tree/name-clash/inheritance/test.xml deleted file mode 100644 index 8c17101..0000000 --- a/xsd/tests/cxx/tree/name-clash/inheritance/test.xml +++ /dev/null @@ -1,8 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <e>e</e> - <e>e1</e> - -</t:root> diff --git a/xsd/tests/cxx/tree/name-clash/inheritance/test.xsd b/xsd/tests/cxx/tree/name-clash/inheritance/test.xsd deleted file mode 100644 index b83d7df..0000000 --- a/xsd/tests/cxx/tree/name-clash/inheritance/test.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- same member name in base and derived --> - - <complexType name="base"> - <sequence> - <element name="e" type="string"/> - </sequence> - </complexType> - - <complexType name="derived"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="e" type="string"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="root" type="t:derived"/> - - <!-- same c-tor argument names (compilation only) --> - - <complexType name="ctor-args"> - <simpleContent> - <extension base="string"> - <attribute name="string" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - - <!-- same c-tor argument names (compilation only) --> - - <complexType name="ctor-args-base"> - <simpleContent> - <extension base="string"> - <attribute name="ctor-args-derived" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - - <complexType name="ctor-args-derived"> - <simpleContent> - <extension base="t:ctor-args-base"> - <attribute name="foo" type="string" use="required"/> - </extension> - </simpleContent> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/name-clash/makefile b/xsd/tests/cxx/tree/name-clash/makefile deleted file mode 100644 index c9a4d0f..0000000 --- a/xsd/tests/cxx/tree/name-clash/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/name-clash/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := inheritance - -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/xsd/tests/cxx/tree/naming/camel/driver.cxx b/xsd/tests/cxx/tree/naming/camel/driver.cxx deleted file mode 100644 index 716a544..0000000 --- a/xsd/tests/cxx/tree/naming/camel/driver.cxx +++ /dev/null @@ -1,155 +0,0 @@ -// file : tests/cxx/tree/naming/camel/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test camel case (upper for types, lower for functions) naming style. -// - -#include <sstream> -#include <iostream> - -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - xercesc::XMLPlatformUtils::Initialize (); - - try - { - // Enum 'value' type. - // - { - Gender::Value v; - v = Gender::female; - XSD_UNUSED (v); - } - - // Anonymous type. - // - { - Foo f ("a", "b"); - - if (f.a () != "a" || f.b () != "b") - return 1; - } - - // Type name and accessors/modifiers. - // - { - Type t ("bar"); - - // foo - // - { - Type::FooType* p = 0; - XSD_UNUSED (p); - - Type::FooOptional o; - - if (t.foo ().present ()) - return 1; - - t.foo (o); - } - - // bar - // - { - Type::BarType* p = 0; - XSD_UNUSED (p); - - if (t.bar () != "bar") - return 1; - - t.bar ("barbar"); - } - - // baz - // - { - Type::BazType* p = 0; - XSD_UNUSED (p); - - Type::BazSequence s; - Type::BazIterator i (s.begin ()); - Type::BazConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.baz () != s) - return 1; - - t.baz (s); - } - - // any - // - { - Type::AnySequence s (t.domDocument ()); - Type::AnyIterator i (s.begin ()); - Type::AnyConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.any () != s) - return 1; - - t.any (s); - } - - // foo - // - { - Type::FoxType x = Type::foxDefaultValue (); - - if (t.fox () != x) - return 1; - - t.fox ("fox"); - } - - // any_attribute - // - { - Type::AnyAttributeSet s (t.domDocument ()); - Type::AnyAttributeIterator i (s.begin ()); - Type::AnyAttributeConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.anyAttribute () != s) - return 1; - - t.anyAttribute (s); - } - } - - // Parsing/serialization functions. - // - { - istringstream is ("<t:Root xmlns:t='test'>foo</t:Root>"); - root (is, xml_schema::Flags::dont_validate); - } - - { - ostringstream os; - xml_schema::NamespaceInfomap m; - m["t"].name = "test"; - - root (os, "foo", m); - } - } - catch (xml_schema::Exception const& e) - { - cerr << e << endl; - return 1; - } - - xercesc::XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/naming/camel/makefile b/xsd/tests/cxx/tree/naming/camel/makefile deleted file mode 100644 index 6364196..0000000 --- a/xsd/tests/cxx/tree/naming/camel/makefile +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/cxx/tree/naming/camel/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += \ ---type-naming ucc \ ---function-naming lcc \ ---generate-ostream \ ---generate-serialization \ ---generate-comparison \ ---generate-wildcard - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/naming/camel/test.xsd b/xsd/tests/cxx/tree/naming/camel/test.xsd deleted file mode 100644 index 7d0a745..0000000 --- a/xsd/tests/cxx/tree/naming/camel/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="gender"> - <restriction base="string"> - <enumeration value="male"/> - <enumeration value="female"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="foo" minOccurs="0"> - <complexType> - <sequence> - <element name="a" type="string"/> - <element name="b" type="string"/> - </sequence> - </complexType> - </element> - <element name="Bar" type="string"/> - <element name="Baz" type="string" maxOccurs="unbounded"/> - <any namespace="other" processContents="skip" maxOccurs="unbounded"/> - </sequence> - <attribute name="Fox" type="string" default="hello"/> - <anyAttribute namespace="##other" processContents="skip"/> - </complexType> - - <element name="Root" type="string"/> - -</schema> diff --git a/xsd/tests/cxx/tree/naming/java/driver.cxx b/xsd/tests/cxx/tree/naming/java/driver.cxx deleted file mode 100644 index f35607a..0000000 --- a/xsd/tests/cxx/tree/naming/java/driver.cxx +++ /dev/null @@ -1,154 +0,0 @@ -// file : tests/cxx/tree/naming/java/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test Java naming style. -// - -#include <sstream> -#include <iostream> - -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - xercesc::XMLPlatformUtils::Initialize (); - - try - { - // Enum 'value' type. - // - { - Gender::Value v; - v = Gender::female; - XSD_UNUSED (v); - } - - // Anonymous type. - // - { - Foo f ("a", "b"); - - if (f.getA () != "a" || f.getB () != "b") - return 1; - } - - // Type name and accessors/modifiers. - // - { - Type t ("bar"); - - // foo - // - { - Type::FooType* p = 0; - XSD_UNUSED (p); - Type::FooOptional o; - - if (t.getFoo ().present ()) - return 1; - - t.setFoo (o); - } - - // bar - // - { - Type::BarType* p = 0; - XSD_UNUSED (p); - - if (t.getBar () != "bar") - return 1; - - t.setBar ("barbar"); - } - - // baz - // - { - Type::BazType* p = 0; - XSD_UNUSED (p); - - Type::BazSequence s; - Type::BazIterator i (s.begin ()); - Type::BazConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.getBaz () != s) - return 1; - - t.setBaz (s); - } - - // any - // - { - Type::AnySequence s (t.getDomDocument ()); - Type::AnyIterator i (s.begin ()); - Type::AnyConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.getAny () != s) - return 1; - - t.setAny (s); - } - - // foo - // - { - Type::FoxType x = Type::getFoxDefaultValue (); - - if (t.getFox () != x) - return 1; - - t.setFox ("fox"); - } - - // any_attribute - // - { - Type::AnyAttributeSet s (t.getDomDocument ()); - Type::AnyAttributeIterator i (s.begin ()); - Type::AnyAttributeConstIterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.getAnyAttribute () != s) - return 1; - - t.setAnyAttribute (s); - } - } - - // Parsing/serialization functions. - // - { - istringstream is ("<t:root xmlns:t='test'>foo</t:root>"); - parseRoot (is, xml_schema::Flags::dont_validate); - } - - { - ostringstream os; - xml_schema::NamespaceInfomap m; - m["t"].name = "test"; - - serializeRoot (os, "foo", m); - } - } - catch (xml_schema::Exception const& e) - { - cerr << e << endl; - return 1; - } - - xercesc::XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/naming/java/makefile b/xsd/tests/cxx/tree/naming/java/makefile deleted file mode 100644 index 83d73e1..0000000 --- a/xsd/tests/cxx/tree/naming/java/makefile +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/cxx/tree/naming/java/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += \ ---type-naming java \ ---function-naming java \ ---generate-ostream \ ---generate-serialization \ ---generate-comparison \ ---generate-wildcard - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/naming/java/test.xsd b/xsd/tests/cxx/tree/naming/java/test.xsd deleted file mode 100644 index f525534..0000000 --- a/xsd/tests/cxx/tree/naming/java/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="gender"> - <restriction base="string"> - <enumeration value="male"/> - <enumeration value="female"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="foo" minOccurs="0"> - <complexType> - <sequence> - <element name="a" type="string"/> - <element name="b" type="string"/> - </sequence> - </complexType> - </element> - <element name="bar" type="string"/> - <element name="Baz" type="string" maxOccurs="unbounded"/> - <any namespace="other" processContents="skip" maxOccurs="unbounded"/> - </sequence> - <attribute name="Fox" type="string" default="hello"/> - <anyAttribute namespace="##other" processContents="skip"/> - </complexType> - - <element name="root" type="string"/> - -</schema> diff --git a/xsd/tests/cxx/tree/naming/knr/driver.cxx b/xsd/tests/cxx/tree/naming/knr/driver.cxx deleted file mode 100644 index 5038d7b..0000000 --- a/xsd/tests/cxx/tree/naming/knr/driver.cxx +++ /dev/null @@ -1,155 +0,0 @@ -// file : tests/cxx/tree/naming/knr/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test K&R naming style. -// - -#include <sstream> -#include <iostream> - -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - xercesc::XMLPlatformUtils::Initialize (); - - try - { - // Enum 'value' type. - // - { - gender::value v; - v = gender::female; - XSD_UNUSED (v); - } - - // Anonymous type. - // - { - foo f ("a", "b"); - - if (f.a () != "a" || f.b () != "b") - return 1; - } - - // Type name and accessors/modifiers. - // - { - type t ("bar"); - - // foo - // - { - type::foo_type* p = 0; - XSD_UNUSED (p); - - type::foo_optional o; - - if (t.foo ().present ()) - return 1; - - t.foo (o); - } - - // bar - // - { - type::bar_type* p = 0; - XSD_UNUSED (p); - - if (t.bar () != "bar") - return 1; - - t.bar ("barbar"); - } - - // baz - // - { - type::baz_type* p = 0; - XSD_UNUSED (p); - - type::baz_sequence s; - type::baz_iterator i (s.begin ()); - type::baz_const_iterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.baz () != s) - return 1; - - t.baz (s); - } - - // any - // - { - type::any_sequence s (t.dom_document ()); - type::any_iterator i (s.begin ()); - type::any_const_iterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.any () != s) - return 1; - - t.any (s); - } - - // foo - // - { - type::fox_type x = type::fox_default_value (); - - if (t.fox () != x) - return 1; - - t.fox ("fox"); - } - - // any_attribute - // - { - type::any_attribute_set s (t.dom_document ()); - type::any_attribute_iterator i (s.begin ()); - type::any_attribute_const_iterator ci (s.begin ()); - XSD_UNUSED (i); - XSD_UNUSED (ci); - - if (t.any_attribute () != s) - return 1; - - t.any_attribute (s); - } - } - - // Parsing/serialization functions. - // - { - istringstream is ("<t:root xmlns:t='test'>foo</t:root>"); - root (is, xml_schema::flags::dont_validate); - } - - { - ostringstream os; - xml_schema::namespace_infomap m; - m["t"].name = "test"; - - root (os, "foo", m); - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - - xercesc::XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/naming/knr/makefile b/xsd/tests/cxx/tree/naming/knr/makefile deleted file mode 100644 index d8ecbab..0000000 --- a/xsd/tests/cxx/tree/naming/knr/makefile +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/cxx/tree/naming/knr/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd - -$(gen): xsd_options += \ ---type-naming knr \ ---function-naming knr \ ---generate-ostream \ ---generate-serialization \ ---generate-comparison \ ---generate-wildcard - -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/naming/knr/test.xsd b/xsd/tests/cxx/tree/naming/knr/test.xsd deleted file mode 100644 index 4361544..0000000 --- a/xsd/tests/cxx/tree/naming/knr/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="gender"> - <restriction base="string"> - <enumeration value="male"/> - <enumeration value="female"/> - </restriction> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="foo" minOccurs="0"> - <complexType> - <sequence> - <element name="a" type="string"/> - <element name="b" type="string"/> - </sequence> - </complexType> - </element> - <element name="bar" type="string"/> - <element name="baz" type="string" maxOccurs="unbounded"/> - <any namespace="other" processContents="skip" maxOccurs="unbounded"/> - </sequence> - <attribute name="fox" type="string" default="hello"/> - <anyAttribute namespace="##other" processContents="skip"/> - </complexType> - - <element name="root" type="string"/> - -</schema> diff --git a/xsd/tests/cxx/tree/naming/makefile b/xsd/tests/cxx/tree/naming/makefile deleted file mode 100644 index 60ac63b..0000000 --- a/xsd/tests/cxx/tree/naming/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/naming/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := camel java knr - -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/xsd/tests/cxx/tree/order/driver.cxx b/xsd/tests/cxx/tree/order/driver.cxx deleted file mode 100644 index 01d8d9f..0000000 --- a/xsd/tests/cxx/tree/order/driver.cxx +++ /dev/null @@ -1,65 +0,0 @@ -// file : tests/cxx/tree/order/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test ordered type support. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <cassert> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" - -using namespace std; -using namespace test; -using namespace xercesc; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - XMLPlatformUtils::Initialize (); - - try - { - XSD_AUTO_PTR<root> r (root_ (argv[1], xml_schema::flags::dont_initialize)); - - root c (*r); - assert (c == *r); - - for (root::t1_const_iterator j (r->t1 ().begin ()); - j != r->t1 ().end (); ++j) - { - const t1_derived& d (*j); - - for (t1_derived::content_order_const_iterator i ( - d.content_order ().begin ()); i != d.content_order ().end (); ++i) - { - cout << i->id << ' ' << i->index << endl; - } - } - - xml_schema::namespace_infomap map; - - map["t"].name = "test"; - map["t1"].name = "test1"; - - root_ (cout, *r, map, "UTF-8", xml_schema::flags::dont_initialize); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - - XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/order/makefile b/xsd/tests/cxx/tree/order/makefile deleted file mode 100644 index 0dff0f9..0000000 --- a/xsd/tests/cxx/tree/order/makefile +++ /dev/null @@ -1,94 +0,0 @@ -# file : tests/cxx/tree/order/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --generate-wildcard \ ---generate-comparison \ ---ordered-type t1_base --ordered-type t1_derived \ ---ordered-type t2_base --ordered-type t2_derived \ ---ordered-type t3_type \ ---ordered-type t4_base --ordered-type t4_derived \ ---ordered-type t5_base --ordered-type t5_derived \ ---ordered-type t6_base --ordered-type t6_derived \ ---ordered-type t7_type -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/order/output b/xsd/tests/cxx/tree/order/output deleted file mode 100644 index 73442fe..0000000 --- a/xsd/tests/cxx/tree/order/output +++ /dev/null @@ -1,92 +0,0 @@ -2 0 -1 0 -1 1 -2 1 -3 0 -4 0 -3 1 -4 1 -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<t:root xmlns:t="test" xmlns:t1="test1"> - <t1> - <b>b1</b> - <a>a1</a> - <a>a2</a> - <b>b2</b> - <c>c1</c> - <d>d1</d> - <t1:e>e1</t1:e> - <d>d2</d> - <t1:f>f1</t1:f> - </t1> - <t2> - <b>b1</b> - <a>a1</a> - <b>b2</b> - <a>a2</a> - </t2> - <t3> - <a>a1</a> - <b>b1</b> - <c>c1</c> - <c>c2</c> - </t3> - <t3> - <a>a1</a> - <c>c1</c> - </t3> - <t4> - t1 - - <b>b1</b> - t2 - - <a>a1</a> - t3 - - <b>b2</b> - t4 - - <a>a2</a> - t5 - - <t1:d>d1</t1:d> - t6 - - <c>c1</c> - t7 - - </t4> - <t5a> - t5a - </t5a> - <t5b> - t1 - - <b>b1</b> - t2 - - <a>a1</a> - t3 - - <a>a2</a> - t4 - - <b>b2</b> - t5 - - </t5b> - <t6> - t6 - </t6> - <t7> - t1 - - <t1:a>a1</t1:a> - t2 - - <t1:b>b1</t1:b> - t3 - - </t7> -</t:root> diff --git a/xsd/tests/cxx/tree/order/test.xml b/xsd/tests/cxx/tree/order/test.xml deleted file mode 100644 index cd82936..0000000 --- a/xsd/tests/cxx/tree/order/test.xml +++ /dev/null @@ -1,71 +0,0 @@ -<t:root xmlns:t="test" - xmlns:t1="test1" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - <t1> - <b>b1</b> - <a>a1</a> - <a>a2</a> - <b>b2</b> - <c>c1</c> - <d>d1</d> - <t1:e>e1</t1:e> - <d>d2</d> - <t1:f>f1</t1:f> - </t1> - <t2> - <b>b1</b> - <a>a1</a> - <b>b2</b> - <a>a2</a> - </t2> - <t3> - <a>a1</a> - <b>b1</b> - <c>c1</c> - <c>c2</c> - </t3> - <t3> - <a>a1</a> - <c>c1</c> - </t3> - <t4> - t1 - <b>b1</b> - t2 - <a>a1</a> - t3 - <b>b2</b> - t4 - <a>a2</a> - t5 - <t1:d>d1</t1:d> - t6 - <c>c1</c> - t7 - </t4> - <t5a> - t5a - </t5a> - <t5b> - t1 - <b>b1</b> - t2 - <a>a1</a> - t3 - <a>a2</a> - t4 - <b>b2</b> - t5 - </t5b> - <t6> - t6 - </t6> - <t7> - t1 - <t1:a>a1</t1:a> - t2 - <t1:b>b1</t1:b> - t3 - </t7> -</t:root> diff --git a/xsd/tests/cxx/tree/order/test.xsd b/xsd/tests/cxx/tree/order/test.xsd deleted file mode 100644 index c30c027..0000000 --- a/xsd/tests/cxx/tree/order/test.xsd +++ /dev/null @@ -1,130 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- Test 1: general, with non-ordered intermediate. --> - - <complexType name="t1_base"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="a" type="string"/> - <element name="b" type="string"/> - </choice> - </complexType> - - <complexType name="t1_interm"> - <complexContent> - <extension base="t:t1_base"> - <sequence> - <element name="c" type="string" minOccurs="0" maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="t1_derived"> - <complexContent> - <extension base="t:t1_interm"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="d" type="string"/> - <any namespace="##other" processContents="lax"/> - </choice> - </extension> - </complexContent> - </complexType> - - <!-- Test 2: empty base. --> - - <complexType name="t2_base"/> - - <complexType name="t2_derived"> - <complexContent> - <extension base="t:t2_base"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="a" type="string"/> - <element name="b" type="string"/> - </choice> - </extension> - </complexContent> - </complexType> - - <!-- Test 3: element cardinalities. --> - - <complexType name="t3_type"> - <sequence> - <element name="a" type="string"/> - <element name="b" type="string" minOccurs="0"/> - <element name="c" type="string" maxOccurs="unbounded"/> - </sequence> - </complexType> - - - <!-- Test 4: mixed content, general. --> - - <complexType name="t4_base" mixed="true"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="a" type="string"/> - <element name="b" type="string"/> - </choice> - </complexType> - - <complexType name="t4_derived"> - <complexContent mixed="true"> - <extension base="t:t4_base"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="c" type="string"/> - <any namespace="##other" processContents="lax"/> - </choice> - </extension> - </complexContent> - </complexType> - - <!-- Test 5: mixed content, empty base. --> - - <complexType name="t5_base" mixed="true"/> - - <complexType name="t5_derived"> - <complexContent mixed="true"> - <extension base="t:t5_base"> - <choice minOccurs="0" maxOccurs="unbounded"> - <element name="a" type="string"/> - <element name="b" type="string"/> - </choice> - </extension> - </complexContent> - </complexType> - - <!-- Test 6: mixed content, empty base and derived. --> - - <complexType name="t6_base" mixed="true"/> - - <complexType name="t6_derived"> - <complexContent mixed="true"> - <extension base="t:t6_base"/> - </complexContent> - </complexType> - - <!-- Test 7: mixed content wildcard only. --> - - <complexType name="t7_type" mixed="true"> - <sequence> - <any namespace="##other" processContents="lax" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <!-- Root --> - - <complexType name="root"> - <sequence> - <element name="t1" type="t:t1_derived" maxOccurs="unbounded"/> - <element name="t2" type="t:t2_derived" maxOccurs="unbounded"/> - <element name="t3" type="t:t3_type" maxOccurs="unbounded"/> - <element name="t4" type="t:t4_derived" maxOccurs="unbounded"/> - <element name="t5a" type="t:t5_base" maxOccurs="unbounded"/> - <element name="t5b" type="t:t5_derived" maxOccurs="unbounded"/> - <element name="t6" type="t:t6_derived" maxOccurs="unbounded"/> - <element name="t7" type="t:t7_type" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:root"/> - -</schema> diff --git a/xsd/tests/cxx/tree/polymorphism/comparison/driver.cxx b/xsd/tests/cxx/tree/polymorphism/comparison/driver.cxx deleted file mode 100644 index 5394991..0000000 --- a/xsd/tests/cxx/tree/polymorphism/comparison/driver.cxx +++ /dev/null @@ -1,74 +0,0 @@ -// file : tests/cxx/tree/polymorphism/comparison/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test comparison of polymorphic object models. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - // Equals. - // - { - derived1 d ("a", 1); - d.b ("b"); - type r1 (d); - - assert (*r == r1); - } - - // Values are not equal. - // - { - derived1 d ("a", 1); - d.b ("c"); - type r1 (d); - - assert (*r != r1); - } - - // Values are not equal. - // - { - derived1 d ("a", 2); - d.b ("b"); - type r1 (d); - - assert (*r != r1); - } - - // Different types. - // - { - derived2 d ("a", 1); - d.c ().push_back ("c"); - type r1 (d); - - assert (*r != r1); - } - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/polymorphism/comparison/makefile b/xsd/tests/cxx/tree/polymorphism/comparison/makefile deleted file mode 100644 index ef3e70a..0000000 --- a/xsd/tests/cxx/tree/polymorphism/comparison/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/polymorphism/comparison/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic --polymorphic-type base \ ---generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml - $(call message,test $$1,$$1 $(src_base)/test.xml,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/polymorphism/comparison/test.xml b/xsd/tests/cxx/tree/polymorphism/comparison/test.xml deleted file mode 100644 index 0b8c125..0000000 --- a/xsd/tests/cxx/tree/polymorphism/comparison/test.xml +++ /dev/null @@ -1,7 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <base xsi:type="t:derived1"><a>a</a><fund>1</fund><b>b</b></base> - -</t:root> diff --git a/xsd/tests/cxx/tree/polymorphism/comparison/test.xsd b/xsd/tests/cxx/tree/polymorphism/comparison/test.xsd deleted file mode 100644 index 18532f2..0000000 --- a/xsd/tests/cxx/tree/polymorphism/comparison/test.xsd +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - <element name="fund" type="int"/> - </sequence> - </complexType> - - <complexType name="derived1"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="b" type="string" minOccurs="0"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="derived2"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="c" type="string" maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="type"> - <sequence> - <element name="base" type="t:base"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/polymorphism/makefile b/xsd/tests/cxx/tree/polymorphism/makefile deleted file mode 100644 index 9215e44..0000000 --- a/xsd/tests/cxx/tree/polymorphism/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/polymorphism/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := comparison ostream same-type - -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/xsd/tests/cxx/tree/polymorphism/ostream/driver.cxx b/xsd/tests/cxx/tree/polymorphism/ostream/driver.cxx deleted file mode 100644 index bfbd2d4..0000000 --- a/xsd/tests/cxx/tree/polymorphism/ostream/driver.cxx +++ /dev/null @@ -1,35 +0,0 @@ -// file : tests/cxx/tree/polymorphism/ostream/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test printing of polymorphic object models. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - cout << *r << endl; - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/polymorphism/ostream/makefile b/xsd/tests/cxx/tree/polymorphism/ostream/makefile deleted file mode 100644 index 76a366f..0000000 --- a/xsd/tests/cxx/tree/polymorphism/ostream/makefile +++ /dev/null @@ -1,88 +0,0 @@ -# file : tests/cxx/tree/polymorphism/ostream/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-polymorphic --polymorphic-type-all \ ---root-element root --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/polymorphism/ostream/output b/xsd/tests/cxx/tree/polymorphism/ostream/output deleted file mode 100644 index e7fbd68..0000000 --- a/xsd/tests/cxx/tree/polymorphism/ostream/output +++ /dev/null @@ -1,18 +0,0 @@ - -base: -a: a -fund: 1 -base: -a: a -fund: 1 -b: b -base: -a: a -fund: 1 -c: c1 -c: c2 -base: -a: a -fund: 1 -d: d1 -d: d2 diff --git a/xsd/tests/cxx/tree/polymorphism/ostream/test.xml b/xsd/tests/cxx/tree/polymorphism/ostream/test.xml deleted file mode 100644 index 5409d2a..0000000 --- a/xsd/tests/cxx/tree/polymorphism/ostream/test.xml +++ /dev/null @@ -1,10 +0,0 @@ -<root xmlns="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <base><a>a</a><fund>1</fund></base> - <base xsi:type="derived1"><a>a</a><fund>1</fund><b>b</b></base> - <base xsi:type="derived2"><a>a</a><fund>1</fund><c>c1</c><c>c2</c></base> - <derived3><a>a</a><fund>1</fund><d>d1</d><d>d2</d></derived3> - -</root> diff --git a/xsd/tests/cxx/tree/polymorphism/ostream/test.xsd b/xsd/tests/cxx/tree/polymorphism/ostream/test.xsd deleted file mode 100644 index ddeaeae..0000000 --- a/xsd/tests/cxx/tree/polymorphism/ostream/test.xsd +++ /dev/null @@ -1,53 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" - targetNamespace="test" elementFormDefault="qualified"> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - <element name="fund" type="int"/> - </sequence> - </complexType> - <element name="base" type="t:base"/> - - <complexType name="derived1"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="b" type="string" minOccurs="0"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="derived2"> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="c" type="string" maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="derived3" substitutionGroup="t:base"> - <complexType> - <complexContent> - <extension base="t:base"> - <sequence> - <element name="d" type="string" maxOccurs="unbounded"/> - </sequence> - </extension> - </complexContent> - </complexType> - </element> - - <complexType name="type"> - <sequence> - <element ref="t:base" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/polymorphism/same-type/driver.cxx b/xsd/tests/cxx/tree/polymorphism/same-type/driver.cxx deleted file mode 100644 index 0846b04..0000000 --- a/xsd/tests/cxx/tree/polymorphism/same-type/driver.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// file : tests/cxx/tree/polymorphism/same-type/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test substitution group and xsi:type that don't change the type. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - cout << *r << endl; - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/polymorphism/same-type/makefile b/xsd/tests/cxx/tree/polymorphism/same-type/makefile deleted file mode 100644 index 549f590..0000000 --- a/xsd/tests/cxx/tree/polymorphism/same-type/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/polymorphism/same-type/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream --generate-polymorphic \ ---root-element root -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/polymorphism/same-type/output b/xsd/tests/cxx/tree/polymorphism/same-type/output deleted file mode 100644 index 04b5cbf..0000000 --- a/xsd/tests/cxx/tree/polymorphism/same-type/output +++ /dev/null @@ -1,9 +0,0 @@ - -base: -a: a1 -base: -a: a2 -base: -a: a3 -base: -a: a4 diff --git a/xsd/tests/cxx/tree/polymorphism/same-type/test.xml b/xsd/tests/cxx/tree/polymorphism/same-type/test.xml deleted file mode 100644 index f8b6d1e..0000000 --- a/xsd/tests/cxx/tree/polymorphism/same-type/test.xml +++ /dev/null @@ -1,10 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <t:base><a>a1</a></t:base> - <t:derived><a>a2</a></t:derived> - <t:base xsi:type="t:base"><a>a3</a></t:base> - <t:derived xsi:type="t:base"><a>a4</a></t:derived> - -</t:root> diff --git a/xsd/tests/cxx/tree/polymorphism/same-type/test.xsd b/xsd/tests/cxx/tree/polymorphism/same-type/test.xsd deleted file mode 100644 index a4157d3..0000000 --- a/xsd/tests/cxx/tree/polymorphism/same-type/test.xsd +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="base"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="base" type="t:base"/> - <element name="derived" type="t:base" substitutionGroup="t:base"/> - - <complexType name="type"> - <sequence> - <element ref="t:base" maxOccurs="unbounded"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/prefix/bar.xsd b/xsd/tests/cxx/tree/prefix/bar.xsd deleted file mode 100644 index 4e20902..0000000 --- a/xsd/tests/cxx/tree/prefix/bar.xsd +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:f="foo" - xmlns:b="bar" - targetNamespace="bar" - attributeFormDefault="qualified"> - - <import namespace="foo" schemaLocation="foo.xsd"/> - - <attribute name="abar" type="int"/> - - <complexType name="derived1"> - <complexContent> - <extension base="f:base"> - <sequence> - <element name="y" type="int"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="derived2"> - <complexContent> - <extension base="f:base"> - <sequence> - <element name="z" type="int"/> - </sequence> - </extension> - </complexContent> - </complexType> - - <element name="derived" type="b:derived1" substitutionGroup="f:base"/> - -</schema> diff --git a/xsd/tests/cxx/tree/prefix/driver.cxx b/xsd/tests/cxx/tree/prefix/driver.cxx deleted file mode 100644 index 244f815..0000000 --- a/xsd/tests/cxx/tree/prefix/driver.cxx +++ /dev/null @@ -1,35 +0,0 @@ -// file : tests/cxx/tree/prefix/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test automatic prefix assignment. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - root (std::cout, *r); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/prefix/foo.xsd b/xsd/tests/cxx/tree/prefix/foo.xsd deleted file mode 100644 index 97a35cf..0000000 --- a/xsd/tests/cxx/tree/prefix/foo.xsd +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:f="foo" - targetNamespace="foo"> - - <element name="efoo" type="int"/> - - <complexType name="base"> - <sequence> - <element name="x" type="int"/> - </sequence> - </complexType> - - <element name="base" type="f:base"/> - -</schema> diff --git a/xsd/tests/cxx/tree/prefix/makefile b/xsd/tests/cxx/tree/prefix/makefile deleted file mode 100644 index 688111e..0000000 --- a/xsd/tests/cxx/tree/prefix/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/prefix/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd foo.xsd bar.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-serialization --generate-polymorphic \ ---polymorphic-type foo\#base --root-element root -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/prefix/output b/xsd/tests/cxx/tree/prefix/output deleted file mode 100644 index 9801a23..0000000 --- a/xsd/tests/cxx/tree/prefix/output +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no" ?> -<p1:root xmlns:p1="test"> - <a xmlns:p3="bar" p3:abar="456" xmlns:p2="foo"> - <p2:efoo>123</p2:efoo> - </a> - <b xmlns:p2="bar"> - <p2:derived> - <x>1</x> - <y>2</y> - </p2:derived> - </b> - <c xmlns:p2="foo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <p2:base xmlns:p3="bar" xsi:type="p3:derived2"> - <x>1</x> - <z>2</z> - </p2:base> - </c> -</p1:root> diff --git a/xsd/tests/cxx/tree/prefix/test.xml b/xsd/tests/cxx/tree/prefix/test.xml deleted file mode 100644 index b6d0dd6..0000000 --- a/xsd/tests/cxx/tree/prefix/test.xml +++ /dev/null @@ -1,19 +0,0 @@ -<t:root xmlns:t="test" - xmlns:f="foo" - xmlns:b="bar" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a b:abar="456"> - <f:efoo>123</f:efoo> - </a> - - <b> - <b:derived><x>1</x><y>2</y></b:derived> - </b> - - <c> - <f:base xsi:type="b:derived2"><x>1</x><z>2</z></f:base> - </c> - -</t:root> diff --git a/xsd/tests/cxx/tree/prefix/test.xsd b/xsd/tests/cxx/tree/prefix/test.xsd deleted file mode 100644 index 421fdc0..0000000 --- a/xsd/tests/cxx/tree/prefix/test.xsd +++ /dev/null @@ -1,40 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:f="foo" - xmlns:b="bar" - xmlns:t="test" - targetNamespace="test"> - - <import namespace="foo" schemaLocation="foo.xsd"/> - <import namespace="bar" schemaLocation="bar.xsd"/> - - <complexType name="a"> - <sequence> - <element ref="f:efoo"/> - </sequence> - <attribute ref="b:abar"/> - </complexType> - - <complexType name="b"> - <sequence> - <element ref="f:base"/> - </sequence> - </complexType> - - <complexType name="c"> - <sequence> - <element ref="f:base"/> - </sequence> - </complexType> - - <complexType name="type"> - <sequence> - <element name="a" type="t:a"/> - <element name="b" type="t:b"/> - <element name="c" type="t:c"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/test-template/driver.cxx b/xsd/tests/cxx/tree/test-template/driver.cxx deleted file mode 100644 index f28e501..0000000 --- a/xsd/tests/cxx/tree/test-template/driver.cxx +++ /dev/null @@ -1,36 +0,0 @@ -// file : tests/cxx/tree/test-template/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Insert test description here. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - try - { - XSD_AUTO_PTR<type> r (root (argv[1])); - - cout << *r << endl; - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } -} diff --git a/xsd/tests/cxx/tree/test-template/makefile b/xsd/tests/cxx/tree/test-template/makefile deleted file mode 100644 index 32af96b..0000000 --- a/xsd/tests/cxx/tree/test-template/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/test-template/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-ostream -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/test-template/output b/xsd/tests/cxx/tree/test-template/output deleted file mode 100644 index 2a50681..0000000 --- a/xsd/tests/cxx/tree/test-template/output +++ /dev/null @@ -1,2 +0,0 @@ - -a: a diff --git a/xsd/tests/cxx/tree/test-template/test.xml b/xsd/tests/cxx/tree/test-template/test.xml deleted file mode 100644 index 624a80c..0000000 --- a/xsd/tests/cxx/tree/test-template/test.xml +++ /dev/null @@ -1,7 +0,0 @@ -<t:root xmlns:t="test" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd"> - - <a>a</a> - -</t:root> diff --git a/xsd/tests/cxx/tree/test-template/test.xsd b/xsd/tests/cxx/tree/test-template/test.xsd deleted file mode 100644 index 07bebc7..0000000 --- a/xsd/tests/cxx/tree/test-template/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/types-only/driver.cxx b/xsd/tests/cxx/tree/types-only/driver.cxx deleted file mode 100644 index 8ba7500..0000000 --- a/xsd/tests/cxx/tree/types-only/driver.cxx +++ /dev/null @@ -1,31 +0,0 @@ -// file : tests/cxx/tree/types-only/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test that code generated without parsing and serialization functions -// still compiles. -// - -#include <iostream> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - color_enum red (color_enum::red); - red_blue_enum blue (red_blue_enum::blue); - - long_string_union num ("123"); - - string_list list; - list.push_back ("Hello"); - list.push_back ("World"); - - complex_type t ("Hello, World!", "foo", color_enum::red); - - anon a ("Hello, World!"); -} diff --git a/xsd/tests/cxx/tree/types-only/makefile b/xsd/tests/cxx/tree/types-only/makefile deleted file mode 100644 index 25520a4..0000000 --- a/xsd/tests/cxx/tree/types-only/makefile +++ /dev/null @@ -1,86 +0,0 @@ -# file : tests/cxx/tree/types-only/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --suppress-parsing -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/types-only/test.xsd b/xsd/tests/cxx/tree/types-only/test.xsd deleted file mode 100644 index 9f02240..0000000 --- a/xsd/tests/cxx/tree/types-only/test.xsd +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="color-enum"> - <restriction base="token"> - <enumeration value="red"/> - <enumeration value="green"/> - <enumeration value="blue"/> - </restriction> - </simpleType> - - <simpleType name="red-blue-enum"> - <restriction base="t:color-enum"> - <enumeration value="red"/> - <enumeration value="blue"/> - </restriction> - </simpleType> - - <simpleType name="long-string-union"> - <union memberTypes="long string"/> - </simpleType> - - <simpleType name="string-list"> - <list itemType="string"/> - </simpleType> - - <complexType name="complex-type"> - <sequence> - <element name="a" type="string"/> - </sequence> - <attribute name="text" type="string" use="required"/> - <attribute name="color" type="t:color-enum" use="required"/> - <attribute name="ftext" type="string" fixed="foo"/> - <attribute name="dcolor" type="t:color-enum" default="red"/> - </complexType> - - <!-- Test that we do not perform type/element name conflict resolution - as well as print any warnings. --> - <element name="type" type="string"/> - - <!-- Test that we generate anonymous type for global element. --> - <element name="anon"> - <complexType> - <sequence> - <element name="a" type="string"/> - </sequence> - </complexType> - </element> - - <element name="root" type="t:complex-type"/> - -</schema> diff --git a/xsd/tests/cxx/tree/union/ctor/driver.cxx b/xsd/tests/cxx/tree/union/ctor/driver.cxx deleted file mode 100644 index 14a8565..0000000 --- a/xsd/tests/cxx/tree/union/ctor/driver.cxx +++ /dev/null @@ -1,31 +0,0 @@ -// file : tests/cxx/tree/union/ctor/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test union constructors. -// -#include <string> - -#include "test.hxx" - -using namespace std; -using namespace test; - -int -main () -{ - // Test ctor(const std::string&) - // - { - string const s ("123"); - int_string_union u (s); - type t (s); - } - - // Test ctor(const char*). - // - { - int_string_union u ("123"); - type t ("123"); - } -} diff --git a/xsd/tests/cxx/tree/union/ctor/makefile b/xsd/tests/cxx/tree/union/ctor/makefile deleted file mode 100644 index 1edd762..0000000 --- a/xsd/tests/cxx/tree/union/ctor/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/union/ctor/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-default-ctor --generate-from-base-ctor \ ---generate-doxygen -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) - $(call message,test $$1,$$1,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/union/ctor/test.xsd b/xsd/tests/cxx/tree/union/ctor/test.xsd deleted file mode 100644 index 9601093..0000000 --- a/xsd/tests/cxx/tree/union/ctor/test.xsd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <simpleType name="int-string-union"> - <union memberTypes="int string"/> - </simpleType> - - <complexType name="type"> - <sequence> - <element name="a" type="t:int-string-union"/> - </sequence> - </complexType> - -</schema> diff --git a/xsd/tests/cxx/tree/union/makefile b/xsd/tests/cxx/tree/union/makefile deleted file mode 100644 index 59abec6..0000000 --- a/xsd/tests/cxx/tree/union/makefile +++ /dev/null @@ -1,17 +0,0 @@ -# file : tests/cxx/tree/union/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -tests := ctor - -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/xsd/tests/cxx/tree/wildcard/driver.cxx b/xsd/tests/cxx/tree/wildcard/driver.cxx deleted file mode 100644 index e2db827..0000000 --- a/xsd/tests/cxx/tree/wildcard/driver.cxx +++ /dev/null @@ -1,204 +0,0 @@ -// file : tests/cxx/tree/wildcard/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test wildcard (any & anyAttribute) mapping. -// - -#include <memory> // std::auto_ptr/unique_ptr -#include <sstream> -#include <iostream> - -#include <xercesc/dom/DOM.hpp> -#include <xercesc/util/PlatformUtils.hpp> - -#include "test.hxx" // Get XSD_CXX11 defined. - -#include <xsd/cxx/xml/string.hxx> - -using namespace std; -using namespace test; -using namespace xercesc; - -namespace xml = xsd::cxx::xml; - -void -print (type& t) -{ - if (t.att ()) - cout << *t.att () << endl; - - type::any_attribute_set& as (t.any_attribute ()); - - for (type::any_attribute_iterator i (as.begin ()); i != as.end (); ++i) - { - cout << xml::transcode<char> (i->getTextContent ()) << endl; - } - - cout << xml::transcode<char> (t.any ().getTextContent ()) << endl - << t.foo () << endl; - - if (t.any1 ()) - cout << xml::transcode<char> (t.any1 ()->getTextContent ()) << endl; - - cout << t.bar () << endl; - - type::any2_sequence& es (t.any2 ()); - - for (type::any2_iterator i (es.begin ()); i != es.end (); ++i) - { - cout << xml::transcode<char> (i->getTextContent ()) << endl; - } - - cout << endl; -} - -int -main (int argc, char* argv[]) -{ - if (argc != 2) - { - cerr << "usage: " << argv[0] << " test.xml" << endl; - return 1; - } - - XMLPlatformUtils::Initialize (); - - try - { - // Test accessors/modifiers for various cardinalities. - // - type t; - - DOMDocument& doc (t.dom_document ()); - - // one - // - { - DOMElement* e (doc.createElement (xml::string ("a").c_str ())); - t.any (*e); - e->release (); - assert (xml::transcode<char> (t.any ().getTagName ()) == "a"); - - t.any (doc.createElement (xml::string ("b").c_str ())); - assert (xml::transcode<char> (t.any ().getTagName ()) == "b"); - } - - // optional - // - { - assert (!t.any1 ().present ()); - - DOMElement* e (doc.createElement (xml::string ("a").c_str ())); - t.any1 (*e); - e->release (); - assert (t.any1 ().present ()); - assert (xml::transcode<char> (t.any1 ().get ().getTagName ()) == "a"); - - t.any1 (doc.createElement (xml::string ("b").c_str ())); - assert (xml::transcode<char> (t.any1 ()->getTagName ()) == "b"); - - type::any1_optional c ( - doc.createElement (xml::string ("c").c_str ()), doc); - t.any1 (c); - assert (xml::transcode<char> (t.any1 ()->getTagName ()) == "c"); - } - - - // sequence - // - { - type::any2_sequence& s (t.any2 ()); - - DOMElement* e (doc.createElement (xml::string ("a").c_str ())); - s.push_back (*e); - e->release (); - s.push_back (doc.createElement (xml::string ("b").c_str ())); - assert (s.size () == 2); - - for (type::any2_iterator i (s.begin ()); i != s.end (); ++i) - { - if (i == s.begin ()) - assert (xml::transcode<char> (i->getTagName ()) == "a"); - else - assert (xml::transcode<char> ((*i).getTagName ()) == "b"); - } - - // copy c-tor - type::any2_sequence cs (s, doc); - assert (cs.size () == 2); - assert (xml::transcode<char> (cs[0].getTagName ()) == "a"); - assert (xml::transcode<char> (cs[1].getTagName ()) == "b"); - - // assignment - t.any2 (cs); - assert (s.size () == 2); - assert (xml::transcode<char> (s[0].getTagName ()) == "a"); - assert (xml::transcode<char> (s[1].getTagName ()) == "b"); - } - - // anyAttribute - // - { - type::any_attribute_set& s (t.any_attribute ()); - - DOMAttr* a (doc.createAttribute (xml::string ("a").c_str ())); - s.insert (*a); - a->release (); - s.insert (doc.createAttribute (xml::string ("b").c_str ())); - assert (s.size () == 2); - - assert (s.find ("a") != s.end ()); - assert (s.find ("b") != s.end ()); - - for (type::any_attribute_iterator i (s.begin ()); i != s.end (); ++i) - { - assert (xml::transcode<char> (i->getName ()) == "a" || - xml::transcode<char> ((*i).getName ()) == "b"); - } - - // copy c-tor - type::any_attribute_set cs (s, doc); - assert (cs.size () == 2); - assert (cs.count ("a")); - assert (cs.count ("b")); - - // assignment - t.any_attribute (cs); - assert (s.size () == 2); - assert (s.count ("a")); - assert (s.count ("b")); - } - - // Test parsing - // - XSD_AUTO_PTR<type> r (root (argv[1])); - print (*r); - - // Test serialization. - // - xml_schema::namespace_infomap map; - - map["t"].name = "test"; - map["t"].schema = "test.xsd"; - map["o"].name = "other"; - - stringstream iostr; - root (iostr, *r, map); - - // cout << iostr.str () << endl - // << endl; - - XSD_AUTO_PTR<type> copy (root (iostr, argv[1])); - assert (*copy == *r); - - print (*copy); - } - catch (xml_schema::exception const& e) - { - cerr << e << endl; - return 1; - } - - XMLPlatformUtils::Terminate (); -} diff --git a/xsd/tests/cxx/tree/wildcard/makefile b/xsd/tests/cxx/tree/wildcard/makefile deleted file mode 100644 index b86c34a..0000000 --- a/xsd/tests/cxx/tree/wildcard/makefile +++ /dev/null @@ -1,87 +0,0 @@ -# file : tests/cxx/tree/wildcard/makefile -# copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../../../../build/bootstrap.make - -xsd := test.xsd -cxx := driver.cxx - -obj := $(addprefix $(out_base)/,$(cxx:.cxx=.o) $(xsd:.xsd=.o)) -dep := $(obj:.o=.o.d) - -driver := $(out_base)/driver -test := $(out_base)/.test -clean := $(out_base)/.clean - - -# Import. -# -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - - -# Build. -# -$(driver): $(obj) $(xerces_c.l) - -$(obj) $(dep): cpp_options := -I$(out_base) -I$(src_base) -I$(src_root)/libxsd -$(obj) $(dep): $(xerces_c.l.cpp-options) - -genf := $(xsd:.xsd=.hxx) $(xsd:.xsd=.ixx) $(xsd:.xsd=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -$(gen): xsd := $(out_root)/xsd/xsd -$(gen): xsd_options += --generate-wildcard --generate-default-ctor \ ---generate-from-base-ctor --generate-serialization --generate-comparison -$(gen): $(out_root)/xsd/xsd - -$(call include-dep,$(dep),$(obj),$(gen)) - -# Convenience alias for default target. -# -$(out_base)/: $(driver) - - -# Test. -# -$(test): driver := $(driver) -$(test): $(driver) $(src_base)/test.xml $(src_base)/output - $(call message,test $$1,$$1 $(src_base)/test.xml | diff -u $(src_base)/output -,$(driver)) - -# Clean. -# -$(clean): $(driver).o.clean \ - $(addsuffix .cxx.clean,$(obj)) \ - $(addsuffix .cxx.clean,$(dep)) \ - $(addprefix $(out_base)/,$(xsd:.xsd=.cxx.xsd.clean)) - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(gen): | $(out_base)/.gitignore -$(driver): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := driver $(genf) -$(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) - -$(call include,$(bld_root)/cxx/standard.make) # cxx_standard -ifdef cxx_standard -$(gen): xsd_options += --std $(cxx_standard) -$(call include,$(scf_root)/xsd/tree/xsd-cxx.make) -endif - - -# Dependencies. -# -$(call import,$(src_root)/xsd/makefile) diff --git a/xsd/tests/cxx/tree/wildcard/output b/xsd/tests/cxx/tree/wildcard/output deleted file mode 100644 index b23b488..0000000 --- a/xsd/tests/cxx/tree/wildcard/output +++ /dev/null @@ -1,24 +0,0 @@ -att -any -o:any -t:any -o:one -foo -t:bar -bar -o:one1 -o:one2 -o:one3 - -att -any -o:any -t:any -o:one -foo -t:bar -bar -o:one1 -o:one2 -o:one3 - diff --git a/xsd/tests/cxx/tree/wildcard/test.xml b/xsd/tests/cxx/tree/wildcard/test.xml deleted file mode 100644 index b0c3267..0000000 --- a/xsd/tests/cxx/tree/wildcard/test.xml +++ /dev/null @@ -1,19 +0,0 @@ -<t:root xmlns:t="test" - xmlns:o="other" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="test test.xsd" - - att="att" - any="any" - t:any="t:any" - o:any="o:any"> - - <o:one>o:one</o:one> - <foo>foo</foo> - <t:bar>t:bar</t:bar> - <bar>bar</bar> - <o:seq1>o:one1</o:seq1> - <o:seq2>o:one2</o:seq2> - <o:seq3>o:one3</o:seq3> - -</t:root> diff --git a/xsd/tests/cxx/tree/wildcard/test.xsd b/xsd/tests/cxx/tree/wildcard/test.xsd deleted file mode 100644 index 6c7b308..0000000 --- a/xsd/tests/cxx/tree/wildcard/test.xsd +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <complexType name="type"> - <sequence> - <any namespace="##other" processContents="skip"/> - <element name="foo" type="string"/> - <any namespace="##targetNamespace" minOccurs="0" processContents="skip"/> - <element name="bar" type="string"/> - <any namespace="##other" maxOccurs="unbounded" processContents="skip"/> - </sequence> - <attribute name="att" type="string"/> - <anyAttribute namespace="##any" processContents="skip"/> - </complexType> - - <element name="root" type="t:type"/> - -</schema> diff --git a/xsd/tests/failed/test-00.xsd b/xsd/tests/failed/test-00.xsd deleted file mode 100644 index 5223f82..0000000 --- a/xsd/tests/failed/test-00.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:element name="foo"> - <xsd:complexType/> - </xsd:element> - -</xsd:schema> diff --git a/xsd/tests/makefile b/xsd/tests/makefile deleted file mode 100644 index 661571b..0000000 --- a/xsd/tests/makefile +++ /dev/null @@ -1,15 +0,0 @@ -# file : tests/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# 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)/cxx/ -$(test): $(out_base)/cxx/.test -$(clean): $(out_base)/cxx/.clean - -$(call import,$(src_base)/cxx/makefile) diff --git a/xsd/tests/morphing/anonymous/attribute-group/test.xsd b/xsd/tests/morphing/anonymous/attribute-group/test.xsd deleted file mode 100644 index 657be8a..0000000 --- a/xsd/tests/morphing/anonymous/attribute-group/test.xsd +++ /dev/null @@ -1,31 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Attribute Group that names anonymous type. --> - - <xsd:attributeGroup name="gfoo-1"> - <xsd:attribute name="afoo-1"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:attribute> - </xsd:attributeGroup> - - <xsd:attributeGroup name="gfoo-2"> - <xsd:attributeGroup ref="gfoo-1"/> - <xsd:attribute name="afoo-2" type="xsd:string"/> - </xsd:attributeGroup> - - <xsd:complexType name="Foo1"> - <xsd:attributeGroup ref="gfoo-1"/> - </xsd:complexType> - - <xsd:complexType name="Foo2"> - <xsd:attributeGroup ref="gfoo-2"/> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/cyclic-inclusion/includee.xsd b/xsd/tests/morphing/anonymous/cyclic-inclusion/includee.xsd deleted file mode 100644 index 51f7916..0000000 --- a/xsd/tests/morphing/anonymous/cyclic-inclusion/includee.xsd +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:t="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="includer.xsd"/> - - <xsd:element name="bar"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="t:foo"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/cyclic-inclusion/includer.xsd b/xsd/tests/morphing/anonymous/cyclic-inclusion/includer.xsd deleted file mode 100644 index 54e6b69..0000000 --- a/xsd/tests/morphing/anonymous/cyclic-inclusion/includer.xsd +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:t="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="includee.xsd"/> - - <xsd:element name="foo"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/group/test.xsd b/xsd/tests/morphing/anonymous/group/test.xsd deleted file mode 100644 index 73e07af..0000000 --- a/xsd/tests/morphing/anonymous/group/test.xsd +++ /dev/null @@ -1,29 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Simple case. --> - - <xsd:group name="gfoo"> - <xsd:sequence> - <xsd:element name="foo-1"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:element> - </xsd:sequence> - </xsd:group> - - - <xsd:complexType name="Foo"> - <xsd:group ref="gfoo"/> - </xsd:complexType> - - <xsd:complexType name="Bar"> - <xsd:group ref="gfoo"/> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/test-000.xsd b/xsd/tests/morphing/anonymous/test-000.xsd deleted file mode 100644 index ce930d8..0000000 --- a/xsd/tests/morphing/anonymous/test-000.xsd +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- Test xpath for nested anonymous types. --> - - <element name="a"> - <complexType> - <sequence> - <element name="b"> - <complexType> - <sequence> - <element name="c" type="string"/> - </sequence> - </complexType> - </element> - </sequence> - </complexType> - </element> - -</schema> diff --git a/xsd/tests/morphing/anonymous/unstable/includee-1.xsd b/xsd/tests/morphing/anonymous/unstable/includee-1.xsd deleted file mode 100644 index 916816f..0000000 --- a/xsd/tests/morphing/anonymous/unstable/includee-1.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="base"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/unstable/includee-2.xsd b/xsd/tests/morphing/anonymous/unstable/includee-2.xsd deleted file mode 100644 index eb8222c..0000000 --- a/xsd/tests/morphing/anonymous/unstable/includee-2.xsd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:element name="base"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:element> - -</xsd:schema> diff --git a/xsd/tests/morphing/anonymous/unstable/includer.xsd b/xsd/tests/morphing/anonymous/unstable/includer.xsd deleted file mode 100644 index 4593b5f..0000000 --- a/xsd/tests/morphing/anonymous/unstable/includer.xsd +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="includee-1.xsd"/> - <xsd:include schemaLocation="includee-2.xsd"/> - - <xsd:simpleType name="derived"> - <xsd:restriction base="Test:base"/> - </xsd:simpleType> - - <xsd:element name="element" type="Test:base"/> - <xsd:attribute name="attribute" type="Test:base"/> - -</xsd:schema> diff --git a/xsd/tests/processing/inheritance/test-000.xsd b/xsd/tests/processing/inheritance/test-000.xsd deleted file mode 100644 index ef1ef71..0000000 --- a/xsd/tests/processing/inheritance/test-000.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- Type base "depends" on itself via e element --> - - <element name="e"> - <complexType> - <complexContent> - <extension base="t:base"/> - </complexContent> - </complexType> - </element> - - <complexType name="base"> - <sequence> - <element ref="t:e"/> - </sequence> - </complexType> - - <element name="root" type="t:base"/> - -</schema> diff --git a/xsd/tests/processing/inheritance/test-001.xsd b/xsd/tests/processing/inheritance/test-001.xsd deleted file mode 100644 index 5afc997..0000000 --- a/xsd/tests/processing/inheritance/test-001.xsd +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:t="test" targetNamespace="test"> - - <!-- Type base depends on derived which in turn depends on base --> - - <complexType name="derived"> - <complexContent> - <extension base="t:base"/> - </complexContent> - </complexType> - - <complexType name="base"> - <sequence> - <element name="e"> - <complexType> - <complexContent> - <extension base="t:derived"/> - </complexContent> - </complexType> - </element> - </sequence> - </complexType> - - <element name="root" type="t:base"/> - -</schema> diff --git a/xsd/tests/schema/anonymous/test.xsd b/xsd/tests/schema/anonymous/test.xsd deleted file mode 100644 index cba3300..0000000 --- a/xsd/tests/schema/anonymous/test.xsd +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Test 'type' name escaping. --> - <xsd:element name="type"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - - <!-- Anonymous type via global element. --> - <xsd:element name="global_element"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - - <!-- Anonymous type via global attribute. --> - <xsd:attribute name="global_attribute"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:attribute> - - - - <!-- Anonymous type via local element. --> - <xsd:complexType name="local_element_type"> - <xsd:sequence> - <xsd:element name="local_element"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - - - - <!-- Anonymous type via local attribute. --> - <xsd:complexType name="local_attribute_type"> - <xsd:attribute name="local_attribute"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:attribute> - </xsd:complexType> - -<!-- - - Various weird anonymous type combinations (some of them are fruits of a - really sick imagination). - ---> - - <xsd:element name="tasks"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:periodicTask"/> - <xsd:element ref="test:braindamageTask"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="periodicTask"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:tasks"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="braindamageTask"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:tasks"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - <xsd:complexType name="PropertySeq"> - <xsd:sequence> - <xsd:element name="propery"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element name="value"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="typecode"> - <xsd:simpleType> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="string"/> - <xsd:enumeration value="integer"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:element> - <xsd:element name="content" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - - - <xsd:element name="periods"> - <xsd:complexType> - <xsd:sequence> - <xsd:element name="period" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - - <xsd:element name="typecode"> - <xsd:simpleType> - <xsd:restriction base="xsd:NCName"> - <xsd:enumeration value="string"/> - <xsd:enumeration value="integer"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:element> - - -</xsd:schema> diff --git a/xsd/tests/schema/any-attribute/test.xsd b/xsd/tests/schema/any-attribute/test.xsd deleted file mode 100644 index 55419c4..0000000 --- a/xsd/tests/schema/any-attribute/test.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - - <xsd:complexType name="type"> - <xsd:attribute name="a" type="xsd:string"/> - <xsd:anyAttribute namespace="##other" processContents="skip"/> - <xsd:attributeGroup ref="test:agroup"/> - </xsd:complexType> - - <xsd:attributeGroup name="agroup"> - <xsd:attribute name="b" type="xsd:string"/> - <xsd:anyAttribute namespace="##any" processContents="skip"/> - </xsd:attributeGroup> - - <xsd:element name="root" type="test:type"/> - -</xsd:schema> diff --git a/xsd/tests/schema/any-type/test.xsd b/xsd/tests/schema/any-type/test.xsd deleted file mode 100644 index 9e3ff79..0000000 --- a/xsd/tests/schema/any-type/test.xsd +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name"/> <!-- type="anyType" --> - <xsd:element name="name2" type="xsd:anyType" minOccurs="0"/> - <xsd:element name="name3" type="xsd:anyType" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id"/> <!-- type="anySimpleType" --> - <xsd:attribute name="id2" type="xsd:anySimpleType" use="required"/> - </xsd:complexType> - - <xsd:element name="person" type="test:person"/> - - <xsd:element name="name"/> <!-- type="anyType" --> - -</xsd:schema> diff --git a/xsd/tests/schema/any/fail.xsd b/xsd/tests/schema/any/fail.xsd deleted file mode 100644 index 2eb9513..0000000 --- a/xsd/tests/schema/any/fail.xsd +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:element name="foo" type="xsd:string"/> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:element ref="test:foo"/> - <xsd:any namespace="##any" processContents="strict"/> - <xsd:any namespace="http://www.codesynthesis.com/xmlns/test" processContents="strict"/> - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/any/test.xsd b/xsd/tests/schema/any/test.xsd deleted file mode 100644 index ff896fd..0000000 --- a/xsd/tests/schema/any/test.xsd +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:complexType name="person"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - <xsd:any namespace="##other" processContents="strict" maxOccurs="unbounded"/> - </xsd:sequence> - <xsd:attribute name="id" type="xsd:ID"/> - <xsd:anyAttribute namespace="##other" processContents="strict"/> - </xsd:complexType> - - <xsd:element name="person" type="test:person"/> - -</xsd:schema> diff --git a/xsd/tests/schema/attribute-group/global.xsd b/xsd/tests/schema/attribute-group/global.xsd deleted file mode 100644 index 6ee0539..0000000 --- a/xsd/tests/schema/attribute-group/global.xsd +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Simple case. --> - - <xsd:attributeGroup name="gfoo_1"> - <xsd:attribute name="foo_1_1" type="xsd:string"/> - <xsd:attribute name="foo_1_2" type="xsd:string"/> - </xsd:attributeGroup> - - <xsd:attributeGroup name="gfoo_2"> - <xsd:attributeGroup ref="gfoo_1"/> - <xsd:attribute name="foo_2_1" type="xsd:string"/> - <xsd:attribute name="foo_2_2" type="xsd:string"/> - </xsd:attributeGroup> - - <xsd:complexType name="Foo"> - <xsd:attributeGroup ref="gfoo_2"/> - </xsd:complexType> - - - - <!-- Forward reference. --> - - <xsd:attributeGroup name="gbar_3"> - <xsd:attribute name="bar_3_1" type="xsd:string"/> - <xsd:attribute name="bar_3_2" type="xsd:string"/> - <xsd:attributeGroup ref="gbar_1"/> - </xsd:attributeGroup> - - <xsd:complexType name="Bar"> - <xsd:attributeGroup ref="gbar_2"/> - </xsd:complexType> - - <xsd:attributeGroup name="gbar_2"> - <xsd:attributeGroup ref="gbar_3"/> - <xsd:attribute name="bar_2_1" type="xsd:string"/> - <xsd:attribute name="bar_2_2" type="xsd:string"/> - </xsd:attributeGroup> - - <xsd:attributeGroup name="gbar_1"> - <xsd:attribute name="bar_1_1" type="xsd:string"/> - <xsd:attribute name="bar_1_2" type="xsd:string"/> - </xsd:attributeGroup> - -</xsd:schema> diff --git a/xsd/tests/schema/attribute/global.xsd b/xsd/tests/schema/attribute/global.xsd deleted file mode 100644 index e2dcc93..0000000 --- a/xsd/tests/schema/attribute/global.xsd +++ /dev/null @@ -1,21 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Typed with named type. --> - - <xsd:attribute name="foo" type="xsd:string"/> - - - <!-- Typed with anonymous type. --> - - <xsd:attribute name="bar"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:attribute> - -</xsd:schema> diff --git a/xsd/tests/schema/attribute/local.xsd b/xsd/tests/schema/attribute/local.xsd deleted file mode 100644 index 7a7a480..0000000 --- a/xsd/tests/schema/attribute/local.xsd +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - - <!-- Typed with named type. --> - - <xsd:complexType name="Foo"> - <xsd:attribute name="foo" type="xsd:string"/> - </xsd:complexType> - - - <!-- Forward reference to a yet undeclared type. --> - - <xsd:complexType name="Bar"> - <xsd:attribute name="bar" type="Bar2"/> - </xsd:complexType> - - <xsd:simpleType name="Bar2"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - - <!-- Typed with anonymous type. --> - - <xsd:complexType name="Baz"> - <xsd:attribute name="baz"> - <xsd:simpleType> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - </xsd:attribute> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/attribute/ref.xsd b/xsd/tests/schema/attribute/ref.xsd deleted file mode 100644 index f6c3c10..0000000 --- a/xsd/tests/schema/attribute/ref.xsd +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - - <!-- Easy case. --> - - <xsd:attribute name="foo" type="xsd:string"/> - - <xsd:complexType name="Foo"> - <xsd:attribute ref="foo"/> - </xsd:complexType> - - - - <!-- Forward reference to a yet undeclared attribute. --> - - <xsd:complexType name="Bar"> - <xsd:attribute ref="bar"/> - </xsd:complexType> - - <xsd:attribute name="bar" type="xsd:string"/> - - - - <!-- Reference to an attribute with a forward reference to a yet - undeclared type. --> - - <xsd:attribute name="baz" type="Baz2"/> - - <xsd:complexType name="Baz"> - <xsd:attribute ref="baz"/> - </xsd:complexType> - - <xsd:simpleType name="Baz2"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/cardinality/test.xsd b/xsd/tests/schema/cardinality/test.xsd deleted file mode 100644 index b27f923..0000000 --- a/xsd/tests/schema/cardinality/test.xsd +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- - This test tries to cover various cardinality cases with - built-in and user-defined types. - --> - - <xsd:complexType name="Foo"> - <xsd:sequence> - <xsd:element name="foo" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Bar"> - <xsd:sequence> - - <xsd:element name="one-int" type="xsd:int"/> - <xsd:element name="opt-int" type="xsd:int" minOccurs="0"/> - <xsd:element name="seq-int" type="xsd:int" maxOccurs="unbounded"/> - - <xsd:element name="one-string" type="xsd:string"/> - <xsd:element name="opt-string" type="xsd:string" minOccurs="0"/> - <xsd:element name="seq-string" type="xsd:string" maxOccurs="unbounded"/> - - <xsd:element name="one-foo" type="test:Foo"/> - <xsd:element name="opt-foo" type="test:Foo" minOccurs="0"/> - <xsd:element name="seq-foo" type="test:Foo" maxOccurs="unbounded"/> - - </xsd:sequence> - - <xsd:attribute name="one-int-a" type="xsd:int" use="required"/> - <xsd:attribute name="opt-int-a" type="xsd:int"/> - - <xsd:attribute name="one-string-a" type="xsd:string" use="required"/> - <xsd:attribute name="opt-string-a" type="xsd:string"/> - - </xsd:complexType> - - <xsd:element name="bar" type="test:Bar"/> - -</xsd:schema> diff --git a/xsd/tests/schema/chameleon/includer.xsd b/xsd/tests/schema/chameleon/includer.xsd deleted file mode 100644 index c93ea18..0000000 --- a/xsd/tests/schema/chameleon/includer.xsd +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="schemas/includee.xsd"/> - - <xsd:simpleType name="derived"> - <xsd:restriction base="Test:base"/> - </xsd:simpleType> - - <xsd:element name="element" type="Test:base"/> - <xsd:attribute name="attribute" type="Test:base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/chameleon/schemas/includee.xsd b/xsd/tests/schema/chameleon/schemas/includee.xsd deleted file mode 100644 index d89b9c4..0000000 --- a/xsd/tests/schema/chameleon/schemas/includee.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd"> - - <xsd:simpleType name="base"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <xsd:element name="base_e" type="base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/enumeration/test.xsd b/xsd/tests/schema/enumeration/test.xsd deleted file mode 100644 index b8253d9..0000000 --- a/xsd/tests/schema/enumeration/test.xsd +++ /dev/null @@ -1,89 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- string-based --> - - <xsd:simpleType name="StringEnum"> - <xsd:restriction base="xsd:string"> - <xsd:enumeration value="one"/> - <xsd:enumeration value="two"/> - <xsd:enumeration value="three"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="StringSimple"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <!-- inheritance of a enum from a simple type --> - <xsd:simpleType name="StringSimpleRestriction"> - <xsd:restriction base="test:StringSimple"> - <xsd:enumeration value="one"/> - <xsd:enumeration value="two"/> - </xsd:restriction> - </xsd:simpleType> - - <!-- inheritance of a enum from a strig-based enum --> - <xsd:simpleType name="StringEnumRestriction"> - <xsd:restriction base="test:StringEnum"> - <xsd:enumeration value="one"/> - <xsd:enumeration value="two"/> - </xsd:restriction> - </xsd:simpleType> - - <!-- inheritance of a complex type from a string-based enum --> - <xsd:complexType name="StringComplex"> - <xsd:simpleContent> - <xsd:extension base="test:StringEnumRestriction"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - - - <!-- non string-based --> - - <xsd:simpleType name="IntEnum"> - <xsd:restriction base="xsd:int"> - <xsd:enumeration value="1"/> - <xsd:enumeration value="2"/> - <xsd:enumeration value="3"/> - </xsd:restriction> - </xsd:simpleType> - - <xsd:simpleType name="IntSimple"> - <xsd:restriction base="xsd:int"/> - </xsd:simpleType> - - <!-- inheritance of a enum from a simple type --> - <xsd:simpleType name="IntSimpleRestriction"> - <xsd:restriction base="test:IntSimple"> - <xsd:enumeration value="1"/> - <xsd:enumeration value="2"/> - </xsd:restriction> - </xsd:simpleType> - - <!-- inheritance of a enum from a enum --> - <xsd:simpleType name="IntEnumRestriction"> - <xsd:restriction base="test:IntEnum"> - <xsd:enumeration value="1"/> - <xsd:enumeration value="2"/> - </xsd:restriction> - </xsd:simpleType> - - <!-- inheritance of a complex type from a enum --> - <xsd:complexType name="IntComplex"> - <xsd:simpleContent> - <xsd:extension base="test:IntEnumRestriction"> - <xsd:attribute name="lang" type="xsd:language"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - -</xsd:schema> diff --git a/xsd/tests/schema/forward/test.xsd b/xsd/tests/schema/forward/test.xsd deleted file mode 100644 index c7cc24e..0000000 --- a/xsd/tests/schema/forward/test.xsd +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - -<!-- - - Various weird forward reference combinations. - ---> - - <!-- case 1 --> - - <xsd:complexType name="Type1A"> - <xsd:complexContent> - <xsd:extension base="test:Type1B"> - <xsd:sequence> - <xsd:element name="bar" type="xsd:string"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="Type1B"> - <xsd:sequence> - <xsd:element name="foo" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/group/global.xsd b/xsd/tests/schema/group/global.xsd deleted file mode 100644 index 27ccadf..0000000 --- a/xsd/tests/schema/group/global.xsd +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Simple case. --> - - <xsd:group name="gfoo"> - <xsd:sequence> - <xsd:element name="foo_1" type="xsd:string"/> - <xsd:element name="foo_2" type="xsd:string"/> - </xsd:sequence> - </xsd:group> - - - <xsd:complexType name="Foo"> - <xsd:group ref="gfoo"/> - </xsd:complexType> - - - - <!-- Forward reference. --> - - <xsd:complexType name="Bar"> - <xsd:group ref="gbar"/> - </xsd:complexType> - - <xsd:group name="gbar"> - <xsd:choice> - <xsd:element name="bar_1" type="xsd:string"/> - <xsd:element ref="bar_2"/> - </xsd:choice> - </xsd:group> - - <xsd:element name="bar_2" type="xsd:string"/> - -</xsd:schema> diff --git a/xsd/tests/schema/group/test.xsd b/xsd/tests/schema/group/test.xsd deleted file mode 100644 index 7527cbb..0000000 --- a/xsd/tests/schema/group/test.xsd +++ /dev/null @@ -1,148 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- - - Various weird group combinations. - - --> - - <!-- case 1 --> - - <xsd:group name="g1"> - <xsd:sequence> - <xsd:element name="e1" type="xsd:string"/> - <xsd:element name="e2" type="xsd:long"/> - </xsd:sequence> - </xsd:group> - - <xsd:complexType name="Type1"> - <xsd:sequence> - <xsd:group ref="test:g1"/> - </xsd:sequence> - </xsd:complexType> - - <!-- case 2 --> - - <xsd:group name="g2"> - <xsd:sequence> - <xsd:element ref="test:g2e1"/> - </xsd:sequence> - </xsd:group> - - <xsd:complexType name="TypeTwo"> - <xsd:sequence> - <xsd:group ref="test:g2"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="g2e1" type="xsd:string"/> - - <!-- case 3 --> - - <xsd:complexType name="Type3"> - <xsd:sequence> - <xsd:group ref="test:g3"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:group name="g3"> - <xsd:sequence> - <xsd:element ref="test:g3e1"/> - </xsd:sequence> - </xsd:group> - - <xsd:element name="g3e1" type="xsd:string"/> - - <!-- case 4 --> - - <xsd:complexType name="Type4A"> - <xsd:sequence> - <xsd:group ref="test:g4" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Type4B"> - <xsd:sequence minOccurs="0"> - <xsd:group ref="test:g4"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:group name="g4"> - <xsd:sequence> - <xsd:element name="e1" type="xsd:string"/> - <xsd:element name="e2" type="xsd:long" maxOccurs="unbounded"/> - </xsd:sequence> - </xsd:group> - - <xsd:complexType name="Type4C"> - <xsd:sequence> - <xsd:group ref="test:g4" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - <!-- case 5 --> - - <xsd:group name="g5-1"> - <xsd:choice> - <xsd:group ref="test:g5-2"/> - <xsd:element name="e1" type="xsd:string"/> - </xsd:choice> - </xsd:group> - - <xsd:group name="g5-2"> - <xsd:choice> - <xsd:group ref="test:g5-3"/> - <xsd:element name="e2" type="xsd:string"/> - </xsd:choice> - </xsd:group> - - <xsd:group name="g5-3"> - <xsd:choice> - <xsd:element name="e3" type="xsd:long"/> - </xsd:choice> - </xsd:group> - - <xsd:complexType name="Type5"> - <xsd:choice> - <xsd:group ref="test:g5-1"/> - </xsd:choice> - </xsd:complexType> - - <!-- case 6 --> - - <xsd:group name="g6-3"> - <xsd:choice> - <xsd:group ref="test:g6-1"/> - <xsd:element name="e_3_1" type="xsd:string"/> - <xsd:element name="e_3_2" type="xsd:string"/> - </xsd:choice> - </xsd:group> - - <xsd:complexType name="Type6"> - <xsd:choice> - <xsd:group ref="test:g6-2"/> - </xsd:choice> - </xsd:complexType> - - <xsd:group name="g6-2"> - <xsd:choice> - <xsd:group ref="test:g6-3"/> - <xsd:element name="e_2_1" type="xsd:string"/> - <xsd:element name="e_2_2" type="xsd:string"/> - </xsd:choice> - </xsd:group> - - <xsd:group name="g6-1"> - <xsd:choice> - <xsd:element name="e_1_1" type="xsd:string"/> - <xsd:element name="e_1_2" type="xsd:string"/> - </xsd:choice> - </xsd:group> - -</xsd:schema> diff --git a/xsd/tests/schema/import/importer.xsd b/xsd/tests/schema/import/importer.xsd deleted file mode 100644 index 82fc33c..0000000 --- a/xsd/tests/schema/import/importer.xsd +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Test="http://www.codesynthesis.com/xmlns/test" - xmlns:Impl="http://www.codesynthesis.com/xmlns/test/impl" - targetNamespace="http://www.codesynthesis.com/xmlns/test/impl"> - - <!-- <xsd::element name="foo" type="xsd:string"/> --> - - <xsd:import namespace="http://www.codesynthesis.com/xmlns/test" schemaLocation="schemas/importee.xsd"/> - - <xsd:simpleType name="derived"> - <xsd:restriction base="Test:base"/> - </xsd:simpleType> - - <xsd:element name="element" type="Test:base"/> - <xsd:attribute name="attribute" type="Test:base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/import/schemas/importee.xsd b/xsd/tests/schema/import/schemas/importee.xsd deleted file mode 100644 index 9b03315..0000000 --- a/xsd/tests/schema/import/schemas/importee.xsd +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - - <xsd:simpleType name="base"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <xsd:element name="base_e" type="test:base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/include/includer.xsd b/xsd/tests/schema/include/includer.xsd deleted file mode 100644 index c93ea18..0000000 --- a/xsd/tests/schema/include/includer.xsd +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:Test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="schemas/includee.xsd"/> - - <xsd:simpleType name="derived"> - <xsd:restriction base="Test:base"/> - </xsd:simpleType> - - <xsd:element name="element" type="Test:base"/> - <xsd:attribute name="attribute" type="Test:base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/include/schemas/includee.xsd b/xsd/tests/schema/include/schemas/includee.xsd deleted file mode 100644 index 0a928f5..0000000 --- a/xsd/tests/schema/include/schemas/includee.xsd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="base"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - - <xsd:element name="base_e" type="test:base"/> - -</xsd:schema> diff --git a/xsd/tests/schema/inheritance/cycle.xsd b/xsd/tests/schema/inheritance/cycle.xsd deleted file mode 100644 index c705311..0000000 --- a/xsd/tests/schema/inheritance/cycle.xsd +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:complexType name="Base"> - <xsd:sequence> - <xsd:element name="e1"> - <xsd:complexType> - <xsd:complexContent> - <xsd:extension base="test:Derived"> - <xsd:sequence> - <xsd:element name="e2" type="xsd:int"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - - <xsd:complexType name="Derived"> - <xsd:complexContent> - <xsd:extension base="test:Base"> - <xsd:sequence> - <xsd:element name="e3" type="xsd:int"/> - </xsd:sequence> - </xsd:extension> - </xsd:complexContent> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/inheritance/sourced-forward/includee.xsd b/xsd/tests/schema/inheritance/sourced-forward/includee.xsd deleted file mode 100644 index 531027d..0000000 --- a/xsd/tests/schema/inheritance/sourced-forward/includee.xsd +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd"> - - <xsd:simpleType name="Derived"> - <xsd:restriction base="Base"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/inheritance/sourced-forward/includer.xsd b/xsd/tests/schema/inheritance/sourced-forward/includer.xsd deleted file mode 100644 index 7d18efc..0000000 --- a/xsd/tests/schema/inheritance/sourced-forward/includer.xsd +++ /dev/null @@ -1,14 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:include schemaLocation="includee.xsd"/> - - <xsd:simpleType name="Base"> - <xsd:restriction base="xsd:string"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/list/anonymous/test.xsd b/xsd/tests/schema/list/anonymous/test.xsd deleted file mode 100644 index 7db39ba..0000000 --- a/xsd/tests/schema/list/anonymous/test.xsd +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="IntList"> - <xsd:list> - <xsd:simpleType> - <xsd:restriction base="xsd:int"/> - </xsd:simpleType> - </xsd:list> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/list/any-simple-type/test.xsd b/xsd/tests/schema/list/any-simple-type/test.xsd deleted file mode 100644 index 29fe95c..0000000 --- a/xsd/tests/schema/list/any-simple-type/test.xsd +++ /dev/null @@ -1,12 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="any"> - <xsd:list itemType="xsd:anySimpleType"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/list/driver.cxx b/xsd/tests/schema/list/driver.cxx deleted file mode 100644 index 7bd46e9..0000000 --- a/xsd/tests/schema/list/driver.cxx +++ /dev/null @@ -1,13 +0,0 @@ -#include "test.hxx" - -typedef xmlns::test::IntList<void, int> IntListImpl; -typedef xmlns::test::IntList<void, void> IntListVoidImpl; -typedef xmlns::test::IntComplex<void, int, char*> IntComplexImpl; - -int -main () -{ - IntListImpl int_list_impl; - IntListVoidImpl int_list_void_impl; - IntComplexImpl int_complex_impl; -} diff --git a/xsd/tests/schema/list/test.xsd b/xsd/tests/schema/list/test.xsd deleted file mode 100644 index e16a58d..0000000 --- a/xsd/tests/schema/list/test.xsd +++ /dev/null @@ -1,72 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="IntList"> - <xsd:list itemType="xsd:int"/> - </xsd:simpleType> - - <!-- local element with anonymous list inside. --> - - <xsd:complexType name="Foo"> - <xsd:sequence> - <xsd:element name="string-list"> - <xsd:simpleType> - <xsd:list itemType="xsd:string"/> - </xsd:simpleType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - - - <!-- global element with anonymous list inside. --> - - <xsd:element name="string-list"> - <xsd:simpleType> - <xsd:list itemType="xsd:string"/> - </xsd:simpleType> - </xsd:element> - - - - <!-- global element and global list with conflicting names --> - - <xsd:simpleType name="long-list"> - <xsd:list itemType="xsd:long"/> - </xsd:simpleType> - - <xsd:element name="long-list" type="test:long-list"/> - - - <!-- forward reference --> - - <xsd:simpleType name="int-list"> - <xsd:list itemType="test:int"/> - </xsd:simpleType> - - <xsd:simpleType name="int"> - <xsd:restriction base="xsd:int"/> - </xsd:simpleType> - - - <!-- inheritance from list --> - - <xsd:complexType name="IntComplex"> - <xsd:simpleContent> - <xsd:extension base="test:IntList"> - <xsd:attribute name="foo" type="xsd:string"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="IntComplexEmpty"> - <xsd:simpleContent> - <xsd:extension base="test:IntList"> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/no-namespace/test.xsd b/xsd/tests/schema/no-namespace/test.xsd deleted file mode 100644 index b426e8a..0000000 --- a/xsd/tests/schema/no-namespace/test.xsd +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd"> - - - <xsd:complexType name="Test"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - </xsd:complexType> - - <xsd:element name="test" type="Test"/> - -</xsd:schema> diff --git a/xsd/tests/schema/recursive/test.xsd b/xsd/tests/schema/recursive/test.xsd deleted file mode 100644 index 6efc7d2..0000000 --- a/xsd/tests/schema/recursive/test.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:element name="BooleanExpression"> - <xsd:complexType> - <xsd:choice> - <xsd:element name="literal" type="xsd:boolean"/> - <xsd:element ref="test:AND"/> - <xsd:element ref="test:OR"/> - <xsd:element ref="test:XOR"/> - </xsd:choice> - </xsd:complexType> - </xsd:element> - - <xsd:element name="AND"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:BooleanExpression" maxOccurs="2"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="OR"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:BooleanExpression" maxOccurs="2"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - - <xsd:element name="XOR"> - <xsd:complexType> - <xsd:sequence> - <xsd:element ref="test:BooleanExpression" maxOccurs="2"/> - </xsd:sequence> - </xsd:complexType> - </xsd:element> - -</xsd:schema> diff --git a/xsd/tests/schema/ref-type/idref.xsd b/xsd/tests/schema/ref-type/idref.xsd deleted file mode 100644 index 49ebe40..0000000 --- a/xsd/tests/schema/ref-type/idref.xsd +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- attribute --> - - <xsd:attribute name="attribute" type="xsd:IDREF" xse:refType="test:a-author"/> - - <xsd:complexType name="a-author"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="recommends" type="xsd:IDREF" xse:refType="test:a-author"/> - </xsd:complexType> - - - <!-- element --> - - <xsd:element name="element" type="xsd:IDREF" xse:refType="test:e-author"/> - - <xsd:complexType name="e-author"> - <xsd:sequence> - <xsd:element name="recommends" type="xsd:IDREF" xse:refType="test:e-author"/> - </xsd:sequence> - </xsd:complexType> - - <!-- base --> - - <xsd:simpleType name="author-ref"> - <xsd:restriction base="xsd:IDREF" xse:refType="test:e-author"/> - </xsd:simpleType> - - - <!-- itemType --> - - <xsd:simpleType name="author-refs"> - <xsd:list itemType="xsd:IDREF" xse:refType="test:e-author"/> - </xsd:simpleType> - -</xsd:schema> diff --git a/xsd/tests/schema/ref-type/idrefs.xsd b/xsd/tests/schema/ref-type/idrefs.xsd deleted file mode 100644 index b68ed03..0000000 --- a/xsd/tests/schema/ref-type/idrefs.xsd +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- attribute --> - - <xsd:attribute name="attribute" type="xsd:IDREFS" xse:refType="test:a-author"/> - - <xsd:complexType name="a-author"> - <xsd:sequence> - <xsd:element name="name" type="xsd:string"/> - </xsd:sequence> - <xsd:attribute name="recommends" type="xsd:IDREFS" xse:refType="test:a-author"/> - </xsd:complexType> - - - <!-- element --> - - <xsd:element name="element" type="xsd:IDREFS" xse:refType="test:e-author"/> - - <xsd:complexType name="e-author"> - <xsd:sequence> - <xsd:element name="recommends" type="xsd:IDREFS" xse:refType="test:e-author"/> - </xsd:sequence> - </xsd:complexType> - - <!-- base --> - - <xsd:simpleType name="author-refs"> - <xsd:restriction base="xsd:IDREFS" xse:refType="test:e-author"/> - </xsd:simpleType> - - - <!-- itemType - illegal --> - <!-- - <xsd:simpleType name="author-refss"> - <xsd:list itemType="xsd:IDREFS" xse:refType="test:e-author"/> - </xsd:simpleType> - --> - -</xsd:schema> diff --git a/xsd/tests/schema/ref-type/invalid-0.xsd b/xsd/tests/schema/ref-type/invalid-0.xsd deleted file mode 100644 index 7ce82ed..0000000 --- a/xsd/tests/schema/ref-type/invalid-0.xsd +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - xmlns:phony="http://www.codesynthesis.com/xmlns/phony" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- unresolvable namespace prefix --> - - <xsd:attribute name="attribute1" type="xsd:IDREF" xse:refType="author"/> - <xsd:attribute name="attribute2" type="xsd:IDREF" xse:refType="t:author"/> - - <!-- unresolvable namespace --> - - <xsd:attribute name="attribute3" type="xsd:IDREF" xse:refType="phony:author"/> - -</xsd:schema> diff --git a/xsd/tests/schema/ref-type/invalid-1.xsd b/xsd/tests/schema/ref-type/invalid-1.xsd deleted file mode 100644 index d989065..0000000 --- a/xsd/tests/schema/ref-type/invalid-1.xsd +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0"?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xse="http://www.codesynthesis.com/xmlns/xml-schema-extension" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- unresolvable type --> - - <xsd:attribute name="attribute" type="xsd:IDREF" xse:refType="test:author"/> - -</xsd:schema> diff --git a/xsd/tests/schema/restriction/test.xsd b/xsd/tests/schema/restriction/test.xsd deleted file mode 100644 index 331ba78..0000000 --- a/xsd/tests/schema/restriction/test.xsd +++ /dev/null @@ -1,67 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <!-- Simple content. --> - - <xsd:complexType name="SimpleBase"> - <xsd:simpleContent> - <xsd:extension base="xsd:string"> - <xsd:attribute name="lang" type="xsd:language"/> - <xsd:attribute name="note" type="xsd:string"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - - <xsd:complexType name="SimpleType"> - <xsd:simpleContent> - <xsd:restriction base="test:SimpleBase"> - <xsd:maxLength value="255"/> - <xsd:attribute name="lang"> - <xsd:simpleType> - <xsd:restriction base="xsd:language"> - <xsd:enumeration value="en"/> - <xsd:enumeration value="es"/> - </xsd:restriction> - </xsd:simpleType> - </xsd:attribute> - </xsd:restriction> - </xsd:simpleContent> - </xsd:complexType> - - <!-- Complex content. --> - - <xsd:complexType name="ComplexBase"> - <xsd:sequence> - <xsd:element name="lang" type="xsd:language"/> - <xsd:element name="note" type="xsd:string" minOccurs="0"/> - </xsd:sequence> - </xsd:complexType> - - - <xsd:complexType name="ComplexType"> - <xsd:complexContent> - <xsd:restriction base="test:ComplexBase"> - <xsd:sequence> - <xsd:element name="lang" type="xsd:language"/> - <xsd:element name="note" type="xsd:string"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - - <xsd:complexType name="AnyType"> - <xsd:complexContent> - <xsd:restriction base="xsd:anyType"> - <xsd:sequence> - <xsd:element name="lang" type="xsd:language"/> - <xsd:element name="note" type="xsd:string"/> - </xsd:sequence> - </xsd:restriction> - </xsd:complexContent> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/tests/schema/union/test.xsd b/xsd/tests/schema/union/test.xsd deleted file mode 100644 index 706f6f2..0000000 --- a/xsd/tests/schema/union/test.xsd +++ /dev/null @@ -1,65 +0,0 @@ -<?xml version="1.0" ?> -<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://www.w3.org/2001/XMLSchema XMLSchema.xsd" - xmlns:test="http://www.codesynthesis.com/xmlns/test" - targetNamespace="http://www.codesynthesis.com/xmlns/test"> - - <xsd:simpleType name="IntUnion"> - <xsd:union memberTypes="xsd:int xsd:string"/> - </xsd:simpleType> - - <!-- local element with anonymous union inside. --> - - <xsd:complexType name="Foo"> - <xsd:sequence> - <xsd:element name="string-union"> - <xsd:simpleType> - <xsd:union memberTypes="xsd:int xsd:string"/> - </xsd:simpleType> - </xsd:element> - </xsd:sequence> - </xsd:complexType> - - - <!-- global element with anonymous union inside. --> - - <xsd:element name="string-union"> - <xsd:simpleType> - <xsd:union memberTypes="xsd:int xsd:string"/> - </xsd:simpleType> - </xsd:element> - - - - <!-- global element and global union with conflicting names --> - - <xsd:simpleType name="long-union"> - <xsd:union memberTypes="xsd:long xsd:string"/> - </xsd:simpleType> - - <xsd:element name="long-union" type="test:long-union"/> - - - <!-- forward reference --> - - <xsd:simpleType name="int-union"> - <xsd:union memberTypes="test:int xsd:string"/> - </xsd:simpleType> - - <xsd:simpleType name="int"> - <xsd:restriction base="xsd:int"/> - </xsd:simpleType> - - - <!-- inheritance from union --> - - <xsd:complexType name="IntComplex"> - <xsd:simpleContent> - <xsd:extension base="test:IntUnion"> - <xsd:attribute name="foo" type="xsd:string"/> - </xsd:extension> - </xsd:simpleContent> - </xsd:complexType> - -</xsd:schema> diff --git a/xsd/xsd/type-map/lexer.cxx b/xsd/type-map/lexer.cxx index fe7ecfc..ae318d1 100644 --- a/xsd/xsd/type-map/lexer.cxx +++ b/xsd/type-map/lexer.cxx @@ -1,10 +1,9 @@ // file : xsd/type-map/lexer.cxx -// copyright : Copyright (c) 2007-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <iostream> -#include <type-map/lexer.hxx> +#include <xsd/type-map/lexer.hxx> using std::wcerr; using std::endl; diff --git a/xsd/xsd/type-map/lexer.hxx b/xsd/type-map/lexer.hxx index 0d3af42..a0e1e44 100644 --- a/xsd/xsd/type-map/lexer.hxx +++ b/xsd/type-map/lexer.hxx @@ -1,5 +1,4 @@ // file : xsd/type-map/lexer.hxx -// copyright : Copyright (c) 2007-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef XSD_TYPE_MAP_LEXER_HXX @@ -8,7 +7,7 @@ #include <locale> #include <iosfwd> -#include <types.hxx> +#include <xsd/types.hxx> namespace TypeMap { diff --git a/xsd/xsd/type-map/parser.cxx b/xsd/type-map/parser.cxx index e391cf7..f11fac3 100644 --- a/xsd/xsd/type-map/parser.cxx +++ b/xsd/type-map/parser.cxx @@ -1,12 +1,11 @@ // file : xsd/type-map/parser.cxx -// copyright : Copyright (c) 2007-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <iostream> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <type-map/parser.hxx> +#include <xsd/type-map/parser.hxx> using std::endl; diff --git a/xsd/xsd/type-map/parser.hxx b/xsd/type-map/parser.hxx index c91bb12..ec9ea49 100644 --- a/xsd/xsd/type-map/parser.hxx +++ b/xsd/type-map/parser.hxx @@ -1,14 +1,13 @@ // file : xsd/type-map/parser.hxx -// copyright : Copyright (c) 2007-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #ifndef XSD_TYPE_MAP_PARSER_HXX #define XSD_TYPE_MAP_PARSER_HXX -#include <types.hxx> +#include <xsd/types.hxx> -#include <type-map/type-map.hxx> -#include <type-map/lexer.hxx> +#include <xsd/type-map/type-map.hxx> +#include <xsd/type-map/lexer.hxx> namespace TypeMap { diff --git a/xsd/xsd/type-map/type-map.hxx b/xsd/type-map/type-map.hxx index cdb8a0c..dd2ec2c 100644 --- a/xsd/xsd/type-map/type-map.hxx +++ b/xsd/type-map/type-map.hxx @@ -1,15 +1,14 @@ // file : xsd/type-map/type-map.hxx -// copyright : Copyright (c) 2007-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef XSD_TYPE_MAP_TYPE_MAP_HXX -#define XSD_TYPE_MAP_TYPE_MAP_HXX +#ifndef XSD_XSD_TYPE_MAP_TYPE_MAP_HXX +#define XSD_XSD_TYPE_MAP_TYPE_MAP_HXX #include <vector> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <types.hxx> +#include <xsd/types.hxx> namespace TypeMap { @@ -176,4 +175,4 @@ namespace TypeMap typedef std::vector<Namespace> Namespaces; } -#endif // XSD_TYPE_MAP_TYPE_MAP_HXX +#endif // XSD_XSD_TYPE_MAP_TYPE_MAP_HXX diff --git a/xsd/xsd/types.hxx b/xsd/types.hxx index 6850b42..b3306dd 100644 --- a/xsd/xsd/types.hxx +++ b/xsd/types.hxx @@ -1,14 +1,13 @@ // file : xsd/types.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef TYPES_HXX -#define TYPES_HXX +#ifndef XSD_TYPES_HXX +#define XSD_TYPES_HXX #include <vector> #include <cstddef> // std::size_t -#include <xsd-frontend/types.hxx> +#include <libxsd-frontend/types.hxx> using std::size_t; @@ -17,4 +16,4 @@ using XSDFrontend::NarrowString; typedef std::vector<NarrowString> NarrowStrings; -#endif // TYPES_HXX +#endif // XSD_TYPES_HXX diff --git a/xsd/version b/xsd/version deleted file mode 100644 index fcdb2e1..0000000 --- a/xsd/version +++ /dev/null @@ -1 +0,0 @@ -4.0.0 diff --git a/xsd/version.hxx.in b/xsd/version.hxx.in new file mode 100644 index 0000000..9bfd8a8 --- /dev/null +++ b/xsd/version.hxx.in @@ -0,0 +1,55 @@ +// file : xsd/version.hxx.in +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +#ifndef XSD_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 XSD_VERSION $xsd.version.project_number$ULL +#define XSD_VERSION_STR "$xsd.version.project$" +#define XSD_VERSION_ID "$xsd.version.project_id$" +#define XSD_VERSION_FULL "$xsd.version$" + +#define XSD_VERSION_MAJOR $xsd.version.major$ +#define XSD_VERSION_MINOR $xsd.version.minor$ +#define XSD_VERSION_PATCH $xsd.version.patch$ + +#define XSD_PRE_RELEASE $xsd.version.pre_release$ + +#define XSD_SNAPSHOT $xsd.version.snapshot_sn$ULL +#define XSD_SNAPSHOT_ID "$xsd.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)$ + +#include <libxsd-frontend/version.hxx> + +$libxsd_frontend.check(LIBXSD_FRONTEND_VERSION, LIBXSD_FRONTEND_SNAPSHOT)$ + +#endif // XSD_VERSION diff --git a/xsd/xsd/xsd.cxx b/xsd/xsd.cxx index f333d76..d2b0faf 100644 --- a/xsd/xsd/xsd.cxx +++ b/xsd/xsd.cxx @@ -1,39 +1,38 @@ // file : xsd/xsd.cxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file #include <map> #include <vector> -#include <memory> // std::auto_ptr +#include <memory> // std::unique_ptr #include <cstddef> // std::size_t #include <iostream> #include <fstream> #include <xercesc/util/PlatformUtils.hpp> -#include <cutl/re.hxx> +#include <libcutl/re.hxx> -#include <xsd-frontend/parser.hxx> -#include <xsd-frontend/transformations/anonymous.hxx> -#include <xsd-frontend/transformations/enum-synthesis.cxx> -#include <xsd-frontend/transformations/restriction.hxx> -#include <xsd-frontend/transformations/schema-per-type.hxx> -#include <xsd-frontend/transformations/simplifier.hxx> +#include <libxsd-frontend/parser.hxx> +#include <libxsd-frontend/transformations/anonymous.hxx> +#include <libxsd-frontend/transformations/enum-synthesis.hxx> +#include <libxsd-frontend/transformations/restriction.hxx> +#include <libxsd-frontend/transformations/schema-per-type.hxx> +#include <libxsd-frontend/transformations/simplifier.hxx> -#include <cxx/tree/options.hxx> -#include <cxx/parser/options.hxx> +#include <xsd/version.hxx> -#include <cxx/tree/generator.hxx> -#include <cxx/parser/generator.hxx> +#include <xsd/cxx/tree/options.hxx> +#include <xsd/cxx/parser/options.hxx> -#include <processing/cardinality/processor.hxx> -#include <processing/inheritance/processor.hxx> +#include <xsd/cxx/tree/generator.hxx> +#include <xsd/cxx/parser/generator.hxx> -#include <xsd.hxx> -#include <types.hxx> -#include <options.hxx> +#include <xsd/processing/cardinality/processor.hxx> +#include <xsd/processing/inheritance/processor.hxx> -#include "../libxsd/xsd/cxx/version.hxx" +#include <xsd/xsd.hxx> +#include <xsd/types.hxx> +#include <xsd/options.hxx> namespace SemanticGraph = XSDFrontend::SemanticGraph; namespace Transformations = XSDFrontend::Transformations; @@ -155,6 +154,24 @@ main (int argc, char* argv[]) cli::argv_file_scanner args (argc, argv, "--options-file"); help_options help_ops (args, cli::unknown_mode::stop); + // Handle --build2-metadata (see also buildfile). + // + if (help_ops.build2_metadata_specified ()) + { + wostream& o (wcout); + + // Note that the export.metadata variable should be the first non- + // blank/comment line. + // + o << "# build2 buildfile xsd" << endl + << "export.metadata = 1 xsd" << endl + << "xsd.name = [string] xsd" << endl + << "xsd.version = [string] '" << XSD_VERSION_FULL << '\'' << endl + << "xsd.checksum = [string] '" << XSD_VERSION_FULL << '\'' << endl; + + return 0; + } + NarrowString cmd; if (args.more ()) cmd = args.next (); @@ -164,8 +181,8 @@ main (int argc, char* argv[]) wostream& o (wcout); o << "CodeSynthesis XSD XML Schema to C++ compiler " << - XSD_STR_VERSION << endl - << "Copyright (c) 2005-2014 Code Synthesis Tools CC" << endl; + XSD_VERSION_STR << endl + << "Copyright (c) " << XSD_COPYRIGHT << "." << endl; if (!help_ops.proprietary_license () && cmd == "version") { @@ -179,7 +196,7 @@ main (int argc, char* argv[]) { o << "The compiler was invoked in the Proprietary License mode. You " << "should have\nreceived a proprietary license from Code Synthesis " - << "Tools CC that entitles\nyou to use it in this mode." << endl; + << "that entitles you to\nuse it in this mode." << endl; } else { @@ -270,10 +287,10 @@ main (int argc, char* argv[]) // We need to parse command line options before we can get to // the arguments. // - auto_ptr<CXX::Tree::options> tree_ops ( + unique_ptr<CXX::Tree::options> tree_ops ( cmd == "cxx-tree" ? new CXX::Tree::options (args) : 0); - auto_ptr<CXX::Parser::options> parser_ops ( + unique_ptr<CXX::Parser::options> parser_ops ( cmd == "cxx-parser" ? new CXX::Parser::options (args) : 0); CXX::options& common_ops ( @@ -281,6 +298,14 @@ main (int argc, char* argv[]) ? static_cast<CXX::options&> (*tree_ops) : static_cast<CXX::options&> (*parser_ops)); + // Validate options. + // + if (common_ops.file_list_only () && !common_ops.file_list_specified ()) + { + e << "error: --file-list-only specified without --file-list" << endl; + return 1; + } + // Disabled warnings. // WarningSet disabled_w; @@ -435,7 +460,7 @@ main (int argc, char* argv[]) loc_translator, disabled_w); - auto_ptr<SemanticGraph::Schema> schema; + unique_ptr<SemanticGraph::Schema> schema; if (cmd == "cxx-tree" || cmd == "cxx-parser") { @@ -613,7 +638,7 @@ main (int argc, char* argv[]) loc_translator, disabled_w); - auto_ptr<SemanticGraph::Schema> schema (parser.parse (paths)); + unique_ptr<SemanticGraph::Schema> schema (parser.parse (paths)); // Morph anonymous types. // @@ -753,38 +778,43 @@ main (int argc, char* argv[]) try { OutputFileStream ofs; - SemanticGraph::Path path (fl); + if (fl != "-") + { + SemanticGraph::Path path (fl); - ofs.open (path.string ().c_str (), ios_base::out); + ofs.open (path.string ().c_str (), ios_base::out); - if (!ofs.is_open ()) - { - wcerr << path << ": error: unable to open in write mode" << endl; - return 1; + if (!ofs.is_open ()) + { + wcerr << path << ": error: unable to open in write mode" << endl; + return 1; + } } + std::ostream& os (ofs.is_open () ? ofs : cout); + NarrowString d (common_ops.file_list_delim ()); expand_nl (d); if (NarrowString p = common_ops.file_list_prologue ()) { expand_nl (p); - ofs << p; + os << p; } for (FileList::iterator i (file_list.begin ()), e (file_list.end ()); i != e;) { - ofs << *i; + os << *i; if (++i != e) - ofs << d; + os << d; } if (NarrowString e = common_ops.file_list_epilogue ()) { expand_nl (e); - ofs << e; + os << e; } } catch (SemanticGraph::InvalidPath const&) diff --git a/xsd/xsd/xsd.hxx b/xsd/xsd.hxx index 8b9d6fe..5ce2926 100644 --- a/xsd/xsd/xsd.hxx +++ b/xsd/xsd.hxx @@ -1,20 +1,19 @@ // file : xsd/xsd.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file -#ifndef XSD_HXX -#define XSD_HXX +#ifndef XSD_XSD_HXX +#define XSD_XSD_HXX #include <set> #include <vector> #include <cstdio> // std::remove -#include <cutl/shared-ptr.hxx> -#include <cutl/fs/auto-remove.hxx> +#include <libcutl/shared-ptr.hxx> +#include <libcutl/fs/auto-remove.hxx> -#include <xsd-frontend/semantic-graph/elements.hxx> // Path +#include <libxsd-frontend/semantic-graph/elements.hxx> // Path -#include <types.hxx> +#include <xsd/types.hxx> typedef std::set<NarrowString> WarningSet; typedef std::vector<NarrowString> FileList; @@ -22,4 +21,4 @@ typedef std::vector<NarrowString> FileList; typedef cutl::fs::auto_remove AutoUnlink; typedef cutl::fs::auto_removes AutoUnlinks; -#endif // XSD_HXX +#endif // XSD_XSD_HXX diff --git a/xsd/xsd/cxx/parser/attribute-validation-source.hxx b/xsd/xsd/cxx/parser/attribute-validation-source.hxx deleted file mode 100644 index 10438fd..0000000 --- a/xsd/xsd/cxx/parser/attribute-validation-source.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : xsd/cxx/parser/attribute-validation-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX -#define CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX - -#include <cxx/parser/elements.hxx> - -namespace CXX -{ - namespace Parser - { - void - generate_attribute_validation_source (Context&); - } -} - -#endif // CXX_PARSER_ATTRIBUTE_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/characters-validation-source.hxx b/xsd/xsd/cxx/parser/characters-validation-source.hxx deleted file mode 100644 index 219df3e..0000000 --- a/xsd/xsd/cxx/parser/characters-validation-source.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : xsd/cxx/parser/characters-validation-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX -#define CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX - -#include <cxx/parser/elements.hxx> - -namespace CXX -{ - namespace Parser - { - void - generate_characters_validation_source (Context&); - } -} - -#endif // CXX_PARSER_CHARACTERS_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/parser/element-validation-source.hxx b/xsd/xsd/cxx/parser/element-validation-source.hxx deleted file mode 100644 index b9bd70b..0000000 --- a/xsd/xsd/cxx/parser/element-validation-source.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : xsd/cxx/parser/element-validation-source.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX -#define CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX - -#include <cxx/parser/elements.hxx> - -namespace CXX -{ - namespace Parser - { - void - generate_element_validation_source (Context&); - } -} - -#endif // CXX_PARSER_ELEMENT_VALIDATION_SOURCE_HXX diff --git a/xsd/xsd/cxx/tree/stream-insertion-header.hxx b/xsd/xsd/cxx/tree/stream-insertion-header.hxx deleted file mode 100644 index 31b6328..0000000 --- a/xsd/xsd/cxx/tree/stream-insertion-header.hxx +++ /dev/null @@ -1,19 +0,0 @@ -// file : xsd/cxx/tree/stream-insertion-header.hxx -// copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef CXX_TREE_STREAM_INSERTION_HEADER_HXX -#define CXX_TREE_STREAM_INSERTION_HEADER_HXX - -#include <cxx/tree/elements.hxx> - -namespace CXX -{ - namespace Tree - { - void - generate_stream_insertion_header (Context&); - } -} - -#endif // CXX_TREE_STREAM_INSERTION_HEADER_HXX diff --git a/xsd/xsd/makefile b/xsd/xsd/makefile deleted file mode 100644 index d57022d..0000000 --- a/xsd/xsd/makefile +++ /dev/null @@ -1,191 +0,0 @@ -# file : xsd/makefile -# copyright : Copyright (c) 2005-2014 Code Synthesis Tools CC -# license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -include $(dir $(lastword $(MAKEFILE_LIST)))../build/bootstrap.make - -cxx_tun := xsd.cxx - -cxx_tun += cxx/elements.cxx \ - cxx/literal-map.cxx \ - cxx/option-types.cxx - -cxx_tun += cxx/parser/elements.cxx \ - cxx/parser/validator.cxx \ - cxx/parser/name-processor.cxx \ - cxx/parser/type-processor.cxx \ - cxx/parser/state-processor.cxx \ - cxx/parser/generator.cxx \ - cxx/parser/parser-header.cxx \ - cxx/parser/parser-inline.cxx \ - cxx/parser/parser-source.cxx \ - cxx/parser/parser-forward.cxx \ - cxx/parser/impl-header.cxx \ - cxx/parser/impl-source.cxx \ - cxx/parser/driver-source.cxx \ - cxx/parser/element-validation-source.cxx \ - cxx/parser/attribute-validation-source.cxx \ - cxx/parser/characters-validation-source.cxx - -cxx_tun += cxx/tree/elements.cxx \ - cxx/tree/validator.cxx \ - cxx/tree/counter.cxx \ - cxx/tree/name-processor.cxx \ - cxx/tree/order-processor.cxx \ - cxx/tree/polymorphism-processor.cxx \ - cxx/tree/default-value.cxx \ - cxx/tree/generator.cxx \ - cxx/tree/tree-forward.cxx \ - cxx/tree/tree-header.cxx \ - cxx/tree/tree-inline.cxx \ - cxx/tree/tree-source.cxx \ - cxx/tree/parser-header.cxx \ - cxx/tree/parser-source.cxx \ - cxx/tree/stream-header.cxx \ - cxx/tree/stream-source.cxx \ - cxx/tree/serialization-header.cxx \ - cxx/tree/serialization-source.cxx \ - cxx/tree/stream-insertion-header.cxx \ - cxx/tree/stream-insertion-source.cxx \ - cxx/tree/stream-extraction-source.cxx - - -# Type map. -# -cxx_tun += type-map/lexer.cxx \ - type-map/parser.cxx - -# Processing. -# -cxx_tun += processing/cardinality/processor.cxx \ - processing/inheritance/processor.cxx - -# Options file. -# -cli_tun := options.cli \ - cxx/options.cli \ - cxx/tree/options.cli \ - cxx/parser/options.cli - -cxx_obj := $(addprefix $(out_base)/,$(cxx_tun:.cxx=.o) $(cli_tun:.cli=.o)) -cxx_od := $(cxx_obj:.o=.o.d) - -xsd := $(out_base)/xsd -install := $(out_base)/.install -dist := $(out_base)/.dist -dist-win := $(out_base)/.dist-win -clean := $(out_base)/.clean - -# Import. -# -$(call import,\ - $(scf_root)/import/cli/stub.make,\ - cli: cli,cli-rules: cli_rules) - -$(call import,\ - $(scf_root)/import/libcutl/stub.make,\ - l: cutl.l,cpp-options: cutl.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libxsd-frontend/stub.make,\ - l: xsd_fe.l,cpp-options: xsd_fe.l.cpp-options) - -$(call import,\ - $(scf_root)/import/libxerces-c/stub.make,\ - l: xerces_c.l,cpp-options: xerces_c.l.cpp-options) - -# Build. -# -$(xsd): $(cxx_obj) $(xsd_fe.l) $(cutl.l) $(xerces_c.l) - -$(cxx_obj) $(cxx_od): cpp_options := -I$(out_base) -I$(src_base) -$(cxx_obj) $(cxx_od): \ - $(xsd_fe.l.cpp-options) \ - $(cutl.l.cpp-options) \ - $(xerces_c.l.cpp-options) - -genf := $(cli_tun:.cli=.hxx) $(cli_tun:.cli=.ixx) $(cli_tun:.cli=.cxx) -gen := $(addprefix $(out_base)/,$(genf)) - -# Don't depend on installed executable since it may not exist. -# -ifneq ($(cli),cli) -$(gen): $(cli) -endif -$(gen): cli := $(cli) -$(gen): cli_options += \ --I $(src_base) \ ---generate-specifier \ ---ostream-type ::std::wostream \ ---exclude-base \ ---suppress-undocumented \ ---generate-file-scanner \ ---include-with-brackets \ ---option-length 28 \ ---cxx-prologue '\#include <options-parser.hxx>' - -#--include-prefix xsd -#--guard-prefix XSD - -$(addprefix $(out_base)/cxx/options,.hxx .ixx .cxx): $(src_base)/options.cli -$(addprefix $(out_base)/cxx/options,.hxx .ixx .cxx): cli_options += \ ---include-prefix cxx --guard-prefix CXX - -$(addprefix $(out_base)/cxx/tree/options,.hxx .ixx .cxx): \ -$(src_base)/options.cli $(src_base)/cxx/options.cli -$(addprefix $(out_base)/cxx/tree/options,.hxx .ixx .cxx): cli_options += \ ---include-prefix cxx/tree --guard-prefix CXX_TREE - -$(addprefix $(out_base)/cxx/parser/options,.hxx .ixx .cxx): \ -$(src_base)/options.cli $(src_base)/cxx/options.cli -$(addprefix $(out_base)/cxx/parser/options,.hxx .ixx .cxx): cli_options += \ ---include-prefix cxx/parser --guard-prefix CXX_PARSER - -$(call include-dep,$(cxx_od),$(cxx_obj),$(gen)) - -# Alias for default target. -# -$(out_base)/: $(xsd) - -# Install -# -$(install): $(xsd) - $(call install-exec,$<,$(install_bin_dir)/xsd) - -# Dist. -# -$(dist): $(xsd) - $(call install-exec,$<,$(dist_prefix)/bin/xsd) - -$(dist-win): $(xsd) - $(call install-exec,$<,$(dist_prefix)/bin/xsd.exe) - -# Clean. -# -$(clean): \ - $(xsd).o.clean \ - $(addsuffix .cxx.clean,$(cxx_obj)) \ - $(addsuffix .cxx.clean,$(cxx_od)) - -ifneq ($(xsd_clean_gen),n) -$(clean): $(addprefix $(out_base)/,$(cli_tun:.cli=.cxx.cli.clean)) -endif - -# Generated .gitignore. -# -ifeq ($(out_base),$(src_base)) -$(xsd): | $(out_base)/.gitignore - -$(out_base)/.gitignore: files := xsd $(genf) -$(clean): $(out_base)/.gitignore.clean - -$(call include,$(bld_root)/git/gitignore.make) -endif - -# How to. -# -$(call include,$(cli_rules)) -$(call include,$(bld_root)/cxx/o-e.make) -$(call include,$(bld_root)/cxx/cxx-o.make) -$(call include,$(bld_root)/cxx/cxx-d.make) -$(call include,$(bld_root)/install.make) diff --git a/xsd/xsd/processing/cardinality/processor.hxx b/xsd/xsd/processing/cardinality/processor.hxx deleted file mode 100644 index 2b4ebe0..0000000 --- a/xsd/xsd/processing/cardinality/processor.hxx +++ /dev/null @@ -1,29 +0,0 @@ -// file : processing/cardinality/processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef PROCESSING_CARDINALITY_PROCESSOR_HXX -#define PROCESSING_CARDINALITY_PROCESSOR_HXX - -#include <xsd-frontend/semantic-graph/elements.hxx> // Path -#include <xsd-frontend/semantic-graph/schema.hxx> - -#include <types.hxx> - -namespace Processing -{ - namespace Cardinality - { - class Processor - { - public: - struct Failed {}; - - void - process (XSDFrontend::SemanticGraph::Schema&, - XSDFrontend::SemanticGraph::Path const& file); - }; - } -} - -#endif // PROCESSING_CARDINALITY_PROCESSOR_HXX diff --git a/xsd/xsd/processing/inheritance/processor.hxx b/xsd/xsd/processing/inheritance/processor.hxx deleted file mode 100644 index 46a33c7..0000000 --- a/xsd/xsd/processing/inheritance/processor.hxx +++ /dev/null @@ -1,29 +0,0 @@ -// file : processing/inheritance/processor.hxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -#ifndef PROCESSING_INHERITANCE_PROCESSOR_HXX -#define PROCESSING_INHERITANCE_PROCESSOR_HXX - -#include <xsd-frontend/semantic-graph/elements.hxx> // Path -#include <xsd-frontend/semantic-graph/schema.hxx> - -#include <types.hxx> - -namespace Processing -{ - namespace Inheritance - { - class Processor - { - public: - struct Failed {}; - - void - process (XSDFrontend::SemanticGraph::Schema&, - XSDFrontend::SemanticGraph::Path const& file); - }; - } -} - -#endif // PROCESSING_INHERITANCE_PROCESSOR_HXX |